Own configuration snapshot
curl https://api.pacepayments.ai/v1/tenant \ --header 'Authorization: Bearer <token>'requests.get("https://api.pacepayments.ai/v1/tenant", headers={ "Authorization": "Bearer <token>" })fetch('https://api.pacepayments.ai/v1/tenant', { headers: { Authorization: 'Bearer <token>' }})using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.pacepayments.ai/v1/tenant");request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "<token>");
using var response = await client.SendAsync(request);$ch = curl_init("https://api.pacepayments.ai/v1/tenant");
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer <token>']);
curl_exec($ch);
curl_close($ch);package main
import ( "fmt" "io" "net/http")
func main() { requestUrl := "https://api.pacepayments.ai/v1/tenant"
req, _ := http.NewRequest("GET", requestUrl, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder() .url("https://api.pacepayments.ai/v1/tenant") .get() .addHeader("Authorization", "Bearer <token>") .build();
Response response = client.newCall(request).execute();Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Successful Response
Your own configuration - read-only.
Capacity limits start deliberately conservative and are raised after the first supervised campaign. Read them here at RUNTIME rather than hard-coding them in your own system.
object
Check this against event.environment BEFORE processing a webhook - never mix the two streams.
Examplegenerated
{ "tenant_id": "example", "name": "example", "environment": "example", "default_locale": "example", "verification_mode": "example", "calling_hours": {}, "quotas": { "max_concurrent_calls": 1, "max_dials_per_day": 1, "max_contacts_per_subject_per_day": 1 }, "retention": { "transcript_mode": "example", "transcript_retention": "example", "recording_retention": "example", "result_months": 1 }, "features": { "recording_enabled": true, "sequences_enabled": true }, "webhook_egress_ips": [ "example" ]}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.
object
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.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "code": "example", "detail": "example", "instance": "example", "trace_id": "example", "errors": [ { "pointer": "example", "code": "example", "message": "example" } ]}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.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "code": "example", "detail": "example", "instance": "example", "trace_id": "example", "errors": [ { "pointer": "example", "code": "example", "message": "example" } ]}Headers
Section titled “Headers”Seconds until the next attempt is permitted.
default
Section titled “default”Error (RFC 9457). Branch on code, never on title or detail.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "code": "example", "detail": "example", "instance": "example", "trace_id": "example", "errors": [ { "pointer": "example", "code": "example", "message": "example" } ]}