Skip to content

Kinds of thing contacts own

GET
/v1/contact-item-types
curl --request GET \
--url https://api.threadkite.app/v1/contact-item-types \
--header 'Authorization: Bearer <token>'

From your industry pack (for car dealers, owned_vehicle: the vehicles customers drive), with each attribute’s label and kind for forms, and the events that set them.

Media typeapplication/json
Array<object>
object
id
required
string
singular
required
string
plural
required
string
fields
required
Array<object>
object
key
required
string
label
required
string
kind
required
string
Allowed values: text longText integer money enum url urlList date measure quotedText
group
required
string
help
required
string
nullable
options
required
Array<object>
object
value
required
string
label
required
string
oneOf
required

Instead of “(optional)”, e.g. “SKU or serial number needed”

string
nullable
events
required

Events that add or update these items, from your systems

Array<string>

Example

[
{
"id": "owned_product",
"singular": "product",
"plural": "products",
"fields": [
{
"key": "warrantyEndDate",
"label": "Warranty ends",
"kind": "text",
"group": "Warranty"
}
],
"events": [
"order.paid",
"order.delivered",
"warranty.registered"
]
}
]

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

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
}