Skip to content

Fetch an enrollment (step pointer, created orders, next action)

GET
/v1/enrollments/{enrollment_id}
curl https://api.pacepayments.ai/v1/enrollments/enr_01J40H7S \
--header 'Authorization: Bearer <token>'
enrollment_id
required
Enrollment Id
string

Successful Response

Media typeapplication/json
Enrollment
object
id
required
Id
string
sequence_id
required
Sequence Id
string
sequence_key
required
Sequence Key
string
sequence_version
required
Sequence Version

Pinned at enrollment; never changes. Activating a new version leaves running enrollments untouched.

integer
>= 1
status
required
Status
string
Allowed values: active paused completed exited canceled failed
exit_reason
Any of:
string
subject_reference
required
Subject Reference
string
triggered_by_signal_id
Any of:
string
current_step_id
Any of:
string
next_action_at
Any of:
string format: date-time
call_order_ids
Call Order Ids

The orders this ladder created - oldest first. Retrievable via GET /v1/call-orders?enrollment_id=….

Array<string>
metadata
Any of:

Your own opaque key-value pairs; mirrored on resources and in every event. CONTRACTUALLY free of personal data - Pace does not inspect the values. Whatever you put here falls outside the deletion and retention machinery that protects the rest of the order.

object
key
additional properties
any
created_at
required
Created At
string format: date-time
ended_at
Any of:
string format: date-time
Example
{
"id": "enr_01J40H7S",
"status": "active",
"metadata": {
"campaign": "q3-onboarding",
"cost_center": "77"
}
}

No valid access token. Client action: request a new token from the token endpoint and retry once. Repeated 401 with a fresh token means the client registration is disabled - contact Pace, do not retry in a loop.

Media typeapplication/problem+json
Problem
object
type
required
Type
string
title
required
Title
string
status
required
Status
integer
code
required
Code
string
detail
Any of:
string
instance
Any of:
string
trace_id
Any of:
string
errors
Any of:
Array<object>
FieldError
object
pointer
required
Pointer

RFC 6901 pointer to the offending field in the request body. Errors outside the body carry their source as the first segment (e.g. /query/limit).

string
code
required
Code

Stable field error code (open registry).

string
message
Any of:
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"trace_id": "example",
"errors": [
{
"pointer": "example",
"code": "example",
"message": "example"
}
]
}

Authenticated but not permitted. insufficient_scope names the missing scope in detail; feature_not_enabled means the tenant lacks the feature; ip_not_allowlisted means the source IP is not on the client registration’s allowlist; simulate_not_allowed means a sandbox-only simulate block was sent to the live host. None of these are retryable.

Media typeapplication/problem+json
Problem
object
type
required
Type
string
title
required
Title
string
status
required
Status
integer
code
required
Code
string
detail
Any of:
string
instance
Any of:
string
trace_id
Any of:
string
errors
Any of:
Array<object>
FieldError
object
pointer
required
Pointer

RFC 6901 pointer to the offending field in the request body. Errors outside the body carry their source as the first segment (e.g. /query/limit).

string
code
required
Code

Stable field error code (open registry).

string
message
Any of:
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"trace_id": "example",
"errors": [
{
"pointer": "example",
"code": "example",
"message": "example"
}
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}

HTTP rate limit (rate_limited) or execution capacity refusal (quota_exceeded, backlog_full) - two distinct layers. Wait for Retry-After, then retry the identical request with the same Idempotency-Key. backlog_full will not clear in seconds; back off to minutes.

Media typeapplication/problem+json
Problem
object
type
required
Type
string
title
required
Title
string
status
required
Status
integer
code
required
Code
string
detail
Any of:
string
instance
Any of:
string
trace_id
Any of:
string
errors
Any of:
Array<object>
FieldError
object
pointer
required
Pointer

RFC 6901 pointer to the offending field in the request body. Errors outside the body carry their source as the first segment (e.g. /query/limit).

string
code
required
Code

Stable field error code (open registry).

string
message
Any of:
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"trace_id": "example",
"errors": [
{
"pointer": "example",
"code": "example",
"message": "example"
}
]
}
Retry-After
integer

Seconds until the next attempt is permitted.

RateLimit-Limit
integer
RateLimit-Remaining
integer
RateLimit-Reset
integer

Error (RFC 9457). Branch on code, never on title or detail.

Media typeapplication/problem+json
Problem
object
type
required
Type
string
title
required
Title
string
status
required
Status
integer
code
required
Code
string
detail
Any of:
string
instance
Any of:
string
trace_id
Any of:
string
errors
Any of:
Array<object>
FieldError
object
pointer
required
Pointer

RFC 6901 pointer to the offending field in the request body. Errors outside the body carry their source as the first segment (e.g. /query/limit).

string
code
required
Code

Stable field error code (open registry).

string
message
Any of:
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"trace_id": "example",
"errors": [
{
"pointer": "example",
"code": "example",
"message": "example"
}
]
}