Check a key
curl "https://api.nimbusmint.bot/partner/v1/health" \ -H "Authorization: Bearer $NIMBUS_PRIVATE_KEY"// Node 18+ (built-in fetch). Keep the key on your server.const url = new URL('https://api.nimbusmint.bot/partner/v1/health');const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.NIMBUS_PRIVATE_KEY}` },});console.log(res.status, await res.json());import osimport requests
res = requests.get( "https://api.nimbusmint.bot/partner/v1/health", headers={"Authorization": f"Bearer {os.environ['NIMBUS_PRIVATE_KEY']}"}, timeout=10,)print(res.status_code, res.json())Returns the calling key’s own metadata. Needs a valid key from an allowed address and no scope; use it to test your setup and to watch the expiry date.
Errors
| Status | code |
Meaning |
|---|---|---|
| 401 | invalid_key |
The key is missing, malformed, unknown, expired or revoked, or its partner is disabled. Always invalid_key. |
| 403 | ip_not_allowed |
The calling address is not on the key’s allowlist (ip_not_allowed), or the key lacks the route’s scope (scope_missing). |
| 403 | scope_missing |
The calling address is not on the key’s allowlist (ip_not_allowed), or the key lacks the route’s scope (scope_missing). |
| 429 | rate_limited |
The key’s rate limit, or the API’s overall limit, is exceeded (rate_limited). |
| 503 | tenant_api_disabled |
The API is switched off (tenant_api_disabled), not configured (ip_trust_unconfigured) or temporarily unable to answer (internal). Retry later; Retry-After is sent when a retry is expected to succeed soon. |
| 503 | ip_trust_unconfigured |
The API is switched off (tenant_api_disabled), not configured (ip_trust_unconfigured) or temporarily unable to answer (internal). Retry later; Retry-After is sent when a retry is expected to succeed soon. |
| 503 | internal |
The API is switched off (tenant_api_disabled), not configured (ip_trust_unconfigured) or temporarily unable to answer (internal). Retry later; Retry-After is sent when a retry is expected to succeed soon. |
What to do about each: Errors.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The key works from this address.
object
Examples
{ "tenant": "example-partner", "key_id": "nmk_abcdefgh2345", "scopes": [ "read:hits" ], "expires_at": "2027-10-01T00:00:00Z"}The key is missing, malformed, unknown, expired or revoked, or its partner is disabled. Always invalid_key.
object
Examples
{ "code": "invalid_key", "message": "missing, invalid, expired or revoked key"}The calling address is not on the key’s allowlist (ip_not_allowed), or the key lacks the route’s scope (scope_missing).
object
Examples
{ "code": "ip_not_allowed", "message": "this address may not use this key"}The key’s rate limit, or the API’s overall limit, is exceeded (rate_limited).
object
Examples
{ "code": "rate_limited", "message": "rate limit exceeded"}Headers
Section titled “Headers”Seconds to wait before retrying.
The API is switched off (tenant_api_disabled), not configured (ip_trust_unconfigured) or temporarily unable to answer (internal). Retry later; Retry-After is sent when a retry is expected to succeed soon.
object
Examples
{ "code": "tenant_api_disabled", "message": "the partner API is disabled"}Headers
Section titled “Headers”Seconds to wait before retrying.
