Skip to content
Customers

List setup links for a customer

GET
/customers/{id}/setup_links
const url = 'https://api.kirimdev.com/v1/customers/example/setup_links?status=active';
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);
}

Returns up to the 50 most-recent setup links — token plaintext is NEVER returned here (only at create time). Optional status query filters to active / consumed / expired / revoked.

id
required
string
/^cus_[0-9A-HJKMNP-TV-Z]{26}$/
status
string
Allowed values: active consumed expired revoked

Setup link list

Media type application/json
object
data
required
Array<object>
object
id
required
string
object
required
string
Allowed values: customer_setup_link
customer_id
required
string
status
required
string
Allowed values: active consumed expired revoked
token_last4
required
string
expires_at
required
string format: date-time
consumed_at
required
string | null format: date-time
success_redirect_url
required

Where the tenant is redirected after successful Embedded Signup. We append ?customer_id=&account_id=&status=success on the redirect.

string | null format: uri
failure_redirect_url
required

Where the tenant is redirected on failure (link error, Meta signup cancelled, etc.). We append ?customer_id=&status=failed&reason=<code>.

string | null format: uri
created_at
required
string format: date-time
has_more
required
boolean
next_cursor
required
string | null
request_id
required
string
Example
{
"data": [
{
"id": "csl_01HXYZABCDEFGHJKMNPQRSTVWX",
"object": "customer_setup_link",
"status": "active"
}
]
}

Validation failure

Media type application/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error api_error
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Authentication failure

Media type application/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error api_error
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Billing / entitlement gate — subscription inactive, quota exceeded, or plan tier missing a feature (feature_not_entitled). Upgrade to continue.

Media type application/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error api_error
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Resource not found

Media type application/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error api_error
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Rate limit exceeded

Media type application/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error api_error
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Internal server error

Media type application/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error api_error
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}