Errors & usage
Handle partial results, quotas and interrupted requests.
Check HTTP status first
Regis documents the error statuses below. KYB and Watch Companies may return different error bodies; preserve the status and safe diagnostic details rather than assuming one universal schema.
| Status | Interpretation | Next step |
|---|---|---|
400 | Invalid input; Regis can also return no_api_key. | Validate fields, identifiers and the 4,000-character Regis query limit. |
401 | Authentication failed. | Check the Token header and active credentials on your server. |
403 | Access or entitlement blocked. | Confirm product permissions and usage. Regis may return mcp_auth_error. |
404 | Requested resource or section unavailable. | Verify identity and data coverage; do not replace missing data with zero. |
429 | Rate or quota limit. | For Regis, inspect Retry-After and X-Quota-* headers. Use a bounded retry policy. |
502 | Upstream data connection failed. | Regis can return mcp_connection_error. Retry a read with backoff; retain context. |
404 is relevant to company data and KYB sections; it is not listed among the documented Regis pre-stream errors.
Handle two kinds of partial failure
Regis: an error inside the stream
A 200 response can later emit error. Handle rate_limit, llm_unavailable, mcp_connection_error, mcp_auth_error, timeout and internal_error.
KYB: an error inside a section
A full report may return successful sections and error objects together. Inspect lite, officers, shareholders, group_structures_full and financial separately.
for (const section of ["lite", "officers", "shareholders",
"group_structures_full", "financial"]) {
const value = report[section];
if (value == null || value.error) {
// Preserve an unavailable state; do not substitute empty or zero.
console.warn(section, value?.error?.status_code ?? "missing");
continue;
}
// Store this section with its source metadata and retrieval time.
}Keep usage predictable
- Regis counts each successful question as one AI-query request. The underlying data tools have separate product limits.
- Read the Regis
X-Quota-*response headers andRetry-Afterwhen present. Specific allowances depend on the API account. - A combined KYB report authorizes and meters its sections independently. Request only the data needed for the workflow.
- The website’s Free, Pro, Business and Enterprise search allowances are not a specification of API or MCP quotas.
- Do not assume that retrying an interrupted AI query is free. After uncertain monitoring writes, read current state before trying the mutation again.
Build for reliable processing
Use bounded timeouts, limited retries with backoff and jitter, and per-account concurrency controls. Read every page: KYB lists use total_pages, while Watch Companies uses pages. Keep logs free of API keys and unnecessary personal data.
For change history, retain your last completed window and deduplicate during reconciliation. Do not infer deletion or inactivity from a failed or unavailable response.
Based on the Global Database API v2 reference ↗ · Reviewed 14 September 2026. Examples are illustrative or abbreviated, not live company reports.