For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.
For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.
Area-select click points in percent; present only for area-select answers.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ninetile","colors":{"primary":"#FF744F","light":"#FF916F","dark":"#C73512"},"logo":{"light":"https://ninetile.io/ninetile-docs-logo-light.svg","dark":"https://ninetile.io/ninetile-docs-logo-dark.svg"},"favicon":"https://ninetile.io/icon.svg","api":{"openapi":"https://ninetile.io/openapi.json","playground":{"display":"interactive","proxy":true}},"navbar":{"links":[{"href":"mailto:support@ninetile.io","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://ninetile.io/dashboard"}},"footer":{"socials":{}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ninetile","hasAudioNarration":false,"actualSubdomain":"ninetile","customDomains":[],"gitSource":{"type":"artifacts","owner":"prod","repo":"6ae8123bf9f125c812756c7c","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ae8126473fa99badecd1d18"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae846b7ba17b289af531d94","collectionId":"7df1c4ce-97d5-4df7-8607-7d7928762cdd","liveDeploymentHistoryId":"6ae846b7ba17b289af531d94","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae85e8a882dd034f026fee3","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":11},{"language":"default","tag":"Get Started","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/recognize","slug":"/api-reference/recognize","pageMetadata":{"title":"Recognize a challenge","openapi":"https://ninetile.io/openapi.json POST /recognize","canonical":"https://ninetile.io/docs/api-reference/recognize","description":"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.","href":"/api-reference/recognize"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components};return _jsx(_components.p,{children:`Submit a challenge instruction and images for recognition. Successfully answered requests are charged.`})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Recognize a challenge","openapi":"https://ninetile.io/openapi.json POST /recognize","canonical":"https://ninetile.io/docs/api-reference/recognize","description":"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.","href":"/api-reference/recognize"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"recognizeImages","tags":["Recognition"],"summary":"Recognize an hCaptcha image challenge","description":"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.","requestBody":"3ad86c82-ad3d-4b78-8f24-23cc554a4916","responses":{"200":"94d29a38-c810-4956-8a66-d66e4ec076d1","400":"21d13407-4a63-4b6a-9a18-ad8b7d1ceb72","401":"6bcba862-0cef-4fa3-ad96-9cf5ef124410","402":"ef22eea6-12de-45f1-a27f-23bb6bccf857","403":"f31aab74-6690-41eb-a14e-e21ffbc7809e","413":"4b6978f1-83fd-4f1a-a432-f7bccda1e7df","415":"3c34eaa2-9c0b-4b90-be92-238473a6263e","422":"0a509c21-ba8f-460d-a1c2-39948b934304","429":"d9787f3e-5746-43c7-a477-ce3eb85da280","500":"154d592d-1dfb-4059-b4b9-16e711513432","503":"d2f1e867-f911-4dd0-99dd-f93e8e19c90b"},"method":"post","type":"path","servers":["e7688788-25b1-47d2-bf04-bb9c7bd21e62","76038392-232c-4c70-9d9e-94a788758e78"],"security":["d96127c0-da2c-46ab-b314-8710ccc71eb3","6f4f9b1a-0ed9-4c69-8569-688cdb5c6c2e"],"path":"/recognize","baseUrlOptions":["https://api.ninetile.io/v1","https://api.radiumstore.org/v1"],"title":"Recognize an hCaptcha image challenge","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["type","task","image_data"],"properties":{"image_data":{"type":"array","items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.0.image_data.items.[INDEX]","typeLabel":"string"},"maxItems":27,"minItems":1,"isRequired":true,"uniqueKey":"oneOf.0.image_data","typeLabel":"string[]"},"type":{"const":"hcaptcha","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"any"},"task":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.0.task","typeLabel":"string"},"image_urls":{"type":"array","minItems":1,"maxItems":27,"items":{"type":"string","format":"uri","description":"HTTPS URL hosted on hcaptcha.com.","uniqueKey":"oneOf.0.image_urls.items.[INDEX]","typeLabel":"string\u003curi>"},"uniqueKey":"oneOf.0.image_urls","typeLabel":"string\u003curi>[]"},"image_examples":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.0.image_examples.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.image_examples","typeLabel":"string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["type","task","image_urls"],"properties":{"image_urls":{"type":"array","items":{"type":"string","description":"HTTPS URL hosted on hcaptcha.com.","format":"uri","uniqueKey":"oneOf.1.image_urls.items.[INDEX]","typeLabel":"string\u003curi>"},"maxItems":27,"minItems":1,"isRequired":true,"uniqueKey":"oneOf.1.image_urls","typeLabel":"string\u003curi>[]"},"type":{"const":"hcaptcha","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"any"},"task":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.1.task","typeLabel":"string"},"image_data":{"type":"array","minItems":1,"maxItems":27,"items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.1.image_data.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.image_data","typeLabel":"string[]"},"image_examples":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.1.image_examples.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.image_examples","typeLabel":"string[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["type","task","image_data"],"properties":{"image_data":{"type":"array","items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.2.image_data.items.[INDEX]","typeLabel":"string"},"maxItems":1,"minItems":1,"isRequired":true,"uniqueKey":"oneOf.2.image_data","typeLabel":"string[]"},"type":{"const":"hcaptcha_area_select","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"any"},"task":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.2.task","typeLabel":"string"},"image_urls":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"string","format":"uri","description":"HTTPS URL hosted on hcaptcha.com.","uniqueKey":"oneOf.2.image_urls.items.[INDEX]","typeLabel":"string\u003curi>"},"uniqueKey":"oneOf.2.image_urls","typeLabel":"string\u003curi>[]"},"image_examples":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.2.image_examples.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.2.image_examples","typeLabel":"string[]"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["type","task","image_urls"],"properties":{"image_urls":{"type":"array","items":{"type":"string","description":"HTTPS URL hosted on hcaptcha.com.","format":"uri","uniqueKey":"oneOf.3.image_urls.items.[INDEX]","typeLabel":"string\u003curi>"},"maxItems":1,"minItems":1,"isRequired":true,"uniqueKey":"oneOf.3.image_urls","typeLabel":"string\u003curi>[]"},"type":{"const":"hcaptcha_area_select","isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"any"},"task":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.3.task","typeLabel":"string"},"image_data":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.3.image_data.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.3.image_data","typeLabel":"string[]"},"image_examples":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.3.image_examples.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.3.image_examples","typeLabel":"string[]"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["data"],"properties":{"data":{"oneOf":[{"type":"object","description":"Other challenge properties are passed through to the recognition backend. Image limits apply to datapoint, entity, and example images combined.","required":["request_type","requester_question","tasklist"],"properties":{"request_type":{"const":"image_label_binary","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0.request_type","typeLabel":"any"},"requester_question":{"type":"object","required":["en"],"properties":{"en":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0.requester_question.en","typeLabel":"string"}},"unevaluatedProperties":true,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0.requester_question","typeLabel":"object"},"tasklist":{"type":"array","minItems":1,"maxItems":27,"items":{"type":"object","required":["task_key","datapoint_uri"],"properties":{"task_key":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0.tasklist.items.[INDEX].task_key","typeLabel":"string"},"datapoint_uri":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0.tasklist.items.[INDEX].datapoint_uri","typeLabel":"string"}},"unevaluatedProperties":true,"uniqueKey":"oneOf.4.data.oneOf.0.tasklist.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0.tasklist","typeLabel":"object[]"},"requester_question_example":{"oneOf":[{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.4.data.oneOf.0.requester_question_example.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.4.data.oneOf.0.requester_question_example.oneOf.1.items.[INDEX]","typeLabel":"string"},"maxItems":3,"minItems":1,"uniqueKey":"oneOf.4.data.oneOf.0.requester_question_example.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.4.data.oneOf.0.requester_question_example","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Other challenge properties are passed through to the recognition backend. Image limits apply to datapoint, entity, and example images combined.","required":["request_type","requester_question","tasklist"],"properties":{"request_type":{"const":"image_label_area_select","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1.request_type","typeLabel":"any"},"requester_question":{"type":"object","required":["en"],"properties":{"en":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1.requester_question.en","typeLabel":"string"}},"unevaluatedProperties":true,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1.requester_question","typeLabel":"object"},"tasklist":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"object","required":["task_key","datapoint_uri"],"properties":{"task_key":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1.tasklist.items.[INDEX].task_key","typeLabel":"string"},"datapoint_uri":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1.tasklist.items.[INDEX].datapoint_uri","typeLabel":"string"}},"unevaluatedProperties":true,"uniqueKey":"oneOf.4.data.oneOf.1.tasklist.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1.tasklist","typeLabel":"object[]"},"requester_question_example":{"oneOf":[{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.4.data.oneOf.1.requester_question_example.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.4.data.oneOf.1.requester_question_example.oneOf.1.items.[INDEX]","typeLabel":"string"},"maxItems":3,"minItems":1,"uniqueKey":"oneOf.4.data.oneOf.1.requester_question_example.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.4.data.oneOf.1.requester_question_example","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Other challenge properties are passed through to the recognition backend. Image limits apply to datapoint, entity, and example images combined.","required":["request_type","requester_question","tasklist"],"properties":{"request_type":{"const":"image_drag_drop","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.request_type","typeLabel":"any"},"requester_question":{"type":"object","required":["en"],"properties":{"en":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.requester_question.en","typeLabel":"string"}},"unevaluatedProperties":true,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.requester_question","typeLabel":"object"},"tasklist":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"object","required":["task_key","datapoint_uri","entities"],"properties":{"task_key":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist.items.[INDEX].task_key","typeLabel":"string"},"datapoint_uri":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist.items.[INDEX].datapoint_uri","typeLabel":"string"},"entities":{"type":"array","items":{"type":"object","required":["entity_uri"],"properties":{"entity_uri":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist.items.[INDEX].entities.items.[INDEX].entity_uri","typeLabel":"string"}},"description":"Additional entity fields are passed through to the recognition backend.","unevaluatedProperties":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist.items.[INDEX].entities.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist.items.[INDEX].entities","typeLabel":"object[]"}},"description":"Additional task fields are passed through to the recognition backend.","unevaluatedProperties":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2.tasklist","typeLabel":"object[]"},"requester_question_example":{"oneOf":[{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.4.data.oneOf.2.requester_question_example.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Base64-encoded PNG, JPEG, WebP, or GIF, optionally prefixed by a matching `data:image/...;base64,` URI, or an HTTPS URL on an hcaptcha.com host.","uniqueKey":"oneOf.4.data.oneOf.2.requester_question_example.oneOf.1.items.[INDEX]","typeLabel":"string"},"maxItems":3,"minItems":1,"uniqueKey":"oneOf.4.data.oneOf.2.requester_question_example.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.4.data.oneOf.2.requester_question_example","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"oneOf.4.data.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.data","typeLabel":"object"}},"uniqueKey":"oneOf.4","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"grid":{"title":"grid","value":{"type":"hcaptcha","task":"Select all bicycles","image_data":["iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="]}},"areaSelect":{"title":"areaSelect","value":{"type":"hcaptcha_area_select","task":"Click the cat","image_data":["iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="]}},"fullDrag":{"title":"fullDrag","value":{"data":{"request_type":"image_drag_drop","requester_question":{"en":"Drag the letter"},"tasklist":[{"task_key":"k1","datapoint_uri":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==","entities":[{"entity_id":"e1","entity_uri":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==","coords":[1,1],"size":[1,1]}]}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"94d29a38-c810-4956-8a66-d66e4ec076d1":{"description":"Answer returned and charged.","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["id","data","charged_usd"],"properties":{"id":{"type":"string","pattern":"^rec_","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"data":{"oneOf":[{"type":"array","items":{"type":"boolean","uniqueKey":"data.oneOf.0.items.[INDEX]","typeLabel":"boolean"},"description":"For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.","isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"boolean[]"},{"type":"object","description":"For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.","required":["x","y","w","h"],"properties":{"x":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.1.x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.1.y","typeLabel":"number"},"w":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.1.w","typeLabel":"number"},"h":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.1.h","typeLabel":"number"}},"isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"object"},{"type":"array","items":{"type":"object","required":["x","y","w","h"],"properties":{"x":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.2.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.2.items.[INDEX].y","typeLabel":"number"},"w":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.2.items.[INDEX].w","typeLabel":"number"},"h":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"data.oneOf.2.items.[INDEX].h","typeLabel":"number"}},"uniqueKey":"data.oneOf.2.items.[INDEX]","typeLabel":"object"},"description":"For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.","isRequired":true,"uniqueKey":"data.oneOf.2","typeLabel":"object[]"},{"type":"array","items":{"type":"array","items":{"type":"boolean","uniqueKey":"data.oneOf.3.items.[INDEX].items.[INDEX]","typeLabel":"boolean"},"uniqueKey":"data.oneOf.3.items.[INDEX]","typeLabel":"boolean[]"},"description":"For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.","isRequired":true,"uniqueKey":"data.oneOf.3","typeLabel":"boolean[][]"},{"type":"array","items":{"type":"object","uniqueKey":"data.oneOf.4.items.[INDEX]","typeLabel":"object"},"description":"For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.","isRequired":true,"uniqueKey":"data.oneOf.4","typeLabel":"object[]"},{"type":"array","items":{"type":"array","items":{"type":"object","uniqueKey":"data.oneOf.5.items.[INDEX].items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.oneOf.5.items.[INDEX]","typeLabel":"object[]"},"description":"For grid tasks, booleans per tile (nested by page for full challenge objects); for area select, a point box or boxes; for drag challenges, backend answer objects.","isRequired":true,"uniqueKey":"data.oneOf.5","typeLabel":"object[][]"}],"isRequired":true,"uniqueKey":"data","typeLabel":"boolean[] · object · object[] · boolean[][] · object[] · object[][]"},"charged_usd":{"type":"number","description":"Charge for a successful recognition (default $0.00030).","isRequired":true,"uniqueKey":"charged_usd","typeLabel":"number"},"points":{"oneOf":[{"type":"array","items":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"points.oneOf.0.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"points.oneOf.0.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"points.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Area-select click points in percent; present only for area-select answers.","uniqueKey":"points.oneOf.0","typeLabel":"object[]"},{"type":"array","items":{"type":"array","items":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"points.oneOf.1.items.[INDEX].items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"points.oneOf.1.items.[INDEX].items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"points.oneOf.1.items.[INDEX].items.[INDEX]","typeLabel":"object"},"uniqueKey":"points.oneOf.1.items.[INDEX]","typeLabel":"object[]"},"description":"Area-select click points in percent; present only for area-select answers.","uniqueKey":"points.oneOf.1","typeLabel":"object[][]"}],"uniqueKey":"points","typeLabel":"object[] | object[][]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"grid":{"title":"grid","value":{"id":"rec_01ARZ3NDEKTSV4RRFFQ69G5FAV","data":[true,false,false],"charged_usd":0.0003}},"areaSelect":{"title":"areaSelect","value":{"id":"rec_01ARZ3NDEKTSV4RRFFQ69G5FAV","data":{"x":40,"y":45,"w":0,"h":0},"points":[{"x":40,"y":45}],"charged_usd":0.0003}}},"exampleType":"examples"}},"exampleType":"examples"},"21d13407-4a63-4b6a-9a18-ad8b7d1ceb72":{"description":"Invalid JSON or a non-object request body (`invalid_request`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"6bcba862-0cef-4fa3-ad96-9cf5ef124410":{"description":"API key missing, malformed, unknown, or revoked (`unauthorized`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}},"Retry-After":{"description":"Seconds to wait before retrying; present when the error asks the client to wait.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"ef22eea6-12de-45f1-a27f-23bb6bccf857":{"description":"Insufficient account balance or key spend limit (`insufficient_credits`, `key_credit_limit_exceeded`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}},"Retry-After":{"description":"Seconds to wait before retrying; present when the error asks the client to wait.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"f31aab74-6690-41eb-a14e-e21ffbc7809e":{"description":"Account locked or key not permitted to access this endpoint (`account_locked`, `forbidden`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"4b6978f1-83fd-4f1a-a432-f7bccda1e7df":{"description":"Request body exceeds 12 MiB or an image exceeds 1.5 MiB (`payload_too_large`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"3c34eaa2-9c0b-4b90-be92-238473a6263e":{"description":"Request body must use JSON content type (`unsupported_media_type`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0a509c21-ba8f-460d-a1c2-39948b934304":{"description":"Challenge is unsupported or no answer was found (`recognition_failed`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d9787f3e-5746-43c7-a477-ce3eb85da280":{"description":"Request, concurrency, sitekey, or authentication-attempt limit reached (`rate_limited`, `concurrency_limit_exceeded`, `rate_capped`, `sitekey_rate_limited`, `proxy_unavailable`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}},"Retry-After":{"description":"Seconds to wait before retrying; present when the error asks the client to wait.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"154d592d-1dfb-4059-b4b9-16e711513432":{"description":"Unexpected server error (`internal_error`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d2f1e867-f911-4dd0-99dd-f93e8e19c90b":{"description":"Solver or recognition service is not ready or at capacity (`maintenance`, `capacity_exhausted`, `proxy_pool_depleted`).","headers":{"X-Request-Id":{"description":"Request identifier for support inquiries.","schema":{"type":"string","format":"uuid"}},"Retry-After":{"description":"Seconds to wait before retrying; present when the error asks the client to wait.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","param","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","insufficient_credits","key_credit_limit_exceeded","account_locked","forbidden","not_eligible","not_found","conflict","payload_too_large","unsupported_media_type","expired_window","recognition_failed","validation_error","concurrency_limit_exceeded","proxy_unavailable","rate_capped","rate_limited","sitekey_rate_limited","internal_error","maintenance","capacity_exhausted","proxy_pool_depleted"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"request_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","param":"\u003cstring>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d96127c0-da2c-46ab-b314-8710ccc71eb3":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Ninetile API key, sent as `Authorization: Bearer \u003ckey>`. Keys are issued in the dashboard.","scopes":[],"schemeName":"BearerAuth"}},"6f4f9b1a-0ed9-4c69-8569-688cdb5c6c2e":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Alternative to the Authorization Bearer header.","scopes":[],"schemeName":"ApiKeyHeader"}}},"servers":{"e7688788-25b1-47d2-bf04-bb9c7bd21e62":{"url":"https://api.ninetile.io/v1","description":"Primary API"},"76038392-232c-4c70-9d9e-94a788758e78":{"url":"https://api.radiumstore.org/v1","description":"Alternate API host"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Ninetile API key, sent as `Authorization: Bearer \u003ckey>`. Keys are issued in the dashboard.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Ninetile API key, sent as `Authorization: Bearer \u003ckey>`. Keys are issued in the dashboard.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Alternative to the Authorization Bearer header.","scopes":[],"schemeName":"ApiKeyHeader"},"schema":{"title":"x-api-key","type":"string","description":"Alternative to the Authorization Bearer header.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyHeader","name":"x-api-key"}],"title":"ApiKeyHeader"}]},"originalFileLocation":"https://ninetile.io/openapi.json"},"subdomain":"ninetile","siteName":"Ninetile","title":"Recognize a challenge - Ninetile","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T08:15:54.588Z","originalFileLocation":"api-reference/recognize.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ninetile\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/svg+xml\" sizes=\"180x180\" href=\"https://ninetile.io/icon.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"32x32\" href=\"https://ninetile.io/icon.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"16x16\" href=\"https://ninetile.io/icon.svg\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/svg+xml\" href=\"https://ninetile.io/icon.svg\">\u003cmeta data-mint-head property=\"og:title\" content=\"Recognize a challenge - Ninetile\">\u003cmeta data-mint-head property=\"og:description\" content=\"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ninetile\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://ninetile.io/docs/api-reference/recognize\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ninetile.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Recognize+a+challenge\u0026amp;description=For+clients+that+operate+their+own+browser.+Supply+image+data+and+the+challenge+instruction%2C+then+receive+the+answer+directly%3B+there+is+no+solve+token+or+pollin\u0026amp;theme=d4699c909036f349f9f2ae1d\u0026amp;signature=54bbc1f470969b2aca76de88cb9d8df70904530c01d6f3ae161bb2513f3a41e2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Recognize a challenge - Ninetile\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ninetile.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Recognize+a+challenge\u0026amp;description=For+clients+that+operate+their+own+browser.+Supply+image+data+and+the+challenge+instruction%2C+then+receive+the+answer+directly%3B+there+is+no+solve+token+or+pollin\u0026amp;theme=d4699c909036f349f9f2ae1d\u0026amp;signature=54bbc1f470969b2aca76de88cb9d8df70904530c01d6f3ae161bb2513f3a41e2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/ninetile/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ninetile\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF744F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://ninetile.io/docs/api-reference/recognize\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/recognize.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://ninetile.mintlify.dev/#organization\",\"name\":\"Ninetile\",\"url\":\"https://ninetile.mintlify.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://ninetile.io/ninetile-docs-logo-light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://ninetile.mintlify.dev/docs#website\",\"name\":\"Ninetile\",\"url\":\"https://ninetile.mintlify.dev/docs\",\"publisher\":{\"@id\":\"https://ninetile.mintlify.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://ninetile.io/docs/api-reference/recognize#webpage\",\"url\":\"https://ninetile.io/docs/api-reference/recognize\",\"name\":\"Recognize a challenge\",\"description\":\"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.\",\"dateModified\":\"2026-11-02T08:15:54.588Z\",\"isPartOf\":{\"@id\":\"https://ninetile.mintlify.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://ninetile.io/docs/api-reference/recognize#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://ninetile.io/docs/api-reference/recognize#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://ninetile.mintlify.dev/docs/api-reference/status\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recognize a challenge\",\"item\":\"https://ninetile.io/docs/api-reference/recognize\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://ninetile.io/docs/api-reference/recognize#apireference\",\"headline\":\"Recognize a challenge\",\"name\":\"Recognize a challenge\",\"description\":\"For clients that operate their own browser. Supply image data and the challenge instruction, then receive the answer directly; there is no solve token or polling. The API key must have Recognition API permission. Successful answers cost $0.00030; unsupported challenges or missing answers are not charged. Images may be base64 (optionally a data URI) or, for hCaptcha-hosted images only, HTTPS URLs. Each image is limited to 1.5 MiB and 1 megapixel; total image pixels are limited to 12 megapixels and the JSON request body to 12 MiB.\",\"url\":\"https://ninetile.io/docs/api-reference/recognize\",\"mainEntityOfPage\":{\"@id\":\"https://ninetile.io/docs/api-reference/recognize#webpage\"},\"dateModified\":\"2026-11-02T08:15:54.588Z\",\"publisher\":{\"@id\":\"https://ninetile.mintlify.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://ninetile.mintlify.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ninetile\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ninetile","nav":{"global":null,"pages":[{"group":"Get Started","pages":[{"title":"Ninetile API","href":"/index"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"API Reference","pages":[{"title":"Service status","openapi":"https://ninetile.io/openapi.json GET /status","href":"/api-reference/status"},{"title":"Create a solve","openapi":"https://ninetile.io/openapi.json POST /solves","href":"/api-reference/create-solve"},{"title":"List solves","openapi":"https://ninetile.io/openapi.json GET /solves","href":"/api-reference/list-solves"},{"title":"Retrieve a solve","openapi":"https://ninetile.io/openapi.json GET /solves/{id}","href":"/api-reference/get-solve"},{"title":"Cancel a solve","openapi":"https://ninetile.io/openapi.json DELETE /solves/{id}","href":"/api-reference/cancel-solve"},{"title":"Report solve feedback","openapi":"https://ninetile.io/openapi.json POST /solves/{id}/feedback","href":"/api-reference/solve-feedback"},{"title":"Report feedback in bulk","openapi":"https://ninetile.io/openapi.json POST /feedback","description":"Accepts 1–500 feedback items. Per-item failures are returned in the 200 response with `status: error`; they do not fail the whole batch.","href":"/api-reference/batch-feedback"},{"title":"Recognize a challenge","openapi":"https://ninetile.io/openapi.json POST /recognize","href":"/api-reference/recognize"},{"title":"Report recognition outcome","openapi":"https://ninetile.io/openapi.json POST /recognize/outcome","description":"Optional accuracy feedback. The first submitted outcome is retained; reporting does not change billing.","href":"/api-reference/recognition-outcome"},{"title":"Get account","openapi":"https://ninetile.io/openapi.json GET /me","href":"/api-reference/account"},{"title":"Get usage","openapi":"https://ninetile.io/openapi.json GET /usage","href":"/api-reference/usage"}]}]},"basePath":"","title":"Recognize a challenge - Ninetile","buildId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","deploymentId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CLz2_Z5D.js","utils-7A5jZhOT.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BVWmkKuv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-4SOfrh0F.js","snippetPresets-CMc8KicP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ba9tX7z3.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Be8krXvv.js","shallow-CBC3K1uB.js","getApiPlaygroundDisplay-4tKcUAYo.js","CodeSnippet-C1Xa06ft.js","CodeSnippets-vqiz27A_.js","Page-DeQN5MDd.js","getPastedJson-NUwRfM32.js","icon-DkIVqWh9.js","MethodPill-qmhT7_wz.js","DuplicateIcon-_gWp1vhn.js","createIcon-NA1p_TVA.js","DynamicMarkdown-Bas9A7wq.js","SectionHeading-a1cS-24U.js","axios-vUo_bRtp.js","Markdown-D3ZTwq_a.js","clsx-BcghKhHb.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-B66mVNPp.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DmooSyTN.js"]}