Skip to content

Automations

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

Your automations (in inboxes you can see), newest first, with their status, how many contacts are in them and how many started this week.

Media typeapplication/json
Array<object>
object
id
required
string format: uuid
name
required
string
description
required
string
nullable
status
required

draft (never published), live (on) or paused

string
Allowed values: draft live paused
recipeKey
required
string
nullable
Allowed values: out_of_hours_reply new_lead_follow_up appointment_no_show quiet_lead ai_responder finance_ending positive_equity in_for_service mot_due bought_elsewhere
inbox
required
One of:
object
id
required
string format: uuid
name
required
string
trigger
required
One of:
object
type
required
string
Allowed values: event date manual
events
required

The events it starts on (any of them), for event triggers; empty otherwise

Array<string>
version
required

The published version number

number
nullable
hasDraft
required

There are unpublished changes

boolean
activeRuns
required

Contacts in it now (waiting or running)

number
runsThisWeek
required

Contacts who started it in the last 7 days

number
allowedOnPlan
required

Your plan lets it be switched on (Free: only the out-of-hours reply, with only its wording changed)

boolean
createdAt
required
string format: date-time
updatedAt
required
string format: date-time

Example

[
{
"status": "draft",
"recipeKey": "out_of_hours_reply",
"inbox": {
"name": "Sales"
},
"trigger": {
"type": "event",
"events": [
"lead.created"
]
}
}
]

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