Skip to content

Email a business's owner or admin a link to connect the app

POST
/v1/app/connect-invitations
curl --request POST \
--url https://api.threadkite.app/v1/app/connect-invitations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "email": "hello@example.com", "message": "example", "ref": "customer-4821" }'

The answer is always the same, so it says nothing about who uses Threadkite. We email only an owner’s or admin’s address, at most once an hour and three times a day per address, and up to a daily number per app. You hear of each connection by the app_installation.created webhook.

Media typeapplication/json
object
email
required

An owner’s or admin’s email address at the business

string format: email
message

A short note shown in the email

string
<= 500 characters
ref

Your own value, passed on to your start URL as ref when they connect

string
<= 200 characters

Example

customer-4821
Media typeapplication/json
object
accepted
required

The same answer whether or not an email was sent, so it says nothing about who uses Threadkite. You hear of each connection by the app_installation.created webhook.

boolean

Example

{
"accepted": true
}

Missing or invalid app token (code invalid_app_token)

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
}