Contact fields
const url = 'https://api.threadkite.app/v1/contact-fields?resource=contact&includeArchived=true';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/contact-fields?resource=contact&includeArchived=true' \ --header 'Authorization: Bearer <token>'Facts kept about contacts beyond name, email and phone: your industry pack’s fields first (read-only), then your own. Values are on each contact’s attributes, by key. Archived fields are left out unless includeArchived=true.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Contact fields (the default) or company fields
Contact fields (the default) or company fields
Include archived fields
Include archived fields
Responses
Section titled “Responses”object
Null for your industry pack’s fields, which every business like yours has
The key values are stored under in a contact’s attributes; never changes
contact (the default: values on contacts) or company (values on companies)
Values are text, numbers, dates (YYYY-MM-DD), true or false, or one of choices
The options of a choice field
organisation (yours), pack (your industry pack) or integration
Archived: values are kept but can no longer be set
Pack fields cannot be changed or archived
Example
[ { "key": "finance_end_date", "label": "Finance end date", "resource": "contact", "type": "text", "origin": "organisation" }]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}