What an inbox's list layout can hold
const url = 'https://api.threadkite.app/v1/inboxes/list-fields';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/inboxes/list-fields \ --header 'Authorization: Bearer <token>'The thread details, item fields and item filters an inbox’s listLayout can name in your organisation, with labels in your industry’s words. Item filters are what GET /v1/threads?item= takes.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”object
object
object
object
values: some of the values the items have (GET /v1/threads/item-filter-values); range: a lowest and highest number
A choice attribute’s values with their labels, to show a chosen value by its label; null for other filters
object
Example
{ "details": [ { "key": "stage", "label": "Stage" } ], "itemFields": [ { "key": "attributes.colour", "label": "Colour" } ], "itemFilters": [ { "key": "colour", "label": "Colour", "kind": "values" } ]}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" } ]}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}