Skip to content

Thread and unread counts per folder, and per inbox

GET
/v1/threads/counts
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.

inboxId

Count the folders of one inbox (every inbox you can see when left out)

string format: uuid

Count the folders of one inbox (every inbox you can see when left out)

Media typeapplication/json
object
folders
required
Array<object>
object
folder
required
string
Allowed values: mine unassigned waiting open snoozed done spam visitors
total
required
number
unread
required

Null for API keys

number
nullable
waitingOnUs
required

Threads in the folder waiting on a reply from the team

number
overdue
required

Threads in the folder waiting on the team past their reply target (firstResponseDueAt)

number
inboxes
required

Each inbox you can see (default first), whatever inboxId asked for

Array<object>
object
inboxId
required
string format: uuid
name
required
string
open
required
number
unread
required

Open threads unread by you (null for API keys)

number
nullable

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

Media typeapplication/json
object
statusCode
required
number
code
required

Stable machine-readable reason

string
message
required
string
errors

With code invalid: every problem with the request, by field (message is the first)

Array<object>
object
path
required

Dotted path inside the item, e.g. attributes.price.amountMinor

string
message
required
string

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)

Media typeapplication/json
object
statusCode
required
number
code
required

Stable machine-readable reason

string
message
required
string
feature
required

The feature that needs Pro

string
nullable
Allowed values: extraSeats connections aiAssistant aiReplies rules fullReports api inboxes bulkMessages videoMessages
upgradePath
required

Where to upgrade or pay, in the web app

string

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)

Media typeapplication/json
object
statusCode
required
number
code
required

Stable machine-readable reason

string
message
required
string
errors

With code invalid: every problem with the request, by field (message is the first)

Array<object>
object
path
required

Dotted path inside the item, e.g. attributes.price.amountMinor

string
message
required
string

Example

{
"statusCode": 403,
"code": "forbidden",
"message": "You do not have permission to do that.",
"errors": [
{
"message": "Enter the make"
}
]
}
Media typeapplication/json
object
statusCode
required
number
code
required

Stable machine-readable reason

string
message
required
string
errors

With code invalid: every problem with the request, by field (message is the first)

Array<object>
object
path
required

Dotted path inside the item, e.g. attributes.price.amountMinor

string
message
required
string

Example

{
"statusCode": 403,
"code": "forbidden",
"message": "You do not have permission to do that.",
"errors": [
{
"message": "Enter the make"
}
]
}

Rate limit reached

Media typeapplication/json
object
statusCode
required
number
code
required

Stable machine-readable reason

string
message
required
string
retryAfter
required

Seconds until another request will be accepted

number

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
}