Check the status of an async batch. When all enrichments are complete, the
response includes the full enriched row data and total credits used.
A batch is "complete" when every enrichment has reached a terminal state;
this includes both succeeded and failed runs. Check enrichments.failed > 0
to detect partial failures.
Rows in the response: When status is "complete", rows includes every
row for this batch in a single array (not paginated). Insert requests are
limited to 100 rows per batch (see POST /tables/{tableId}/rows), so
result payloads stay bounded; if that limit increases in the future, pagination
may be introduced for this field.
Polling strategy: For fast results, poll every 2-5 seconds. For background
processing, poll every 30-60 seconds.
Number of rows created by this batch. Each row can have multiple
enrichment cells (one per enrichment column), so enrichments.total
will typically be higher than rowCount.
Enriched row data. Only present when status is "complete".
Row keys are column slugs; use the columns map to resolve display names.
All rows for the batch are returned in one response (see operation description
for the relationship to per-request insert limits).
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Origami API","colors":{"primary":"#fe7bcd","light":"#f865b0","dark":"#db2777"},"logo":{"light":"https://mintcdn.com/origamiagents/XHcb8BJCoB-coV4A/logo/light.svg?fit=max\u0026auto=format\u0026n=XHcb8BJCoB-coV4A\u0026q=85\u0026s=f373c14798a59bfb8cedc4284f55a0ca","dark":"https://mintcdn.com/origamiagents/XHcb8BJCoB-coV4A/logo/dark.svg?fit=max\u0026auto=format\u0026n=XHcb8BJCoB-coV4A\u0026q=85\u0026s=093cb5c8097b2da659e228d2550eea17"},"favicon":"https://mintcdn.com/origamiagents/mxZjiz8CSMmrStmV/favicon.svg?fit=max\u0026auto=format\u0026n=mxZjiz8CSMmrStmV\u0026q=85\u0026s=7cc57639b284f223ef20a2e7c68310c9","appearance":{"default":"light","strict":false},"navbar":{"links":[{"href":"mailto:hello@origamiagents.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://origami.chat"}},"footer":{},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"origamiagents","hasAudioNarration":false,"actualSubdomain":"origamiagents","customDomains":["docs.origami.chat"],"gitSource":{"type":"github","owner":"origami-agents","repo":"mintlify-docs","deployBranch":"main","isPrivate":false,"contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a95e4f4a93e41658f2495e7","collectionId":"f921f926-53b2-4f04-9679-77c54a1d2ae7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a95e4f4a93e41658f2495e7"},"entitlements":{},"buildId":"6a95e4f4a93e41658f2495e7","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"v3 API","count":129},{"language":"default","tag":"v2 API","count":79},{"language":"default","tag":"Account","count":59},{"language":"default","tag":"Send","count":39},{"language":"default","tag":"Leads","count":23},{"language":"default","tag":"Campaigns","count":22},{"language":"default","tag":"Webhooks","count":16},{"language":"default","tag":"People","count":14},{"language":"default","tag":"Guide","count":11},{"language":"default","tag":"API Reference","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"rbac-expansion","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":"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":"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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/batches/get-batch","slug":"/api-reference/batches/get-batch","pageMetadata":{"title":"Get batch","description":"Check the status of an async batch. When all enrichments are complete, the\nresponse includes the full enriched row data and total credits used.\n\nA batch is `\"complete\"` when every enrichment has reached a terminal state;\nthis includes both succeeded and failed runs. Check `enrichments.failed > 0`\nto detect partial failures.\n\n**Rows in the response:** When `status` is `\"complete\"`, `rows` includes every\nrow for this batch in a single array (not paginated). Insert requests are\nlimited to **100 rows** per batch (see `POST /tables/{tableId}/rows`), so\nresult payloads stay bounded; if that limit increases in the future, pagination\nmay be introduced for this field.\n\n**Polling strategy:** For fast results, poll every 2-5 seconds. For background\nprocessing, poll every 30-60 seconds.\n","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml get /batches/{batchId}","href":"/api-reference/batches/get-batch","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Check the status of an async batch. When all enrichments are complete, the\\nresponse includes the full enriched row data and total credits used.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A batch is \", _jsx(_components.code, {\n children: \"\\\"complete\\\"\"\n }), \" when every enrichment has reached a terminal state;\\nthis includes both succeeded and failed runs. Check \", _jsx(_components.code, {\n children: \"enrichments.failed > 0\"\n }), \"\\nto detect partial failures.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Rows in the response:\"\n }), \" When \", _jsx(_components.code, {\n children: \"status\"\n }), \" is \", _jsx(_components.code, {\n children: \"\\\"complete\\\"\"\n }), \", \", _jsx(_components.code, {\n children: \"rows\"\n }), \" includes every\\nrow for this batch in a single array (not paginated). Insert requests are\\nlimited to \", _jsx(_components.strong, {\n children: \"100 rows\"\n }), \" per batch (see \", _jsx(_components.code, {\n children: \"POST /tables/{tableId}/rows\"\n }), \"), so\\nresult payloads stay bounded; if that limit increases in the future, pagination\\nmay be introduced for this field.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Polling strategy:\"\n }), \" For fast results, poll every 2-5 seconds. For background\\nprocessing, poll every 30-60 seconds.\"]\n })]\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{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}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":"Get batch","description":"Check the status of an async batch. When all enrichments are complete, the\nresponse includes the full enriched row data and total credits used.\n\nA batch is `\"complete\"` when every enrichment has reached a terminal state;\nthis includes both succeeded and failed runs. Check `enrichments.failed > 0`\nto detect partial failures.\n\n**Rows in the response:** When `status` is `\"complete\"`, `rows` includes every\nrow for this batch in a single array (not paginated). Insert requests are\nlimited to **100 rows** per batch (see `POST /tables/{tableId}/rows`), so\nresult payloads stay bounded; if that limit increases in the future, pagination\nmay be introduced for this field.\n\n**Polling strategy:** For fast results, poll every 2-5 seconds. For background\nprocessing, poll every 30-60 seconds.\n","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml get /batches/{batchId}","href":"/api-reference/batches/get-batch","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getBatch","summary":"Get batch","description":"Check the status of an async batch. When all enrichments are complete, the\nresponse includes the full enriched row data and total credits used.\n\nA batch is `\"complete\"` when every enrichment has reached a terminal state;\nthis includes both succeeded and failed runs. Check `enrichments.failed > 0`\nto detect partial failures.\n\n**Rows in the response:** When `status` is `\"complete\"`, `rows` includes every\nrow for this batch in a single array (not paginated). Insert requests are\nlimited to **100 rows** per batch (see `POST /tables/{tableId}/rows`), so\nresult payloads stay bounded; if that limit increases in the future, pagination\nmay be introduced for this field.\n\n**Polling strategy:** For fast results, poll every 2-5 seconds. For background\nprocessing, poll every 30-60 seconds.\n","tags":["Batches"],"parameters":["d3dd1a1b-ef23-4573-8b4d-ade164046414"],"responses":{"200":"9ee26dc6-02c9-4865-bbda-782665d0353d","400":"0b9a19ea-5a9c-49ac-97d2-783ca5ecee97","401":"a1ff03fa-edda-455c-a209-9e67814ba5b9","402":"490c5d9d-53ee-4e53-a7c4-c357adec2a25","404":"27a57730-3004-4d15-95a4-449bddb1ad2f","429":"ca98260c-e354-4bb3-a017-b320c748dc91","500":"00bae3dd-cba8-468b-8019-d0e9e7dc2206"},"method":"get","type":"path","servers":["7c65050f-73b2-4171-a30b-095d147fbd73"],"security":["a469a3f7-fc19-43ae-a31d-59e03e274c51"],"path":"/batches/{batchId}","baseUrlOptions":["https://origami.chat/api/v1"],"title":"Get batch","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d3dd1a1b-ef23-4573-8b4d-ade164046414":{"name":"batchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"The batch ID returned by a write operation.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"The batch ID returned by a write operation."}},"responses":{"9ee26dc6-02c9-4865-bbda-782665d0353d":{"description":"Batch status retrieved.","content":{"application/json":{"schema":{"type":"object","required":["batchId","tableId","type","status","rowCount","enrichments","failures","creditsUsed","createdAt","completedAt"],"properties":{"batchId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"batchId","typeLabel":"string\u003cuuid>"},"tableId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"tableId","typeLabel":"string\u003cuuid>"},"type":{"type":"string","enum":["insert"],"description":"The operation type that created this batch.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["processing","complete","errored"],"description":"- `processing`: enrichment is still running\n- `complete`: all enrichments finished (check `enrichments.failed` for partial failures)\n- `errored`: the batch failed to start (e.g. enrichment pipeline error)\n","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"rowCount":{"type":"integer","description":"Number of rows created by this batch. Each row can have multiple\nenrichment cells (one per enrichment column), so `enrichments.total`\nwill typically be higher than `rowCount`.\n","isRequired":true,"uniqueKey":"rowCount","typeLabel":"integer"},"enrichments":{"type":"object","required":["total","completed","pending","failed"],"properties":{"total":{"type":"integer","description":"Total enrichment cells in the batch (one per enrichment column per row).","isRequired":true,"uniqueKey":"enrichments.total","typeLabel":"integer"},"completed":{"type":"integer","description":"Enrichment cells that finished successfully.","isRequired":true,"uniqueKey":"enrichments.completed","typeLabel":"integer"},"pending":{"type":"integer","description":"Enrichment cells still waiting or in progress.","isRequired":true,"uniqueKey":"enrichments.pending","typeLabel":"integer"},"failed":{"type":"integer","description":"Enrichment cells that errored. Check `failures` for breakdown.","isRequired":true,"uniqueKey":"enrichments.failed","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"enrichments","typeLabel":"object"},"failures":{"type":"object","description":"Breakdown of failed enrichment cells by cause. Empty object `{}` when there are no failures.\n","properties":{"insufficientCredits":{"type":"integer","description":"Cells that failed because the org ran out of credits. Top up and re-run.","uniqueKey":"failures.insufficientCredits","typeLabel":"integer"},"enrichmentError":{"type":"integer","description":"Cells that failed due to an enrichment service error (bad input, upstream API down, etc.).","uniqueKey":"failures.enrichmentError","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"failures","typeLabel":"object"},"creditsUsed":{"type":"integer","description":"Total credits consumed by this batch (rounded to nearest whole credit). `0` while processing or when no credits were used.","isRequired":true,"uniqueKey":"creditsUsed","typeLabel":"integer"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"completedAt":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp when the batch finished. `null` while still processing.","isRequired":true,"uniqueKey":"completedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp when the batch finished. `null` while still processing.","isRequired":true,"uniqueKey":"completedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"completedAt","typeLabel":"string\u003cdate-time> | null"},"columns":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"columns.additionalProperties","typeLabel":"string"},"description":"Map of column slug → display name. Only present when `status` is `\"complete\"`.\nUse this to resolve slug keys in `rows` to human-readable column names.\n","uniqueKey":"columns","typeLabel":"object"},"rows":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Row UUID.","isRequired":true,"uniqueKey":"rows.items.[INDEX].id","typeLabel":"string\u003cuuid>"}},"additionalProperties":true,"description":"Flat object with column **slugs** as keys. Values are strings, numbers,\nor arrays depending on column type. Cells with no value are omitted.\nUse the `columns` map in the response to resolve slugs to display names.\n","uniqueKey":"rows.items.[INDEX]","typeLabel":"object"},"description":"Enriched row data. Only present when `status` is `\"complete\"`.\nRow keys are column slugs; use the `columns` map to resolve display names.\nAll rows for the batch are returned in one response (see operation description\nfor the relationship to per-request insert limits).\n","uniqueKey":"rows","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"processing":{"title":"processing","value":{"batchId":"f47ac10b-58cc-4372-a567-0e02b2c3d479","tableId":"d290f1ee-6c54-4b01-90e6-d701748f0851","type":"insert","status":"processing","rowCount":2,"enrichments":{"total":10,"completed":4,"pending":6,"failed":0},"failures":{},"creditsUsed":0,"createdAt":"2026-07-01T14:30:00Z","completedAt":null}},"complete":{"title":"complete","value":{"batchId":"f47ac10b-58cc-4372-a567-0e02b2c3d479","tableId":"d290f1ee-6c54-4b01-90e6-d701748f0851","type":"insert","status":"complete","rowCount":2,"enrichments":{"total":10,"completed":10,"pending":0,"failed":0},"failures":{},"columns":{"company-name":"Company Name","website":"Website","ceo-email":"CEO Email","employee-count":"Employee Count"},"rows":[{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","company-name":"Acme Corp","website":"acme.com","ceo-email":"ceo@acme.com","employee-count":150},{"id":"b2c3d4e5-f6a7-8901-bcde-f12345678901","company-name":"Beta Inc","website":"beta.io","ceo-email":"founder@beta.io","employee-count":42}],"creditsUsed":12,"createdAt":"2026-07-01T14:30:00Z","completedAt":"2026-07-01T14:31:15Z"}},"partialFailure":{"title":"partialFailure","value":{"batchId":"f47ac10b-58cc-4372-a567-0e02b2c3d479","tableId":"d290f1ee-6c54-4b01-90e6-d701748f0851","type":"insert","status":"complete","rowCount":5,"enrichments":{"total":10,"completed":6,"pending":0,"failed":4},"failures":{"insufficientCredits":3,"enrichmentError":1},"columns":{"company-name":"Company Name","website":"Website","ceo-email":"CEO Email"},"rows":[{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","company-name":"Acme Corp","website":"acme.com","ceo-email":"ceo@acme.com"}],"creditsUsed":36,"createdAt":"2026-07-01T14:30:00Z","completedAt":"2026-07-01T14:32:00Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"0b9a19ea-5a9c-49ac-97d2-783ca5ecee97":{"description":"Invalid path parameter.","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"Invalid batchId","code":"VALIDATION_ERROR"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid batchId","code":"VALIDATION_ERROR"}}},"exampleType":"examples"}},"exampleType":"examples"},"a1ff03fa-edda-455c-a209-9e67814ba5b9":{"description":"Missing, invalid, revoked, or expired API key.","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"Invalid API key","code":"UNAUTHORIZED"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid API key","code":"UNAUTHORIZED"}}},"exampleType":"examples"}},"exampleType":"examples"},"490c5d9d-53ee-4e53-a7c4-c357adec2a25":{"description":"Feature requires a plan upgrade.","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"Subscription required","code":"SUBSCRIPTION_REQUIRED","hint":"Upgrade to a Growth or Business plan to use this feature."},"examples":{"Example":{"title":"Example","value":{"error":"Subscription required","code":"SUBSCRIPTION_REQUIRED","hint":"Upgrade to a Growth or Business plan to use this feature."}}},"exampleType":"examples"}},"exampleType":"examples"},"27a57730-3004-4d15-95a4-449bddb1ad2f":{"description":"Batch not found.","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"Batch not found","code":"NOT_FOUND"},"examples":{"Example":{"title":"Example","value":{"error":"Batch not found","code":"NOT_FOUND"}}},"exampleType":"examples"}},"exampleType":"examples"},"ca98260c-e354-4bb3-a017-b320c748dc91":{"description":"Rate limit exceeded.","headers":{"X-RateLimit-Limit-IP":{"schema":{"type":"integer"},"description":"IP bucket: maximum requests allowed in the window."},"X-RateLimit-Remaining-IP":{"schema":{"type":"integer"},"description":"IP bucket: requests remaining in the current window."},"X-RateLimit-Reset-IP":{"schema":{"type":"integer"},"description":"IP bucket: Unix timestamp when the window resets."},"X-RateLimit-Limit-Global":{"schema":{"type":"integer"},"description":"Organization bucket: maximum requests allowed in the window."},"X-RateLimit-Remaining-Global":{"schema":{"type":"integer"},"description":"Organization bucket: requests remaining in the current window."},"X-RateLimit-Reset-Global":{"schema":{"type":"integer"},"description":"Organization bucket: Unix timestamp when the window resets."},"X-RateLimit-Limit-Insert":{"schema":{"type":"integer"},"description":"Insert bucket: maximum requests allowed in the window (write routes only)."},"X-RateLimit-Remaining-Insert":{"schema":{"type":"integer"},"description":"Insert bucket: requests remaining in the current window."},"X-RateLimit-Reset-Insert":{"schema":{"type":"integer"},"description":"Insert bucket: Unix timestamp when the window resets."}},"content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"Rate limit exceeded","code":"RATE_LIMITED"},"examples":{"Example":{"title":"Example","value":{"error":"Rate limit exceeded","code":"RATE_LIMITED"}}},"exampleType":"examples"}},"exampleType":"examples"},"00bae3dd-cba8-468b-8019-d0e9e7dc2206":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"Internal server error","code":"INTERNAL_ERROR"},"examples":{"Example":{"title":"Example","value":{"error":"Internal server error","code":"INTERNAL_ERROR"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"a469a3f7-fc19-43ae-a31d-59e03e274c51":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"og_live_*","description":"API key with `og_live_` prefix. Create keys in **Settings → API Keys**.\n\nPass in the `Authorization` header:\n```\nAuthorization: Bearer og_live_abc123...\n```\n","scopes":[]}}},"servers":{"7c65050f-73b2-4171-a30b-095d147fbd73":{"url":"https://origami.chat/api/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"og_live_*","description":"API key with `og_live_` prefix. Create keys in **Settings → API Keys**.\n\nPass in the `Authorization` header:\n```\nAuthorization: Bearer og_live_abc123...\n```\n","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key with `og_live_` prefix. Create keys in **Settings → API Keys**.\n\nPass in the `Authorization` header:\n```\nAuthorization: Bearer og_live_abc123...\n```\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi-v1.yaml"},"subdomain":"origamiagents","siteName":"Origami API","title":"Get batch - Origami API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-25T18:43:17.641Z","originalFileLocation":"api-reference/batches/get-batch.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=\"light\"}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=\"Check the status of an async batch. When all enrichments are complete, the response includes the full enriched row data and total credits used. A batch is \u0026quot;complete\u0026quot; when every enrichment has reached a terminal state; this includes both succeeded and failed runs. Check enrichments.failed \u0026gt; 0 to detect partial failures. Rows in the response: When status is \u0026quot;complete\u0026quot;, rows includes every row for this batch in a single array (not paginated). Insert requests are limited to 100 rows per batch (see POST /tables/{tableId}/rows), so result payloads stay bounded; if that limit increases in the future, pagination may be introduced for this field. Polling strategy: For fast results, poll every 2-5 seconds. For background processing, poll every 30-60 seconds.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Origami API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get batch - Origami API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Check the status of an async batch. When all enrichments are complete, the response includes the full enriched row data and total credits used. A batch is \u0026quot;complete\u0026quot; when every enrichment has reached a terminal state; this includes both succeeded and failed runs. Check enrichments.failed \u0026gt; 0 to detect partial failures. Rows in the response: When status is \u0026quot;complete\u0026quot;, rows includes every row for this batch in a single array (not paginated). Insert requests are limited to 100 rows per batch (see POST /tables/{tableId}/rows), so result payloads stay bounded; if that limit increases in the future, pagination may be introduced for this field. Polling strategy: For fast results, poll every 2-5 seconds. For background processing, poll every 30-60 seconds.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Origami API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.origami.chat/api-reference/batches/get-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://origamiagents.mintlify.app/_mintlify/api/og/v2?division=Batches\u0026amp;title=Get+batch\u0026amp;description=Check+the+status+of+an+async+batch.+When+all+enrichments+are+complete%2C+the%0Aresponse+includes+the+full+enriched+row+data+and+total+credits+used.%0A%0AA+batch+is+%60%22co\u0026amp;theme=e0ce817f1c64e26a408cc8e3\u0026amp;signature=dc1493112ce8511809bb97c003f885d47e41d310527022033bcfebc8ca9bcfca\">\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=\"Get batch - Origami API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Check the status of an async batch. When all enrichments are complete, the response includes the full enriched row data and total credits used. A batch is \u0026quot;complete\u0026quot; when every enrichment has reached a terminal state; this includes both succeeded and failed runs. Check enrichments.failed \u0026gt; 0 to detect partial failures. Rows in the response: When status is \u0026quot;complete\u0026quot;, rows includes every row for this batch in a single array (not paginated). Insert requests are limited to 100 rows per batch (see POST /tables/{tableId}/rows), so result payloads stay bounded; if that limit increases in the future, pagination may be introduced for this field. Polling strategy: For fast results, poll every 2-5 seconds. For background processing, poll every 30-60 seconds.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://origamiagents.mintlify.app/_mintlify/api/og/v2?division=Batches\u0026amp;title=Get+batch\u0026amp;description=Check+the+status+of+an+async+batch.+When+all+enrichments+are+complete%2C+the%0Aresponse+includes+the+full+enriched+row+data+and+total+credits+used.%0A%0AA+batch+is+%60%22co\u0026amp;theme=e0ce817f1c64e26a408cc8e3\u0026amp;signature=dc1493112ce8511809bb97c003f885d47e41d310527022033bcfebc8ca9bcfca\">\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=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Origami API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#fe7bcd\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.origami.chat/api-reference/batches/get-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/batches/get-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.origami.chat/#organization\",\"name\":\"Origami API\",\"url\":\"https://docs.origami.chat\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/origamiagents/XHcb8BJCoB-coV4A/logo/light.svg?fit=max\u0026auto=format\u0026n=XHcb8BJCoB-coV4A\u0026q=85\u0026s=f373c14798a59bfb8cedc4284f55a0ca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.origami.chat#website\",\"name\":\"Origami API\",\"url\":\"https://docs.origami.chat\",\"publisher\":{\"@id\":\"https://docs.origami.chat/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.origami.chat/api-reference/batches/get-batch#webpage\",\"url\":\"https://docs.origami.chat/api-reference/batches/get-batch\",\"name\":\"Get batch\",\"description\":\"Check the status of an async batch. When all enrichments are complete, the response includes the full enriched row data and total credits used. A batch is \\\"complete\\\" when every enrichment has reached a terminal state; this includes both succeeded and failed runs. Check enrichments.failed > 0 to detect partial failures. Rows in the response: When status is \\\"complete\\\", rows includes every row for this batch in a single array (not paginated). Insert requests are limited to 100 rows per batch (see POST /tables/{tableId}/rows), so result payloads stay bounded; if that limit increases in the future, pagination may be introduced for this field. Polling strategy: For fast results, poll every 2-5 seconds. For background processing, poll every 30-60 seconds.\",\"dateModified\":\"2026-08-25T18:43:17.641Z\",\"isPartOf\":{\"@id\":\"https://docs.origami.chat#website\"},\"breadcrumb\":{\"@id\":\"https://docs.origami.chat/api-reference/batches/get-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.origami.chat/api-reference/batches/get-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data API (v1)\",\"item\":\"https://docs.origami.chat/api-reference/tables/list-tables\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get batch\",\"item\":\"https://docs.origami.chat/api-reference/batches/get-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.origami.chat/api-reference/batches/get-batch#apireference\",\"headline\":\"Get batch\",\"name\":\"Get batch\",\"description\":\"Check the status of an async batch. When all enrichments are complete, the response includes the full enriched row data and total credits used. A batch is \\\"complete\\\" when every enrichment has reached a terminal state; this includes both succeeded and failed runs. Check enrichments.failed > 0 to detect partial failures. Rows in the response: When status is \\\"complete\\\", rows includes every row for this batch in a single array (not paginated). Insert requests are limited to 100 rows per batch (see POST /tables/{tableId}/rows), so result payloads stay bounded; if that limit increases in the future, pagination may be introduced for this field. Polling strategy: For fast results, poll every 2-5 seconds. For background processing, poll every 30-60 seconds.\",\"url\":\"https://docs.origami.chat/api-reference/batches/get-batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.origami.chat/api-reference/batches/get-batch#webpage\"},\"dateModified\":\"2026-08-25T18:43:17.641Z\",\"publisher\":{\"@id\":\"https://docs.origami.chat/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.origami.chat#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Origami API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Origami API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"v3 API","pages":[{"title":"v3 API","href":"/v3/overview"}]},{"tab":"v2 API","pages":[{"title":"v2 API","href":"/agents"}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/webhooks/overview"}]},{"tab":"Deprecated","groups":[{"group":"Migration","pages":[{"title":"Migrate from v2 to v3","href":"/api-v2-to-v3-migration"},{"title":"Migrating from v1 to v2","href":"/api-v1-to-v2-migration"}]},{"group":"Data API (v1)","pages":[{"group":"Tables","pages":[{"title":"List tables","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml get /tables","href":"/api-reference/tables/list-tables"},{"title":"Read table rows","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml get /tables/{tableId}/rows","href":"/api-reference/tables/read-table-rows"}]},{"group":"Rows","pages":[{"title":"Insert rows","description":"Insert rows into an existing table. Returns a batch ID immediately; poll\n`GET /batches/{batchId}` for enrichment progress and results.\n\n**Column matching:** Field names in each row object are matched to **input** columns\nby **slug** (exact match). Only columns with `kind: \"input\"` are accepted;\nenrichment and score columns are populated automatically. Use `GET /tables` to\ndiscover available column slugs and their kinds.\n\n**Enrichment:** By default (`enrich: true`), all auto-trigger enrichment columns run\nimmediately after insertion. Set `enrich: false` to insert data without triggering enrichment.\n\n**Credits:** Credit shortfalls do not fail the insert synchronously; they surface later\nin the batch's `failures.insufficientCredits` (poll `GET /batches/{batchId}`).\n\n**Deduplication \u0026 exclusion lists** apply automatically; the same table-level rules\nfrom the UI are enforced. Duplicate or excluded rows are inserted but may not enrich.\n\n**Limits:**\n- Maximum **100 rows** per request.\n- Free-plan tables are capped at **30 rows** total.\n","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml post /tables/{tableId}/rows","href":"/api-reference/rows/insert-rows"}]},{"group":"Batches","pages":[{"title":"Get batch","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml get /batches/{batchId}","href":"/api-reference/batches/get-batch"}]},{"group":"Credits","pages":[{"title":"Get credit balance","description":"Returns the current credit balance for the organization tied to this API key.\n","deprecated":null,"version":null,"openapi":"/openapi-v1.yaml get /credits","href":"/api-reference/credits/get-credit-balance"}]}]}]}]},"basePath":"","title":"Get batch - Origami API","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}