API REFERENCE · Usage

Read period allowance, used subjects and pending reservations

Complete request parameters, body fields, response formats, examples, and errors for GET /usage.

Base URL: https://www.sanctionskit.com/api/v1. Documentation examples are saved and require no API key to read.

All endpoints and schemas
GET/usageRead period allowance, used subjects and pending reservations

Authentication: Authorization: Bearer YOUR_API_KEY (required). Use a server-side key for the intended environment and scopes.

Required API key scope: usage:read.

Request parameters

Path parameters
None.
Query parameters
None.
JSON body fields
None.

This operation has no request body.

Request body

This operation has no request body.

Responses

200Successful response. JSON object with the required data key. All properties marked required are present, including keys whose value may be null. Unmarked properties can be omitted; clients should tolerate additional response properties.

Response headers

X-Request-Id
string

Server-generated request correlation identifier.

Format: uuid.

application/json

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

dataRequired
objectView Usage schema
data fields and rules
data.environmentRequired
string

Values: "sandbox", "production".

data.periodRequired
string
data.usedRequired
integer

Minimum: 0.

data.reservedRequired
integer

Minimum: 0.

data.limitRequired
integer

Minimum: 0.

data.planLimitRequired
integer

Minimum: 0.

data.spendingCapRequired
integer

Minimum: 0.

data.effectiveLimitRequired
integer

Minimum: 0.

data.remainingRequired
integer

Minimum: 0.

data.planRequired
string
data.eventsRequired
object[]
data.events item fields

Each array item: object.

data.events[].kindRequired
string
data.events[].subjectsRequired
integer

Minimum: 0.

data.fileStorageRequired
objectView FileStorage schema
data.fileStorage fields and rules
data.fileStorage.planRequired
string
data.fileStorage.maxBytesRequired
integer

Minimum: 0.

data.fileStorage.usedBytesRequired
integer

Minimum: 0.

data.fileStorage.reservedBytesRequired
integer

Minimum: 0.

data.fileStorage.remainingBytesRequired
integer

Minimum: 0.

data.fileStorage.sandboxRequired
object
data.fileStorage.sandbox fields and rules
data.fileStorage.sandbox.maxBytesRequired
integer

Minimum: 0.

data.fileStorage.sandbox.usedBytesRequired
integer

Minimum: 0.

data.fileStorage.sandbox.reservedBytesRequired
integer

Minimum: 0.

data.fileStorage.sandbox.remainingBytesRequired
integer

Minimum: 0.

data.fileStorage.maxBatchUploadBytesRequired
integer

Minimum: 0.

data.fileStorage.maxEvidenceAttachmentBytesRequired
integer

Minimum: 0.

data.monitoringForecastRequired
MonitoringForecast or null

May be null.

data.monitoringForecast fields and rules

Allowed alternatives

data.forecastUnavailableRequired
string or null

May be null.

data.forecastUnavailable fields and rules

Allowed alternatives

  • string
  • null

    May be null.

Example response

Recorded from the real application handler against an isolated synthetic database. IDs, times and nonfunctional temporary secrets are normalized. No customer data or live provider request.

{
  "data": {
    "environment": "production",
    "period": "2026-09",
    "used": 0,
    "reserved": 0,
    "limit": 0,
    "planLimit": 0,
    "spendingCap": 0,
    "effectiveLimit": 0,
    "remaining": 0,
    "plan": "inactive",
    "events": [],
    "fileStorage": {
      "plan": "sandbox",
      "maxBytes": 104857600,
      "usedBytes": 0,
      "reservedBytes": 0,
      "remainingBytes": 104857600,
      "sandbox": {
        "maxBytes": 104857600,
        "usedBytes": 0,
        "reservedBytes": 0,
        "remainingBytes": 104857600
      },
      "maxBatchUploadBytes": 26214400,
      "maxEvidenceAttachmentBytes": 200000
    },
    "monitoringForecast": null,
    "forecastUnavailable": "subscription_required"
  }
}
Synthetic sandbox usage is not billed

Recorded from the real application handler against an isolated synthetic database. IDs, times and nonfunctional temporary secrets are normalized. No customer data or live provider request.

{
  "data": {
    "environment": "sandbox",
    "period": "2026-09",
    "used": 3,
    "reserved": 0,
    "limit": 100,
    "planLimit": 100,
    "spendingCap": 0,
    "effectiveLimit": 100,
    "remaining": 97,
    "plan": "sandbox",
    "events": [
      {
        "kind": "screening",
        "subjects": 3
      }
    ],
    "fileStorage": {
      "plan": "sandbox",
      "maxBytes": 104857600,
      "usedBytes": 0,
      "reservedBytes": 0,
      "remainingBytes": 104857600,
      "sandbox": {
        "maxBytes": 104857600,
        "usedBytes": 0,
        "reservedBytes": 0,
        "remainingBytes": 104857600
      },
      "maxBatchUploadBytes": 26214400,
      "maxEvidenceAttachmentBytes": 200000
    },
    "monitoringForecast": {
      "generatedAt": "2026-09-17T12:00:00.000Z",
      "periodEnd": "2026-09-17T12:00:00.000Z",
      "dailyScreenings": 0,
      "projectedRemainingScreenings": 14,
      "effectiveLimit": 100,
      "used": 3,
      "reserved": 0,
      "remaining": 97,
      "projectedExhaustionAt": null
    },
    "forecastUnavailable": null
  }
}
400invalid_request — Correct the request fields, resource identifiers, JSON body or query parameters before retrying.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Correct the request fields, resource identifiers, JSON body or query parameters before retrying.

{
  "error": {
    "code": "invalid_request",
    "message": "The request is invalid.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
401authentication_required — Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key. invalid_api_key — Use an active key for the intended environment.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

WWW-Authenticate
string

Bearer authentication challenge.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key.

{
  "error": {
    "code": "authentication_required",
    "message": "Sign in to continue.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
invalid api key

Synthetic error example. Use an active key for the intended environment.

{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key is invalid, expired, or revoked.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
402subscription_required — Use the synthetic sandbox or arrange an active production subscription before retrying.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Use the synthetic sandbox or arrange an active production subscription before retrying.

{
  "error": {
    "code": "subscription_required",
    "message": "An active subscription is required for production screening.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
403permission_denied — Ask an organization owner to grant the required role or API-key scope. insufficient_scope — Use a key with the scope stated in this operation.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Ask an organization owner to grant the required role or API-key scope.

{
  "error": {
    "code": "permission_denied",
    "message": "Your role does not allow this action.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
insufficient scope

Synthetic error example. Use a key with the scope stated in this operation.

{
  "error": {
    "code": "insufficient_scope",
    "message": "The API key does not grant this action.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
405method_not_allowed — Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

Allow
string

Comma-separated supported HTTP methods.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.

{
  "error": {
    "code": "method_not_allowed",
    "message": "This method is not supported for this endpoint.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
413response_too_large — Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated.

{
  "error": {
    "code": "response_too_large",
    "message": "This response exceeds the size limit. Request a smaller page or a segmented export.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
429rate_limited — Wait for the request window to reset and retry with backoff.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

Retry-After
string

When present, a delay in seconds or an HTTP-date before which the client should not retry. Service-unavailable responses default to a one-second delay unless another safe value is supplied. A usage allowance error may require quota recovery instead of retrying.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Wait for the request window to reset and retry with backoff.

{
  "error": {
    "code": "rate_limited",
    "message": "The per-minute request limit has been reached.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
500internal_error — Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.

{
  "error": {
    "code": "internal_error",
    "message": "The request could not be completed.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}
503temporarily_unavailable — Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.

Response headers

X-Request-Id
string

Server-generated correlation identifier, also returned in error.requestId.

Format: uuid.

Retry-After
string

When present, a delay in seconds or an HTTP-date before which the client should not retry. Service-unavailable responses default to a one-second delay unless another safe value is supplied. A usage allowance error may require quota recovery instead of retrying.

application/jsonView Error schema

Response fields

Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.

Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.

errorRequired
object
error fields and rules
error.codeRequired
string

Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.

error.messageRequired
string

Human-readable explanation. Do not parse this text to control application behavior.

error.requestIdRequired
string

Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.

Format: uuid.

error.detailsOptional
object[] or object or string or number or boolean or null

Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.

error.details fields and rules

Allowed alternatives

  • object[]

    Maximum items: 50.

    Each array item: object.

    error.details[].pathRequired
    string

    Dot-separated invalid field path, including array indexes.

    Maximum length: 160.

    error.details[].messageRequired
    string

    Validation problem for this field.

    Maximum length: 300.

  • object

    Additional keys are allowed; their values are not a fixed contract.

  • string or number or boolean or null

    May be null.

error.detailsTruncatedOptional
boolean

True when only the first 50 validation issues are returned. Validation paths and messages are bounded.

Example response

Synthetic error example. Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.

{
  "error": {
    "code": "temporarily_unavailable",
    "message": "The service is temporarily unavailable. Retry shortly.",
    "requestId": "01234567-89ab-4cde-8f01-23456789abcd"
  }
}

Back to request parameters