Answer one or more of the request’s items in a single call, each element of items[] naming its own item_id. Answering only some of them is the normal case.
All or nothing. Every answer is checked against its own item’s answer_spec before any of them is written, so one bad answer leaves the request exactly as it was.
An item reads answered as soon as the call succeeds, before a reviewer looks at it.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Kira API","colors":{"primary":"#E62987","light":"#F06DA8","dark":"#612481"},"logo":{"light":"https://mintcdn.com/kira-e9bd267b/dEOvipkd5jLvhPmn/logo/light.svg?fit=max\u0026auto=format\u0026n=dEOvipkd5jLvhPmn\u0026q=85\u0026s=fbea64b5baa2dae82b3d79e14136b8bd","dark":"https://mintcdn.com/kira-e9bd267b/dEOvipkd5jLvhPmn/logo/dark.svg?fit=max\u0026auto=format\u0026n=dEOvipkd5jLvhPmn\u0026q=85\u0026s=6843a7e51823cef278365ef8db797f0b"},"favicon":"https://mintcdn.com/kira-e9bd267b/dEOvipkd5jLvhPmn/favicon.svg?fit=max\u0026auto=format\u0026n=dEOvipkd5jLvhPmn\u0026q=85\u0026s=e86d0cbd01d8bef1d7a9e2824e00fd1f","navbar":{"links":[{"href":"mailto:support@kirafin.ai","label":"Support"}],"primary":{"type":"button","label":"Get API access","href":"mailto:support@kirafin.ai"}},"footer":{"links":[{"header":"Resources","items":[{"label":"Support","href":"mailto:support@kirafin.ai"}]}]},"contextual":{"options":["copy","view","assistant","chatgpt","claude","perplexity","cursor","vscode","mcp","add-mcp","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kira-e9bd267b","hasAudioNarration":false,"actualSubdomain":"kira-e9bd267b","customDomains":["docs.kirafin.ai"],"gitSource":{"type":"github","owner":"jaguartechnologylabs","repo":"kira","deployBranch":"main","contentDirectory":"mintlify-api-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"e531e126-1117-4387-9af6-dcef82e20bc6","liveDeploymentHistoryId":"6ae2377b5db1d64f77da6d93","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2377b5db1d64f77da6d93"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"}},"buildId":"6ae28d5137c4713cdf73e22a","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API reference","count":98},{"language":"default","tag":"Guides","count":49},{"language":"default","tag":"Virtual Accounts","count":20},{"language":"default","tag":"RFIs","count":16},{"language":"default","tag":"Overview","count":12},{"language":"default","tag":"Capabilities","count":11},{"language":"default","tag":"Payouts","count":10},{"language":"default","tag":"Users","count":10},{"language":"default","tag":"Recipients","count":8},{"language":"default","tag":"Ultimate Payors","count":8}]},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/rfis/answer-rfi-items","slug":"/api-reference/rfis/answer-rfi-items","pageMetadata":{"title":"Answer RFI items","description":"Answer one or more of the request's items in a single call, each element of `items[]` naming its own `item_id`. Answering only some of them is the normal case.\n\n**All or nothing.** Every answer is checked against its own item's `answer_spec` before any of them is written, so one bad answer leaves the request exactly as it was.\n\nAn item reads `answered` as soon as the call succeeds, before a reviewer looks at it.","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json patch /v1/rfis/{rfi_id}/items","href":"/api-reference/rfis/answer-rfi-items","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: [_jsxs(_components.p, {\n children: [\"Answer one or more of the request’s items in a single call, each element of \", _jsx(_components.code, {\n children: \"items[]\"\n }), \" naming its own \", _jsx(_components.code, {\n children: \"item_id\"\n }), \". Answering only some of them is the normal case.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"All or nothing.\"\n }), \" Every answer is checked against its own item’s \", _jsx(_components.code, {\n children: \"answer_spec\"\n }), \" before any of them is written, so one bad answer leaves the request exactly as it was.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"An item reads \", _jsx(_components.code, {\n children: \"answered\"\n }), \" as soon as the call succeeds, before a reviewer looks at it.\"]\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":"Answer RFI items","description":"Answer one or more of the request's items in a single call, each element of `items[]` naming its own `item_id`. Answering only some of them is the normal case.\n\n**All or nothing.** Every answer is checked against its own item's `answer_spec` before any of them is written, so one bad answer leaves the request exactly as it was.\n\nAn item reads `answered` as soon as the call succeeds, before a reviewer looks at it.","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json patch /v1/rfis/{rfi_id}/items","href":"/api-reference/rfis/answer-rfi-items","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"patch_v1-rfis-rfi-id-items","summary":"Answer RFI items","tags":["RFIs"],"security":["6ef2af71-8762-4fc1-9ea1-caa328a98191"],"description":"Answer one or more of the request's items in a single call, each element of `items[]` naming its own `item_id`. Answering only some of them is the normal case.\n\n**All or nothing.** Every answer is checked against its own item's `answer_spec` before any of them is written, so one bad answer leaves the request exactly as it was.\n\nAn item reads `answered` as soon as the call succeeds, before a reviewer looks at it.","parameters":["01a08a2d-89da-4223-89ca-8d18bd0469b7","e56f54bc-f580-4fd9-a363-0fd72ef91903"],"requestBody":"5fb518d0-8d14-4f8a-8788-b6142fb83ece","responses":{"200":"d7f1fbf3-3c72-4d85-8a12-b70677d50e04","400":"d217f837-3265-47d9-9a3b-00b7886c4c11","401":"a4c7f1c3-1949-42b7-86f3-b422faf971c6","404":"0c76415c-b2f6-4186-ac38-fa16027a410e","409":"2c36b910-003c-4711-8bb0-20eb145dbbd2","422":"8b3f06d9-227e-43cf-b7df-9d0abafe4816"},"servers":["4c039816-cee3-4840-9ef6-2dfcc4caf25a","1d0d4387-65e6-4967-a42e-f2af8ef66636"],"method":"patch","type":"path","path":"/v1/rfis/{rfi_id}/items","baseUrlOptions":["https://api.balampay.com/sandbox","https://api.balampay.com"],"title":"Answer RFI items","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"01a08a2d-89da-4223-89ca-8d18bd0469b7":{"in":"path","name":"rfi_id","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"RFI UUID.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"RFI UUID."},"e56f54bc-f580-4fd9-a363-0fd72ef91903":{"in":"header","name":"X-Api-Version","required":false,"description":"Version applied to this request. It wins over your account's pinned version — see [Versioning](/using-the-api/versioning).","schema":{"type":"string","example":"2026-06-01","isRequired":false,"description":"Version applied to this request. It wins over your account's pinned version — see [Versioning](/using-the-api/versioning).","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"items":{"type":"object","required":["item_id","answer_value"],"properties":{"item_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"\\items.items.[INDEX].item_id","typeLabel":"string\u003cuuid>"},"answer_value":{"description":"The answer for this item, in the shape its `answer_type` expects (a string for `text_short` / `text_long` / `identifier`, a list of options for a `choice` whose `answer_spec` carries `multiple: true`, etc. — validated against `answer_spec`). There is no empty answer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].answer_value","typeLabel":"any"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"description":"One or more items to answer, each naming its `item_id`.","isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"answer-two-items":{"title":"answer-two-items","value":{"items":[{"item_id":"0198f2c2-0000-0000-0000-000000000000","answer_value":"12-3456789"},{"item_id":"0198f2c3-0000-0000-0000-000000000000","answer_value":"Export sales to three LATAM customers"}]}}},"exampleType":"examples"}},"description":"Answering a returned item is answering it again with the same `item_id`. A `document` item is not answered here; upload files to it instead.","exampleType":"examples"},"responses":{"d7f1fbf3-3c72-4d85-8a12-b70677d50e04":{"description":"The items were answered.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","description":"One thing being asked for. The addressable unit of an RFI — a `PATCH` or a document upload always names an `item_id`, never the parent RFI.","properties":{"item_id":{"type":"string","format":"uuid","uniqueKey":"\\items.items.[INDEX].item_id","typeLabel":"string\u003cuuid>"},"ordinal":{"type":"integer","description":"Display order within the RFI.","uniqueKey":"\\items.items.[INDEX].ordinal","typeLabel":"integer"},"prompt":{"type":"string","description":"What is being asked, in prose.","uniqueKey":"\\items.items.[INDEX].prompt","typeLabel":"string"},"answer_type":{"type":"string","enum":["text_long","text_short","number","date","boolean","choice","identifier","document","ubo_link","signature_link","fatca_questions"],"description":"What the item is asking for, and therefore what a valid answer looks like. See [RFI values](/reference/rfis/values#answer_type).","uniqueKey":"\\items.items.[INDEX].answer_type","typeLabel":"enum\u003cstring>"},"answer_spec":{"type":"object","additionalProperties":true,"description":"The complete set of rules this item validates an answer against, not a suggestion. Which keys it holds is fixed by `answer_type` — see [RFI values](/reference/rfis/values#answer_spec-by-answer-type).","example":{"options":["ssn","itin"]},"uniqueKey":"\\items.items.[INDEX].answer_spec","typeLabel":"object"},"target_key":{"oneOf":[{"type":"string","description":"The named field this answer writes on acceptance (e.g. `ein`), or `null` when the answer lives only on this item. On a request about a capability request it can also name a question of that capability's form.","uniqueKey":"\\items.items.[INDEX].target_key.oneOf.0","typeLabel":"string"},{"type":"null","description":"The named field this answer writes on acceptance (e.g. `ein`), or `null` when the answer lives only on this item. On a request about a capability request it can also name a question of that capability's form.","uniqueKey":"\\items.items.[INDEX].target_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].target_key","typeLabel":"string | null"},"subject":{"oneOf":[{"type":"object","description":"Who the item is about. `null` for the sub-client itself; otherwise the associated person it names.","properties":{"person_id":{"type":"string","description":"The `person_id` of the entry in the subclient's `associated_persons`.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].subject.oneOf.0.person_id","typeLabel":"string"},"display_name":{"oneOf":[{"type":"string","description":"The person's name as currently stored — first, middle and last — or `null` when they can no longer be found.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].subject.oneOf.0.display_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The person's name as currently stored — first, middle and last — or `null` when they can no longer be found.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].subject.oneOf.0.display_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].subject.oneOf.0.display_name","typeLabel":"string | null"}},"example":{"person_id":"3f1c2a9b7e0d4c6a8b5f1e2d3c4b5a69","display_name":"María López"},"required":["person_id","display_name"],"uniqueKey":"\\items.items.[INDEX].subject.oneOf.0","typeLabel":"object"},{"type":"null","description":"Who the item is about. `null` for the sub-client itself; otherwise the associated person it names.","properties":{"person_id":{"type":"string","description":"The `person_id` of the entry in the subclient's `associated_persons`."},"display_name":{"oneOf":[{"type":"string","description":"The person's name as currently stored — first, middle and last — or `null` when they can no longer be found."},{"type":"null","description":"The person's name as currently stored — first, middle and last — or `null` when they can no longer be found."}]}},"example":{"person_id":"3f1c2a9b7e0d4c6a8b5f1e2d3c4b5a69","display_name":"María López"},"required":["person_id","display_name"],"uniqueKey":"\\items.items.[INDEX].subject.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].subject","typeLabel":"object | null"},"status":{"type":"string","enum":["pending","answered"],"description":"Whether this item is answered. An item has no ending of its own — whether the request is satisfied is the request's own `status`. See [RFI values](/reference/rfis/values#item-status).","uniqueKey":"\\items.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"answer_value":{"oneOf":[{"type":"string","items":{"type":"string"},"description":"The answer recorded, in the shape `answer_type` expects. A list of options on a `choice` item whose `answer_spec` carries `multiple: true`. `null` on a `document` item, whose answer lives in `documents`.","uniqueKey":"\\items.items.[INDEX].answer_value.oneOf.0","typeLabel":"string"},{"type":"number","items":{"type":"string"},"description":"The answer recorded, in the shape `answer_type` expects. A list of options on a `choice` item whose `answer_spec` carries `multiple: true`. `null` on a `document` item, whose answer lives in `documents`.","uniqueKey":"\\items.items.[INDEX].answer_value.oneOf.1","typeLabel":"number"},{"type":"boolean","items":{"type":"string"},"description":"The answer recorded, in the shape `answer_type` expects. A list of options on a `choice` item whose `answer_spec` carries `multiple: true`. `null` on a `document` item, whose answer lives in `documents`.","uniqueKey":"\\items.items.[INDEX].answer_value.oneOf.2","typeLabel":"boolean"},{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].answer_value.oneOf.3.items.[INDEX]","typeLabel":"string"},"description":"The answer recorded, in the shape `answer_type` expects. A list of options on a `choice` item whose `answer_spec` carries `multiple: true`. `null` on a `document` item, whose answer lives in `documents`.","uniqueKey":"\\items.items.[INDEX].answer_value.oneOf.3","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"The answer recorded, in the shape `answer_type` expects. A list of options on a `choice` item whose `answer_spec` carries `multiple: true`. `null` on a `document` item, whose answer lives in `documents`.","uniqueKey":"\\items.items.[INDEX].answer_value.oneOf.4","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].answer_value","typeLabel":"string | number | boolean | string[] | null"},"documents":{"type":"array","items":{"type":"object","properties":{"document_id":{"type":"string","format":"uuid","uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX].document_id","typeLabel":"string\u003cuuid>"},"file_name":{"type":"string","description":"The name the file was uploaded under, sanitized. This is the name it downloads as — the internal storage path is never exposed.","example":"january.pdf","uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX].file_name","typeLabel":"string"},"mime_type":{"type":"string","example":"application/pdf","uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX].mime_type","typeLabel":"string"},"size_bytes":{"type":"integer","uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX].size_bytes","typeLabel":"integer"},"checksum":{"type":"string","description":"SHA-256 of the file's contents, in lower-case hex. Compare it to know a file you are holding is the one on the item.","uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX].checksum","typeLabel":"string"},"uploaded_at":{"type":"string","format":"date-time","uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX].uploaded_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"\\items.items.[INDEX].documents.items.[INDEX]","typeLabel":"object"},"description":"Always present; empty unless `answer_type` is `document`.","uniqueKey":"\\items.items.[INDEX].documents","typeLabel":"object[]"},"review_note":{"oneOf":[{"type":"string","description":"Why the item was sent back for another answer. Cleared the next time it is answered.","uniqueKey":"\\items.items.[INDEX].review_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why the item was sent back for another answer. Cleared the next time it is answered.","uniqueKey":"\\items.items.[INDEX].review_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].review_note","typeLabel":"string | null"},"updated_at":{"oneOf":[{"type":"string","format":"date-time","description":"When this item was last answered. Moves on every round, whether or not it changes the item's status.","uniqueKey":"\\items.items.[INDEX].updated_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When this item was last answered. Moves on every round, whether or not it changes the item's status.","uniqueKey":"\\items.items.[INDEX].updated_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time> | null"},"returned_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the item was last sent back for another answer. `null` if it never has been, including while it is under review.","uniqueKey":"\\items.items.[INDEX].returned_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the item was last sent back for another answer. `null` if it never has been, including while it is under review.","uniqueKey":"\\items.items.[INDEX].returned_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].returned_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"description":"The items named in the request, each reflecting the write (`status: \"answered\"`, `answer_value`/`documents`, `updated_at`).","uniqueKey":"\\items","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"items":[{"item_id":"1a2b3c4d-5e6f-4708-9a1b-2c3d4e5f6a7b","ordinal":1,"prompt":"What is the company's registered legal name?","answer_type":"text_short","answer_spec":{"max_length":120},"target_key":null,"subject":null,"status":"answered","answer_value":"Northwind Trading LLC","documents":[],"review_note":null,"updated_at":"2026-09-02T09:15:00.000Z","returned_at":null}]},"examples":{"Example":{"title":"Example","value":{"items":[{"item_id":"1a2b3c4d-5e6f-4708-9a1b-2c3d4e5f6a7b","ordinal":1,"prompt":"What is the company's registered legal name?","answer_type":"text_short","answer_spec":{"max_length":120},"target_key":null,"subject":null,"status":"answered","answer_value":"Northwind Trading LLC","documents":[],"review_note":null,"updated_at":"2026-09-02T09:15:00.000Z","returned_at":null}]}}},"exampleType":"examples"}},"exampleType":"examples"},"d217f837-3265-47d9-9a3b-00b7886c4c11":{"description":"The request could not be read. Two checks answer here, with different bodies. A malformed `rfi_id` gets `error` and `details[]`, with no `code`. A body that is not an `items[]` of objects with `item_id` gets `code`, `error` and `details[]`. A missing or wrong `answer_value` is the `422` below.","content":{"application/json":{"schema":{"type":"object","description":"Validation / request error. The body shape is **not uniform** across the API — it varies by endpoint and by which validation layer rejects the request. The fields below are the union of what may appear; treat them all as optional. Observed shapes include `{ code, message }`, `{ code, message, errors[] }`, `{ code, error, details[] }`, `{ error, details[] }`, and a nested `{ error: { code, message, details } }`. Always branch on the HTTP status, not on a fixed body shape.","properties":{"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"A short error label (e.g. `\"Invalid data\"`), or on some endpoints a nested `{ code, message, details }` object.","uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"object","description":"A short error label (e.g. `\"Invalid data\"`), or on some endpoints a nested `{ code, message, details }` object.","uniqueKey":"error.oneOf.1","typeLabel":"object"}],"uniqueKey":"error","typeLabel":"string | object"},"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"details":{"oneOf":[{"type":"array","description":"Per-issue detail. Shape varies by endpoint — typically an array of `{ message }` or `{ path, message, code }`, occasionally an object.","uniqueKey":"details.oneOf.0","typeLabel":"array"},{"type":"object","description":"Per-issue detail. Shape varies by endpoint — typically an array of `{ message }` or `{ path, message, code }`, occasionally an object.","uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"array | object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"malformed_id":{"title":"malformed_id","value":{"error":"Invalid request data","details":[{"path":"rfi_id","message":"Invalid RFI ID format","code":"invalid_string"}]}},"malformed_body":{"title":"malformed_body","value":{"code":"validation_error","error":"Invalid data","details":[{"message":"items must name at least one item to answer"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"a4c7f1c3-1949-42b7-86f3-b422faf971c6":{"description":"You are not authenticated. The `Authorization` header is missing, or its token has expired or is not valid. Get a new token from [Get access token](/api-reference/authentication/get-access-token).\n\nAn `x-api-key` header does not replace the token. Sent alone, it gets this same answer.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"statusCode":{"type":"number","uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"timestamp":{"type":"string","uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","uniqueKey":"path","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"details","typeLabel":"any"}},"required":["message"],"uniqueKey":"","typeLabel":"object"},"example":{"code":"invalid_request","message":"The request was not authenticated. Request a token at POST /auth with your Client ID and your API key, then send it as Authorization: Bearer \u003ctoken>."},"examples":{"Example":{"title":"Example","value":{"code":"invalid_request","message":"The request was not authenticated. Request a token at POST /auth with your Client ID and your API key, then send it as Authorization: Bearer \u003ctoken>."}}},"exampleType":"examples"}},"exampleType":"examples"},"0c76415c-b2f6-4186-ac38-fa16027a410e":{"description":"Either the request is not visible to you — another client's, or withdrawn — or an `item_id` in the body does not belong to it. `code` tells the two apart.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"statusCode":{"type":"number","uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"timestamp":{"type":"string","uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","uniqueKey":"path","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"details","typeLabel":"any"}},"required":["message"],"uniqueKey":"","typeLabel":"object"},"examples":{"rfi_not_found":{"title":"rfi_not_found","value":{"statusCode":404,"error":"Not Found","message":"RFI not found","timestamp":"2026-09-15T10:22:41.117Z","path":"/v1/rfis/7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b/items","code":"rfi_not_found"}},"item_not_found":{"title":"item_not_found","value":{"statusCode":404,"error":"Not Found","message":"item 1a2b3c4d-5e6f-4708-9a1b-2c3d4e5f6a7b does not belong to rfi 7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b","timestamp":"2026-09-15T10:22:41.117Z","path":"/v1/rfis/7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b/items","code":"rfi_item_not_found"}}},"exampleType":"examples"}},"exampleType":"examples"},"2c36b910-003c-4711-8bb0-20eb145dbbd2":{"description":"The request or one of its items cannot take this answer now, and the same call gets the same response. A closed request takes no more answers. An item that reads `answered` is with a reviewer, and takes an answer again only if they send it back.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"statusCode":{"type":"number","uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"timestamp":{"type":"string","uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","uniqueKey":"path","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"details","typeLabel":"any"}},"required":["message"],"uniqueKey":"","typeLabel":"object"},"examples":{"rfi_closed":{"title":"rfi_closed","value":{"statusCode":409,"error":"Conflict","message":"rfi 7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b is resolved and no longer accepts answers","timestamp":"2026-09-15T10:22:41.117Z","path":"/v1/rfis/7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b/items","code":"rfi_closed"}},"item_not_answerable":{"title":"item_not_answerable","value":{"statusCode":409,"error":"Conflict","message":"item 1a2b3c4d-5e6f-4708-9a1b-2c3d4e5f6a7b is answered and cannot be answered again right now","timestamp":"2026-09-15T10:22:41.117Z","path":"/v1/rfis/7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b/items","code":"rfi_item_not_answerable"}}},"exampleType":"examples"}},"exampleType":"examples"},"8b3f06d9-227e-43cf-b7df-9d0abafe4816":{"description":"**Nothing was written.** `rfi_answer_invalid` has one entry per item under `details.errors`, each with its `item_id` and a reason you can show to whoever supplies the answer. Sending an `answer_value` to a `document` item is one such case. `rfi_item_not_client_answerable` means the item is a `ubo_link`, a `signature_link` or a `fatca_questions`: it is completed at its link, so this call takes no answer for it, not even an empty one.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"statusCode":{"type":"number","uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"timestamp":{"type":"string","uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","uniqueKey":"path","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"details","typeLabel":"any"}},"required":["message"],"uniqueKey":"","typeLabel":"object"},"examples":{"answer_invalid":{"title":"answer_invalid","value":{"statusCode":422,"error":"Unprocessable Entity","message":"one or more answers did not match their item’s answer_spec","timestamp":"2026-09-15T10:22:41.117Z","path":"/v1/rfis/7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b/items","code":"rfi_answer_invalid","details":{"errors":[{"item_id":"1a2b3c4d-5e6f-4708-9a1b-2c3d4e5f6a7b","message":"answer_value for an identifier item: expected ein — nine digits, hyphenated or not — 12-3456789"}]}}},"not_client_answerable":{"title":"not_client_answerable","value":{"statusCode":422,"error":"Unprocessable Entity","message":"item 1a2b3c4d-5e6f-4708-9a1b-2c3d4e5f6a7b is completed by the person it names finishing their verification, not by an answer here","timestamp":"2026-09-15T10:22:41.117Z","path":"/v1/rfis/7f1c9a20-3b4d-4e5f-8a91-2c3d4e5f6a7b/items","code":"rfi_item_not_client_answerable"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"6ef2af71-8762-4fc1-9ea1-caa328a98191":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The `data.access_token` value from [Get access token](/api-reference/authentication/get-access-token).","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"4c039816-cee3-4840-9ef6-2dfcc4caf25a":{"url":"https://api.balampay.com/sandbox","description":"Sandbox"},"1d0d4387-65e6-4967-a42e-f2af8ef66636":{"url":"https://api.balampay.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The `data.access_token` value from [Get access token](/api-reference/authentication/get-access-token).","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"The `data.access_token` value from [Get access token](/api-reference/authentication/get-access-token).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/kira-api.2026-06-01.json"},"subdomain":"kira-e9bd267b","siteName":"Kira API","title":"Answer RFI items - Kira API","navMaps":{"firstHrefInVersion":{"2026-06-01":{"href":"/api-reference/rfis/answer-rfi-items","matchLevel":0},"2026-04-14":{"href":"/api-reference-2026-04-14/rfis/answer-rfi-items","matchLevel":1}},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T00:03:38.294Z","originalFileLocation":"api-reference/rfis/answer-rfi-items.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=\"Answer one or more of the request\u0026#x27;s items in a single call, each element of items[] naming its own item_id. Answering only some of them is the normal case. All or nothing. Every answer is checked against its own item\u0026#x27;s answer_spec before any of them is written, so one bad answer leaves the request exactly as it was. An item reads answered as soon as the call succeeds, before a reviewer looks at it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kira 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/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_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/kira-e9bd267b/dXC9lpm6kVZ516ct/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Answer RFI items - Kira API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Answer one or more of the request\u0026#x27;s items in a single call, each element of items[] naming its own item_id. Answering only some of them is the normal case. All or nothing. Every answer is checked against its own item\u0026#x27;s answer_spec before any of them is written, so one bad answer leaves the request exactly as it was. An item reads answered as soon as the call succeeds, before a reviewer looks at it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kira API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kira-e9bd267b.mintlify.app/_mintlify/api/og/v2?division=RFIs\u0026amp;title=Answer+RFI+items\u0026amp;description=Answer+one+or+more+of+the+request%27s+items+in+a+single+call%2C+each+element+of+%60items%5B%5D%60+naming+its+own+%60item_id%60.+Answering+only+some+of+them+is+the+normal+case.%0A\u0026amp;theme=2ee0597d9461c96d0cf5266a\u0026amp;signature=2c299101e3713ca79777995a54a88afcb20971fce2372ec5693ae5e64f81e2bd\">\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=\"Answer RFI items - Kira API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Answer one or more of the request\u0026#x27;s items in a single call, each element of items[] naming its own item_id. Answering only some of them is the normal case. All or nothing. Every answer is checked against its own item\u0026#x27;s answer_spec before any of them is written, so one bad answer leaves the request exactly as it was. An item reads answered as soon as the call succeeds, before a reviewer looks at it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kira-e9bd267b.mintlify.app/_mintlify/api/og/v2?division=RFIs\u0026amp;title=Answer+RFI+items\u0026amp;description=Answer+one+or+more+of+the+request%27s+items+in+a+single+call%2C+each+element+of+%60items%5B%5D%60+naming+its+own+%60item_id%60.+Answering+only+some+of+them+is+the+normal+case.%0A\u0026amp;theme=2ee0597d9461c96d0cf5266a\u0026amp;signature=2c299101e3713ca79777995a54a88afcb20971fce2372ec5693ae5e64f81e2bd\">\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/kira-e9bd267b/dXC9lpm6kVZ516ct/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kira API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#E62987\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/rfis/answer-rfi-items.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kirafin.ai/#organization\",\"name\":\"Kira API\",\"url\":\"https://docs.kirafin.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kira-e9bd267b/dEOvipkd5jLvhPmn/logo/light.svg?fit=max\u0026auto=format\u0026n=dEOvipkd5jLvhPmn\u0026q=85\u0026s=fbea64b5baa2dae82b3d79e14136b8bd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kirafin.ai#website\",\"name\":\"Kira API\",\"url\":\"https://docs.kirafin.ai\",\"publisher\":{\"@id\":\"https://docs.kirafin.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items#webpage\",\"url\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items\",\"name\":\"Answer RFI items\",\"description\":\"Answer one or more of the request's items in a single call, each element of items[] naming its own item_id. Answering only some of them is the normal case. All or nothing. Every answer is checked against its own item's answer_spec before any of them is written, so one bad answer leaves the request exactly as it was. An item reads answered as soon as the call succeeds, before a reviewer looks at it.\",\"dateModified\":\"2026-10-29T00:03:38.294Z\",\"isPartOf\":{\"@id\":\"https://docs.kirafin.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"RFIs\",\"item\":\"https://docs.kirafin.ai/reference/rfis/the-rfi-object\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Answer RFI items\",\"item\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items#apireference\",\"headline\":\"Answer RFI items\",\"name\":\"Answer RFI items\",\"description\":\"Answer one or more of the request's items in a single call, each element of items[] naming its own item_id. Answering only some of them is the normal case. All or nothing. Every answer is checked against its own item's answer_spec before any of them is written, so one bad answer leaves the request exactly as it was. An item reads answered as soon as the call succeeds, before a reviewer looks at it.\",\"url\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kirafin.ai/api-reference/rfis/answer-rfi-items#webpage\"},\"dateModified\":\"2026-10-29T00:03:38.294Z\",\"publisher\":{\"@id\":\"https://docs.kirafin.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kirafin.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kira API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kira API","nav":{"global":null,"versions":[{"version":"2026-06-01","default":true,"tag":"Recommended","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/overview/what-kira-is"}]},{"tab":"API reference","groups":[{"group":"Across the API","pages":[{"title":"Pagination","href":"/reference/pagination"},{"title":"Idempotency","href":"/reference/idempotency"},{"title":"Metadata","href":"/reference/metadata"}]},{"group":"Authentication","pages":[{"title":"Get access token","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /auth","href":"/api-reference/authentication/get-access-token"}]},{"group":"Versioning","pages":[{"title":"Pin account to a version","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/versioning/upgrade","href":"/api-reference/versioning/pin-account-to-a-version"}]},{"group":"Users","pages":[{"title":"The user object","href":"/reference/users/the-user-object"},{"title":"Create a user","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/users","href":"/api-reference/users/create-a-user"},{"title":"List users","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/users","href":"/api-reference/users/list-users"},{"title":"Get a user","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/users/{user_id}","href":"/api-reference/users/get-a-user"},{"title":"Update a user","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json put /v1/users/{user_id}","href":"/api-reference/users/update-a-user"},{"title":"User values","href":"/reference/users/values"}]},{"group":"Virtual Accounts","pages":[{"title":"The virtual account object","href":"/reference/virtual-accounts/the-virtual-account-object"},{"title":"Create a virtual account","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/virtual-accounts","href":"/api-reference/virtual-accounts/create-a-virtual-account"},{"title":"List virtual accounts","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/virtual-accounts","href":"/api-reference/virtual-accounts/list-virtual-accounts"},{"title":"Get a virtual account","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/virtual-accounts/{virtual_account_id}","href":"/api-reference/virtual-accounts/get-a-virtual-account"},{"title":"Update a virtual account","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json patch /v1/virtual-accounts/{virtual_account_id}","href":"/api-reference/virtual-accounts/update-a-virtual-account"},{"title":"Get virtual account balance","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/virtual-accounts/{virtual_account_id}/balance","href":"/api-reference/virtual-accounts/get-virtual-account-balance"},{"title":"List all deposits","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/virtual-accounts/deposits","href":"/api-reference/virtual-accounts/list-all-deposits"},{"title":"List virtual account deposits","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/virtual-accounts/{virtual_account_id}/deposits","href":"/api-reference/virtual-accounts/list-virtual-account-deposits"},{"title":"Get a deposit","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/virtual-accounts/{virtual_account_id}/deposits/{deposit_id}","href":"/api-reference/virtual-accounts/get-a-deposit"},{"title":"Simulate a deposit","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/virtual-accounts/{virtual_account_id}/simulate-deposit","href":"/api-reference/virtual-accounts/simulate-a-deposit"},{"title":"Virtual account values","href":"/reference/virtual-accounts/values"}]},{"group":"Recipients","pages":[{"title":"The recipient object","href":"/reference/recipients/the-recipient-object"},{"title":"Create a recipient","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/recipients","href":"/api-reference/recipients/create-a-recipient"},{"title":"List recipients","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/recipients","href":"/api-reference/recipients/list-recipients"},{"title":"Get a recipient","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/recipients/{recipient_id}","href":"/api-reference/recipients/get-a-recipient"},{"title":"Recipient values","href":"/reference/recipients/values"}]},{"group":"Quotations","pages":[{"title":"The quotation object","href":"/reference/quotations/the-quotation-object"},{"title":"Create a quotation","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/quotations","href":"/api-reference/quotations/create-a-quotation"},{"title":"Quotation values","href":"/reference/quotations/values"}]},{"group":"Payouts","pages":[{"title":"The payout object","href":"/reference/payouts/the-payout-object"},{"title":"Preview a payout","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/virtual-accounts/{virtual_account_id}/payout/preview","href":"/api-reference/payouts/preview-a-payout"},{"title":"Execute a payout","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/virtual-accounts/{virtual_account_id}/payout","href":"/api-reference/payouts/execute-a-payout"},{"title":"List payouts","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/payouts","href":"/api-reference/payouts/list-payouts"},{"title":"Get a payout","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/payouts/{payout_id}","href":"/api-reference/payouts/get-a-payout"},{"title":"Payout values","href":"/reference/payouts/values"}]},{"group":"Ultimate Payors","pages":[{"title":"The ultimate payor object","href":"/reference/ultimate-payors/the-ultimate-payor-object"},{"title":"Create an ultimate payor","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/ultimate-payors","href":"/api-reference/ultimate-payors/create-an-ultimate-payor"},{"title":"List ultimate payors","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/ultimate-payors","href":"/api-reference/ultimate-payors/list-ultimate-payors"},{"title":"Get an ultimate payor","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/ultimate-payors/{ultimate_payor_id}","href":"/api-reference/ultimate-payors/get-an-ultimate-payor"},{"title":"Ultimate payor values","href":"/reference/ultimate-payors/values"}]},{"group":"Capabilities","pages":[{"group":"Requests","pages":[{"title":"The capability request object","href":"/reference/capabilities/the-capability-request-object"},{"title":"Request a capability","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/capability-requests","href":"/api-reference/capabilities/request-a-capability"},{"title":"List capability requests","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/capability-requests","href":"/api-reference/capabilities/list-capability-requests"},{"title":"Get a capability request","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/capability-requests/{request_id}","href":"/api-reference/capabilities/get-a-capability-request"}]},{"group":"Grants","pages":[{"title":"The capability grant object","href":"/reference/capabilities/the-capability-grant-object"},{"title":"List capability grants","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/capability-grants","href":"/api-reference/capabilities/list-capability-grants"}]},{"title":"Capability values","href":"/reference/capabilities/values"}]},{"group":"Catalogs","pages":[{"title":"List countries","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/countries","href":"/api-reference/reference/list-countries"},{"title":"List capabilities","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/capabilities","href":"/api-reference/capabilities/list-capabilities"}]},{"group":"RFIs","pages":[{"title":"The RFI object","href":"/reference/rfis/the-rfi-object"},{"title":"List RFIs","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/rfis","href":"/api-reference/rfis/list-rfis"},{"title":"Get an RFI","description":"Retrieve a single RFI by its UUID, with its items nested. The RFI must belong to you.","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/rfis/{rfi_id}","href":"/api-reference/rfis/get-an-rfi"},{"title":"Answer RFI items","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json patch /v1/rfis/{rfi_id}/items","href":"/api-reference/rfis/answer-rfi-items"},{"title":"Create an item's verification link","description":"Create a link for a `ubo_link` item whose `answer_spec` carries `applicant_id` rather than a ready-made `url` — see [RFI values](/reference/rfis/values#the-two-ubo_link-shapes). A `signature_link` item gets its link the same way: the link opens the signing step of the legal representative its `applicant_id` names. A `fatca_questions` item gets a link into the sub-client's U.S. tax form questions; once they are answered it answers `409`.\n\nEach link is short-lived, so create one when the person clicks rather than when the page renders.","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/rfis/{rfi_id}/items/{item_id}/ubo-link","href":"/api-reference/rfis/create-an-items-verification-link"},{"title":"Upload files to a document item","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json post /v1/rfis/{rfi_id}/items/{item_id}/documents","href":"/api-reference/rfis/upload-files-to-a-document-item"},{"title":"Get a download link for a file","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json get /v1/rfis/{rfi_id}/items/{item_id}/documents/{document_id}","href":"/api-reference/rfis/get-a-download-link-for-a-file"},{"title":"Remove one file","deprecated":null,"version":null,"openapi":"/openapi/kira-api.2026-06-01.json delete /v1/rfis/{rfi_id}/items/{item_id}/documents/{document_id}","href":"/api-reference/rfis/remove-one-file"},{"title":"RFI values","href":"/reference/rfis/values"}]}]}]},{"version":"2026-04-14","tag":"Previous","pages":[{"title":"2026-04-14","href":"/api-reference-2026-04-14/rfis/answer-rfi-items"}]}]},"title":"Answer RFI items - Kira API","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-CBCH2P7b.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}