Skip to content

Describe the current key

GET https://api.noptcha.com/v1/me

Native API (v1). Guide. Operation ID getMe.

The key's organization, settings, budget (with what is used in the current period) and the limits that apply to it. Any valid key may call this. The response never contains the key itself.

Request

Authentication: Authorization: Bearer <key> (Keys).

Responses

200

The key.

Headers: Noptcha-Request-Id.

Content: application/json

FieldTypeDescription
budget
required
one of | null

The key's spending budget; null when unlimited.

one of: object
key
required
object
key.allow_cidrs
required
array | null

Client IP ranges this key may be used from; null = any.

key.allowed_types
required
array | null

Task types this key may use; null = all.

key.expires_at
required
string | nullformat: date-time · pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$
key.id
required
string
key.last4
required
string
key.mode
required
enumone of "live", "test"
key.name
required
string
key.prefix
required
string
key.revoke_at
required
string | null

When a rotated key stops working.

format: date-time · pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$
key.scopes
required
array of string
limits
required
object
limits.concurrency_by_family
required
object

Tasks in flight allowed for this organization, per captcha family (recaptcha, hcaptcha, …). Every public family is listed. Creating a task beyond the limit returns 429 concurrency_limited. Contact support to raise it.

limits.concurrency_by_family.<any key>
optional
integer
limits.concurrency_per_family
required
integer

Default number of tasks in flight per captcha family. Your organization may have a different limit for some families; concurrency_by_family has the limit that actually applies.

limits.create_tasks
required
one of | null

Tasks this key may create per window; null when disabled.

one of: RatePolicy
limits.sandbox
optional
object

Present for test keys.

limits.sandbox.create_tasks_per_org
required
one of | nullone of: RatePolicy
limits.sandbox.in_flight_per_org
required
integer
limits.sandbox.waits_per_org_per_process
required
integer
limits.task_polls
required
one of | null

Polls per task per window (including bursts); null when disabled.

one of: RatePolicy
limits.wait_max_seconds
required
integer

Longest synchronous wait.

organization
required
object
organization.id
required
string
organization.name
required
string
organization.status
required
string

401

unauthorized: the key is malformed, unknown, revoked or expired.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

403

forbidden: the key lacks the scope this endpoint needs, the client IP is not in the key's allowlist, the key may not use this task type, or the organization is suspended (detail says which). Also returned, without detail, when the request did not pass through our edge network.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

413

request_too_large: the body exceeds the limit (1 MB for image types, 64 KB otherwise). Any request with a body over 1 MB gets this, GET requests included.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

429

rate_limited: too many tasks created per second by this key, the same task polled too often, the sandbox's per-organization rate, usage queried too often, the catalog fetched too often from this IP, or this IP sent too many invalid keys. concurrency_limited: the organization has too many tasks in flight for this captcha family (or, with a test key, too many sandbox tasks still processing). Wait Retry-After seconds.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional), Retry-After.

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

500

internal: an error on our side.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

503

service_unavailable: no capacity right now (all solvers busy or failing, the gateway is overloaded, a dependency is unavailable). For POST /v1/tasks nothing was created or charged. Wait Retry-After.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional), Retry-After.

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

Header descriptions and every schema: Schemas. Machine-readable: openapi.json, openapi.yaml.