Change the response target or what reopening does
const url = 'https://api.threadkite.app/v1/inbox/settings';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"inboxId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","responseTargetMinutes":5,"reopenAssignment":"keep_owner","newChapterAfterMonths":6}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.threadkite.app/v1/inbox/settings \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "inboxId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "responseTargetMinutes": 5, "reopenAssignment": "keep_owner", "newChapterAfterMonths": 6 }'The response target is on every plan; reopening is part of rules and routing (Pro).
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
The inbox to change (your default inbox when left out)
Part of rules and routing (Pro)
Start a new chapter when a customer writes this many months after their thread closed; null never does by time alone
Example
6Responses
Section titled “Responses”object
The inbox these settings are for
First-response target in business minutes (opening hours only)
A new chapter starting on a Done thread (a new lead, or a message long after it closed): keep the previous owner, or run the assignment rules again
A customer writing this many months after their thread closed starts a new chapter (a new lead always does); null: never by time alone
Example
{ "responseTargetMinutes": 5, "reopenAssignment": "keep_owner", "newChapterAfterMonths": 6}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" } ]}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" } ]}Rules and routing are part of Pro (code upgrade_required, feature rules)
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}