Skip to content

Change the response target or what reopening does

PATCH
/v1/inbox/settings
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).

Media typeapplication/json
object
inboxId

The inbox to change (your default inbox when left out)

string format: uuid
responseTargetMinutes
number
Allowed values: 5 15 30 60 120 240 480
reopenAssignment

Part of rules and routing (Pro)

string
Allowed values: keep_owner apply_rules
newChapterAfterMonths

Start a new chapter when a customer writes this many months after their thread closed; null never does by time alone

integer
nullable >= 1 <= 60

Example

6
Media typeapplication/json
object
inboxId
required

The inbox these settings are for

string format: uuid
responseTargetMinutes
required

First-response target in business minutes (opening hours only)

number
Allowed values: 5 15 30 60 120 240 480
reopenAssignment
required

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

string
Allowed values: keep_owner apply_rules
newChapterAfterMonths
required

A customer writing this many months after their thread closed starts a new chapter (a new lead always does); null: never by time alone

integer
nullable >= -9007199254740991 <= 9007199254740991

Example

{
"responseTargetMinutes": 5,
"reopenAssignment": "keep_owner",
"newChapterAfterMonths": 6
}
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"
}
]
}

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"
}
]
}

Rules and routing are part of Pro (code upgrade_required, feature rules)

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"
}
]
}

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
}