List task types and prices
GET https://api.noptcha.com/v1/types
Native API (v1). Guide. Operation ID listTypes.
The public task types this key may use, with the organization's actual price per variant. Types
without a price are left out; data is an empty array when none is left. Any valid key may call this,
whatever its scopes.
Request
Authentication: Authorization: Bearer <key> (Keys).
Responses
200
Types and prices.
Headers: Noptcha-Request-Id.
Content: application/json
| Field | Type | Description |
|---|---|---|
datarequired | array of TypeInfo | |
data.[item]optional | object | |
data.[item].familyrequired | string | Captcha family (concurrency is limited per family), e.g. |
data.[item].namerequired | string | |
data.[item].statusrequired | string |
|
data.[item].timeout_secondsrequired | integer | Deadline after which an unsolved task fails with |
data.[item].typerequired | string | |
data.[item].variantsrequired | array of object | |
data.[item].variants.[item]optional | object | |
data.[item].variants.[item].pricerequired | Money | |
data.[item].variants.[item].variantrequired | string |
|
price_versionrequired | integer | Version of the price list the prices come from. |
401
unauthorized: the key is malformed, unknown, revoked or expired.
Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).
Content: application/problem+json
| Field | Type | Description |
|---|---|---|
coderequired | string | Machine-readable error code (see the table). |
detailoptional | string | Human-readable explanation of this occurrence. |
request_idrequired | string | Same as the |
statusrequired | integer | The HTTP status code. |
titlerequired | string | |
typerequired | string | format: 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
| Field | Type | Description |
|---|---|---|
coderequired | string | Machine-readable error code (see the table). |
detailoptional | string | Human-readable explanation of this occurrence. |
request_idrequired | string | Same as the |
statusrequired | integer | The HTTP status code. |
titlerequired | string | |
typerequired | string | format: 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
| Field | Type | Description |
|---|---|---|
coderequired | string | Machine-readable error code (see the table). |
detailoptional | string | Human-readable explanation of this occurrence. |
request_idrequired | string | Same as the |
statusrequired | integer | The HTTP status code. |
titlerequired | string | |
typerequired | string | format: 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
| Field | Type | Description |
|---|---|---|
coderequired | string | Machine-readable error code (see the table). |
detailoptional | string | Human-readable explanation of this occurrence. |
request_idrequired | string | Same as the |
statusrequired | integer | The HTTP status code. |
titlerequired | string | |
typerequired | string | format: uri |
500
internal: an error on our side.
Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).
Content: application/problem+json
| Field | Type | Description |
|---|---|---|
coderequired | string | Machine-readable error code (see the table). |
detailoptional | string | Human-readable explanation of this occurrence. |
request_idrequired | string | Same as the |
statusrequired | integer | The HTTP status code. |
titlerequired | string | |
typerequired | string | format: 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
| Field | Type | Description |
|---|---|---|
coderequired | string | Machine-readable error code (see the table). |
detailoptional | string | Human-readable explanation of this occurrence. |
request_idrequired | string | Same as the |
statusrequired | integer | The HTTP status code. |
titlerequired | string | |
typerequired | string | format: uri |
Header descriptions and every schema: Schemas. Machine-readable: openapi.json, openapi.yaml.