[{"data":1,"prerenderedAt":31},["ShallowReactive",2],{"docs:rendered-article:\u002Fdocs\u002Fpublic\u002Fapi-reference":3},{"path":4,"slug":5,"title":7,"description":8,"category":9,"categoryLabel":10,"order":11,"status":12,"family":12,"subfamily":12,"content":13,"html":14,"examplesHtml":15,"excerpt":16,"readTimeMinutes":17,"headings":18,"examplesHeadings":29,"lastUpdated":12,"endpointId":12,"requiredFlag":12,"relatedArticlePaths":30,"badge":12},"\u002Fdocs\u002Fapi-reference",[6],"api-reference","API reference","Common response structure, shared types, and error codes for all endpoints.","introduction","Introduction",30,null,"\nEvery endpoint returns a consistent JSON structure. This page documents the shared envelope, types, and error codes that apply across all endpoints.\n\n## Response envelope\n\nEvery response uses a consistent JSON envelope with five top-level fields:\n\n::: object Response\n| Field      | Type            | Description                                      |\n| ---------- | --------------- | ------------------------------------------------ |\n| `success`  | boolean         | `true` if the request was processed successfully |\n| `data`     | object \\| null  | The endpoint-specific result payload (`null` on error or when no data is returned) |\n\n::: object error\n| Field      | Type              | Description                                  |\n| ---------- | ----------------- | -------------------------------------------- |\n| `code`     | string            | Machine-readable error code (e.g. `API_KEY_MISSING`, `VALIDATION_ERROR`) |\n| `message`  | string            | Human-readable error description             |\n| `details`  | object            | Additional context (only present on some errors) |\n\n`null` when `success` is `true`.\n\n> [!TIP]\n> Include `metadata.requestId` from error responses when contacting support -- it speeds up troubleshooting.\n:::\n\n::: object quotas\n| Field              | Type   | Description                                  |\n| ------------------ | ------ | -------------------------------------------- |\n| `creditsConsumed`  | number | Credits used for this request after pricing resolution |\n\n::: object workspace\n| Field                 | Type           | Description                                             |\n| --------------------- | -------------- | ------------------------------------------------------- |\n| `id`                  | string         | Your workspace identifier                               |\n| `hasUnlimitedCredits` | boolean        | Whether workspace credits are unlimited                 |\n| `allowDailyOvercost`  | boolean        | Whether the workspace may exceed its daily cap (Enterprise only) |\n\n::: object credits\n| Field   | Type   | Description              |\n| ------- | ------ | ------------------------ |\n| `total` | number | Total credits in your plan |\n| `used`  | number | Credits consumed so far  |\n| `left`  | number | Remaining credits        |\n:::\n\n::: object dailyLimit\n| Field       | Type           | Description                              |\n| ----------- | -------------- | ---------------------------------------- |\n| `limit`     | number         | Maximum requests per day                 |\n| `used`      | number         | Requests made today                      |\n| `left`      | number         | Remaining requests today                 |\n| `nextReset` | string \\| null | When the daily window resets (ISO 8601)  |\n\n`null` when no daily limit is configured.\n:::\n\n::: object minuteRateLimit\n| Field       | Type           | Description                              |\n| ----------- | -------------- | ---------------------------------------- |\n| `limit`     | number         | Maximum requests per minute              |\n| `used`      | number         | Requests made in the current minute      |\n| `left`      | number         | Remaining requests in the current minute |\n| `nextReset` | string \\| null | When the minute window resets (ISO 8601) |\n:::\n\n:::\n\n::: object key\n| Field             | Type           | Description                                             |\n| ----------------- | -------------- | ------------------------------------------------------- |\n| `id`              | string         | API key identifier                                      |\n\n::: object dailyLimit\n| Field       | Type           | Description                              |\n| ----------- | -------------- | ---------------------------------------- |\n| `limit`     | number         | Maximum requests per day                 |\n| `used`      | number         | Requests made today                      |\n| `left`      | number         | Remaining requests today                 |\n| `nextReset` | string \\| null | When the daily window resets (ISO 8601)  |\n\n`null` when no daily limit is configured.\n:::\n\n::: object minuteRateLimit\n| Field       | Type           | Description                                |\n| ----------- | -------------- | ------------------------------------------ |\n| `limit`     | number         | Maximum requests per minute                |\n| `used`      | number         | Requests made in the current minute        |\n| `left`      | number         | Remaining requests in the current minute   |\n| `nextReset` | string \\| null | When the minute window resets (ISO 8601)   |\n:::\n\nThe `key` field is `null` when the request is made from the dashboard (no API key).\n:::\n\nWhen authentication or quota context is unavailable (e.g. invalid API key), `quotas` may be omitted.\n:::\n\n::: object metadata\n| Field             | Type            | Description                                                                 |\n| ----------------- | --------------- | --------------------------------------------------------------------------- |\n| `requestId`       | string          | Unique identifier for this request (useful for support inquiries)           |\n| `executionTimeMs` | number          | Total execution time in milliseconds                                        |\n| `updatedAt`       | string          | Last upstream update timestamp (ISO 8601). Present only when available.     |\n:::\n\n:::\n\n## Shared types\n\nSome types are reused across multiple endpoints. They are documented here once to avoid repetition -- individual endpoint pages reference them by name.\n\n::: object DateRange\n| Field   | Type           | Description                  |\n| ------- | -------------- | ---------------------------- |\n| `start` | string \\| null | Start date (ISO 8601)        |\n| `end`   | string \\| null | End date (ISO 8601, null if current) |\n:::\n\n## Error codes\n\n| Status  | Description                                                      |\n| ------- | ---------------------------------------------------------------- |\n| `400`   | Invalid JSON body or endpoint-specific business validation       |\n| `401`   | Missing or invalid API key                                       |\n| `402`   | No credits left, purchase more to continue. The free \u002Fcheck endpoints return `NO_CREDITS` |\n| `404`   | Data not found                                      |\n| `422`   | Schema or validation error, disposable email domain, or missing webhook URL on async endpoints |\n| `429`   | Rate limit exceeded , wait and retry after `nextReset`           |\n| `451`   | Data Subject Blocked , the profile has been removed per GDPR\u002FCCPA data subject request |\n| `5xx`   | Temporary upstream or platform issue , retry with backoff        |\n\n> [!TIP]\n> For `429` errors, read the `quotas.workspace.minuteRateLimit.nextReset` field and retry after that timestamp.\n\n> [!TIP]\n> For `5xx` errors, use exponential backoff starting at 1 second.\n\n> [!NOTE]\n> For async endpoints, the initial response is a standard V2 acknowledgement containing a `webhookId`. Retrieve the result via [polling](\u002Fdocs\u002Fguides\u002Fpolling) (recommended) or via [webhook callback](\u002Fdocs\u002Fguides\u002Fwebhooks) (advanced). Webhook callback payloads do not use the full V2 envelope.\n","\u003Cp>Every endpoint returns a consistent JSON structure. This page documents the shared envelope, types, and error codes that apply across all endpoints.\u003C\u002Fp>\n\u003Ch2 id=\"response-envelope\">Response envelope\u003C\u002Fh2>\n\u003Cp>Every response uses a consistent JSON envelope with five top-level fields:\u003C\u002Fp>\n\u003Cdiv class=\"docs-object-block\" id=\"object-response\">\u003Cdiv class=\"docs-object-block-header\">Response\u003C\u002Fdiv>\u003Cdiv class=\"docs-object-block-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">success\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">boolean\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">\u003Ccode>true\u003C\u002Fcode> if the request was processed successfully\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">data\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">object\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">The endpoint-specific result payload (\u003Ccode>null\u003C\u002Fcode> on error or when no data is returned)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdetails class=\"docs-object-child\" id=\"object-error\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">error\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">code\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Machine-readable error code (e.g. \u003Ccode>API_KEY_MISSING\u003C\u002Fcode>, \u003Ccode>VALIDATION_ERROR\u003C\u002Fcode>)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">message\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Human-readable error description\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">details\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">object\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Additional context (only present on some errors)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cp>\u003Ccode>null\u003C\u002Fcode> when \u003Ccode>success\u003C\u002Fcode> is \u003Ccode>true\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cp class=\"markdown-alert-title\">\u003Csvg class=\"octicon octicon-light-bulb mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\">\u003Cpath d=\"M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\">\u003C\u002Fpath>\u003C\u002Fsvg>Tip\u003C\u002Fp>\u003Cp>Include \u003Ccode>metadata.requestId\u003C\u002Fcode> from error responses when contacting support – it speeds up troubleshooting.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails class=\"docs-object-child\" id=\"object-quotas\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">quotas\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">creditsConsumed\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Credits used for this request after pricing resolution\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdetails class=\"docs-object-child\" id=\"object-workspace\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">workspace\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">id\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Your workspace identifier\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">hasUnlimitedCredits\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">boolean\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Whether workspace credits are unlimited\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">allowDailyOvercost\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">boolean\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Whether the workspace may exceed its daily cap (Enterprise only)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdetails class=\"docs-object-child\" id=\"object-credits\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">credits\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">total\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Total credits in your plan\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">used\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Credits consumed so far\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">left\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Remaining credits\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails class=\"docs-object-child\" id=\"object-dailylimit\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">dailyLimit\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">limit\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Maximum requests per day\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">used\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Requests made today\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">left\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Remaining requests today\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">nextReset\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">When the daily window resets (ISO 8601)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cp>\u003Ccode>null\u003C\u002Fcode> when no daily limit is configured.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails class=\"docs-object-child\" id=\"object-minuteratelimit\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">minuteRateLimit\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">limit\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Maximum requests per minute\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">used\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Requests made in the current minute\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">left\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Remaining requests in the current minute\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">nextReset\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">When the minute window resets (ISO 8601)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails class=\"docs-object-child\" id=\"object-key\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">key\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">id\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">API key identifier\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdetails class=\"docs-object-child\" id=\"object-dailylimit\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">dailyLimit\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">limit\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Maximum requests per day\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">used\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Requests made today\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">left\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Remaining requests today\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">nextReset\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">When the daily window resets (ISO 8601)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cp>\u003Ccode>null\u003C\u002Fcode> when no daily limit is configured.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails class=\"docs-object-child\" id=\"object-minuteratelimit\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">minuteRateLimit\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">limit\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Maximum requests per minute\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">used\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Requests made in the current minute\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">left\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Remaining requests in the current minute\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">nextReset\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">When the minute window resets (ISO 8601)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cp>The \u003Ccode>key\u003C\u002Fcode> field is \u003Ccode>null\u003C\u002Fcode> when the request is made from the dashboard (no API key).\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cp>When authentication or quota context is unavailable (e.g. invalid API key), \u003Ccode>quotas\u003C\u002Fcode> may be omitted.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails class=\"docs-object-child\" id=\"object-metadata\">\u003Csummary class=\"docs-object-child-toggle\">\u003Cspan class=\"docs-object-child-name\">metadata\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-badge\">object\u003C\u002Fspan>\u003Csvg class=\"docs-field-children-chevron\" width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"m9 6 6 6-6 6\"\u002F>\u003C\u002Fsvg>\u003Cspan class=\"docs-object-child-label docs-object-child-label--show\">Show child attributes\u003C\u002Fspan>\u003Cspan class=\"docs-object-child-label docs-object-child-label--hide\">Hide child attributes\u003C\u002Fspan>\u003C\u002Fsummary>\u003Cdiv class=\"docs-object-child-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">requestId\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Unique identifier for this request (useful for support inquiries)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">executionTimeMs\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">number\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Total execution time in milliseconds\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">updatedAt\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Last upstream update timestamp (ISO 8601). Present only when available.\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2 id=\"shared-types\">Shared types\u003C\u002Fh2>\n\u003Cp>Some types are reused across multiple endpoints. They are documented here once to avoid repetition – individual endpoint pages reference them by name.\u003C\u002Fp>\n\u003Cdiv class=\"docs-object-block\" id=\"object-daterange\">\u003Cdiv class=\"docs-object-block-header\">DateRange\u003C\u002Fdiv>\u003Cdiv class=\"docs-object-block-body\">\n\u003Cdiv class=\"docs-field-list docs-field-list--response\">\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">start\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">Start date (ISO 8601)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-item\">\n\u003Cdiv class=\"docs-field-header\">\n\u003Ccode class=\"docs-field-name\">end\u003C\u002Fcode>\n\u003Cspan class=\"docs-field-type\">string\u003C\u002Fspan>\n\u003Cspan class=\"docs-field-nullable\">| null\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"docs-field-description\">End date (ISO 8601, null if current)\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2 id=\"error-codes\">Error codes\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Status\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>400\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Invalid JSON body or endpoint-specific business validation\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>401\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Missing or invalid API key\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>402\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>No credits left, purchase more to continue. The free \u002Fcheck endpoints return \u003Ccode>NO_CREDITS\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>404\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Data not found\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>422\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Schema or validation error, disposable email domain, or missing webhook URL on async endpoints\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>429\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Rate limit exceeded , wait and retry after \u003Ccode>nextReset\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>451\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Data Subject Blocked , the profile has been removed per GDPR\u002FCCPA data subject request\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>5xx\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Temporary upstream or platform issue , retry with backoff\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cp class=\"markdown-alert-title\">\u003Csvg class=\"octicon octicon-light-bulb mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\">\u003Cpath d=\"M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\">\u003C\u002Fpath>\u003C\u002Fsvg>Tip\u003C\u002Fp>\u003Cp>For \u003Ccode>429\u003C\u002Fcode> errors, read the \u003Ccode>quotas.workspace.minuteRateLimit.nextReset\u003C\u002Fcode> field and retry after that timestamp.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cp class=\"markdown-alert-title\">\u003Csvg class=\"octicon octicon-light-bulb mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\">\u003Cpath d=\"M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\">\u003C\u002Fpath>\u003C\u002Fsvg>Tip\u003C\u002Fp>\u003Cp>For \u003Ccode>5xx\u003C\u002Fcode> errors, use exponential backoff starting at 1 second.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cp class=\"markdown-alert-title\">\u003Csvg class=\"octicon octicon-info mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\">\u003Cpath d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\">\u003C\u002Fpath>\u003C\u002Fsvg>Note\u003C\u002Fp>\u003Cp>For async endpoints, the initial response is a standard V2 acknowledgement containing a \u003Ccode>webhookId\u003C\u002Fcode>. Retrieve the result via \u003Ca href=\"\u002Fdocs\u002Fguides\u002Fpolling\">polling\u003C\u002Fa> (recommended) or via \u003Ca href=\"\u002Fdocs\u002Fguides\u002Fwebhooks\">webhook callback\u003C\u002Fa> (advanced). Webhook callback payloads do not use the full V2 envelope.\u003C\u002Fp>\n\u003C\u002Fdiv>\n","","Every endpoint returns a consistent JSON structure. This page documents the shared envelope, types, and error codes that apply across all endpoints. Response envelope Every resp...",5,[19,23,26],{"id":20,"title":21,"level":22},"response-envelope","Response envelope",2,{"id":24,"title":25,"level":22},"shared-types","Shared types",{"id":27,"title":28,"level":22},"error-codes","Error codes",[],[],1785860233432]