Change an inbox's out-of-hours message, or turn it on or off
const url = 'https://api.threadkite.app/v1/inbox/settings/out-of-hours-reply';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"inboxId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","enabled":true,"body":"example","bodyHtml":"example","subject":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.threadkite.app/v1/inbox/settings/out-of-hours-reply \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "inboxId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "enabled": true, "body": "example", "bodyHtml": "example", "subject": "example" }'Publishes the wording on the inbox’s out-of-hours reply automation (for new leads, created the first time) and makes it live or pauses it. On every plan. Code advanced_out_of_hours (409) when the inbox has more than one out-of-hours reply, or one with conditions or for every inbox.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
The inbox to change (your default inbox when left out)
Send it (true) or not (false)
The message, with merge fields such as {{contact.firstName}}
The message formatted, as HTML with merge fields. When given, body is made from it; null removes the formatting
Email subject (left out: unchanged; null or empty: the usual reply subject)
Example generated
{ "inboxId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "enabled": true, "body": "example", "bodyHtml": "example", "subject": "example"}Responses
Section titled “Responses”object
The inbox it is for
False when the inbox has more than one out-of-hours reply, or one with conditions (sources, locations or channels): change those in Automations
Whether it is sent (the automation is live; when not simple, whether any of them is)
Email subject (null: the usual reply subject)
The message sent, with merge fields such as {{contact.firstName}}: the automation’s (or its saved reply’s), or the suggested wording when there is none yet
The message formatted, as HTML with merge fields; null when plain
New leads only, or every message from a contact
The out-of-hours reply automation (null before there is one)
The shared saved reply it sends, when it sends one rather than its own wording (null otherwise, or if the reply was deleted or made personal)
How many out-of-hours reply automations the inbox has
Example
{ "appliesTo": "leads", "autoReplyCount": 1}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" } ]}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}