Thread and unread counts per folder, and per inbox
const url = 'https://api.threadkite.app/v1/threads/counts';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.threadkite.app/v1/threads/counts \ --header 'Authorization: Bearer <token>'Folder counts for every inbox you can see, or for one with inboxId; inboxes has the open and unread threads in each inbox you can see.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Count the folders of one inbox (every inbox you can see when left out)
Count the folders of one inbox (every inbox you can see when left out)
Responses
Section titled “Responses”object
object
Null for API keys
Threads in the folder waiting on a reply from the team
Threads in the folder waiting on the team past their reply target (firstResponseDueAt)
Each inbox you can see (default first), whatever inboxId asked for
object
Open threads unread by you (null for API keys)
Example
{ "folders": [ { "folder": "mine", "total": 12, "unread": 3, "waitingOnUs": 4, "overdue": 1 } ], "inboxes": [ { "name": "Leeds Sales", "open": 12, "unread": 3 } ]}Missing or invalid API key
object
Stable machine-readable reason
With code invalid: every problem with the request, by field (message is the first)
object
Dotted path inside the item, e.g. attributes.price.amountMinor
Example
{ "statusCode": 403, "code": "forbidden", "message": "You do not have permission to do that.", "errors": [ { "message": "Enter the make" } ]}The organisation is on the Free plan (code upgrade_required)
object
Stable machine-readable reason
The feature that needs Pro
Where to upgrade or pay, in the web app
Example
{ "statusCode": 402, "code": "upgrade_required", "message": "Connections are part of Pro. Upgrade to connect texts, calls and more.", "feature": "extraSeats", "upgradePath": "/settings/billing"}The key does not have the scope (or the person the permission)
object
Stable machine-readable reason
With code invalid: every problem with the request, by field (message is the first)
object
Dotted path inside the item, e.g. attributes.price.amountMinor
Example
{ "statusCode": 403, "code": "forbidden", "message": "You do not have permission to do that.", "errors": [ { "message": "Enter the make" } ]}object
Stable machine-readable reason
With code invalid: every problem with the request, by field (message is the first)
object
Dotted path inside the item, e.g. attributes.price.amountMinor
Example
{ "statusCode": 403, "code": "forbidden", "message": "You do not have permission to do that.", "errors": [ { "message": "Enter the make" } ]}Rate limit reached
object
Stable machine-readable reason
Seconds until another request will be accepted
Example
{ "statusCode": 429, "code": "rate_limited", "message": "Too many requests. Each key can make 120 requests a minute; try again in 12 seconds.", "retryAfter": 12}