Skip to content

Check a key

View as Markdown
GET
/health
curl "https://api.nimbusmint.bot/partner/v1/health" \
-H "Authorization: Bearer $NIMBUS_PRIVATE_KEY"

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.

The key works from this address.

Media typeapplication/json
object
tenant
required
string
key_id
required
string
scopes
required
Array<string>
expires_at
required
string format: date-time

Examples

Examplehealth
{
"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.

Media typeapplication/json
object
code
required
string
Allowed values: invalid_key ip_not_allowed scope_missing rate_limited ip_trust_unconfigured tenant_api_disabled invalid_request window_too_large not_found internal
message
required
string

Examples

Exampleinvalid
{
"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).

Media typeapplication/json
object
code
required
string
Allowed values: invalid_key ip_not_allowed scope_missing rate_limited ip_trust_unconfigured tenant_api_disabled invalid_request window_too_large not_found internal
message
required
string

Examples

Exampleip
{
"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).

Media typeapplication/json
object
code
required
string
Allowed values: invalid_key ip_not_allowed scope_missing rate_limited ip_trust_unconfigured tenant_api_disabled invalid_request window_too_large not_found internal
message
required
string

Examples

Examplelimited
{
"code": "rate_limited",
"message": "rate limit exceeded"
}
Retry-After
integer
>= 1

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.

Media typeapplication/json
object
code
required
string
Allowed values: invalid_key ip_not_allowed scope_missing rate_limited ip_trust_unconfigured tenant_api_disabled invalid_request window_too_large not_found internal
message
required
string

Examples

Exampledisabled
{
"code": "tenant_api_disabled",
"message": "the partner API is disabled"
}
Retry-After
integer
>= 1

Seconds to wait before retrying.