curl --request GET \
--url https://prod.featherhq.com/api/v1/threads \
--header 'X-API-Key: <api-key>'{
"threads": [
{
"id": "<string>",
"organizationId": "<string>",
"agentVersionId": "<string>",
"toPhoneNumber": "<string>",
"fromPhoneNumber": "<string>",
"fromPhoneNumberId": "<string>",
"leadId": "<string>",
"isActive": true,
"createdAt": "<string>",
"updatedAt": "<string>",
"closedAt": "<string>",
"closedReason": "<string>",
"agentId": "<string>",
"agentName": "<string>",
"agentDetails": {
"id": "<string>",
"name": "<string>",
"description": "<string>",
"agentType": "CALL"
},
"agentVersionDetails": {
"id": "<string>",
"version": 123,
"mode": "FLOW",
"smsMaxTokens": 123,
"smsTemperature": 123
},
"metadata": {},
"variables": {}
}
],
"pagination": {
"limit": 10,
"nextCursor": "<string>"
}
}List SMS threads with cursor-based pagination and optional filters
curl --request GET \
--url https://prod.featherhq.com/api/v1/threads \
--header 'X-API-Key: <api-key>'{
"threads": [
{
"id": "<string>",
"organizationId": "<string>",
"agentVersionId": "<string>",
"toPhoneNumber": "<string>",
"fromPhoneNumber": "<string>",
"fromPhoneNumberId": "<string>",
"leadId": "<string>",
"isActive": true,
"createdAt": "<string>",
"updatedAt": "<string>",
"closedAt": "<string>",
"closedReason": "<string>",
"agentId": "<string>",
"agentName": "<string>",
"agentDetails": {
"id": "<string>",
"name": "<string>",
"description": "<string>",
"agentType": "CALL"
},
"agentVersionDetails": {
"id": "<string>",
"version": 123,
"mode": "FLOW",
"smsMaxTokens": 123,
"smsTemperature": 123
},
"metadata": {},
"variables": {}
}
],
"pagination": {
"limit": 10,
"nextCursor": "<string>"
}
}Number of items per page (default: 10, max: 100)
Cursor for pagination (ID of the last item in previous page)
Filter by agent ID
Filter by recipient phone number
Filter by active status
Filter by chat ended reason
OPTED_OUT, DNC, FRAUD, CONTACT_AGAIN, WRONG_NUMBER, NOT_INTERESTED, APPOINTMENT_BOOKED, ENDED, WORKFLOW_ONE_OFF_TEXT