{"openapi":"3.0.3","info":{"title":"ISECure Processing API","version":"0.119.0","description":"Create, review and approve a payment file, then download it. Your application verifies and signs the file locally and sends it through the separate [File Exchange API](https://www.isecure.fi/wsapi_v2/#operation/UploadFile). Processing does not send payments to a bank.\n\n**Experimental · Test environment · Paid subscription and access approval required.**\n\nThis reference covers 26 payment operations, session exchange and notifications on the test server. Production plugin discovery and download are a separate, narrower service; they do not make payment processing available in production.\n\n## Prepare a payment file\n\n1. **Choose the bank format and check the paying account.** Select file rules for your bank and country, then check whether the account you will pay from supports the intended payment. See the explanation below.\n2. **Create a draft.** Pass the selected account capability to `paymentBatches.createDraft()` and add payments. Use decimal strings for amounts, not floating-point numbers.\n3. **Check it.** `validate()` checks the draft; `simulate()` evaluates the proposed payment without sending it. This is separate from a [Bank Simulator](https://www.isecure.fi/apis/bank-simulator/) run.\n4. **Request review.** `finalize()` locks a revision; `submitForReview()` submits it. Keep the returned resource versions. Changes may need a new revision and fresh approval.\n5. **Approve separately.** An authorized, distinct reviewer calls `paymentApprovalRequests.decide()`. File Exchange admin/data mode alone grants no approval authority.\n6. **Release and download.** Call `paymentExports.release()`, then `get()` for the file's identity, digest, length and media type. Pass that result to `download()`; the SDK checks the bytes against it.\n7. **Sign and send.** Sign the verified bytes with your locally held private key and upload through File Exchange. Never automatically retry an upload whose outcome is unknown.\n\n### What does the first step mean?\n\nAn **export profile** defines how to write payment XML for a particular bank and country. An **account capability** describes the payment types, currencies, destinations and limits available for one paying account. Supporting a file format does not establish what that account may do.\n\n- **Find the format:** `paymentExportProfiles.list()` returns profiles admitted for your tenant. Check their bank, country, payment type, availability and qualification—not just the XML format name.\n- **Configure the account:** `paymentExportProfiles.get()` reads your current setup. If setup or a change is needed, an administrator with approval permission calls `configure()` with the profile, debtor account, company and bank-agreement details.\n- **Check the payment:** `paymentCapabilities.list()` shows visible capabilities; `resolve()` matches the account and payment requirements. Continue only with outcome `resolved` and a `selected` reference. Pass that exact reference to the draft; do not guess when no unique match is returned.\n\nNeither configuration nor selection creates a bank agreement or approves a payment. The server checks current authority on use.\n\nThe [complete SDK example](https://github.com/isecurefi/isecure-ts-client/tree/main/examples/processing-manual-upload) shows these calls, separate logins, verified download, local signing and one confirmed upload. The [simulator example](https://github.com/isecurefi/isecure-ts-client/tree/main/examples/processing-simulator-journey) also verifies synthetic feedback and recovery against its recorded test releases.\n\n## What success means\n\nThe export path returns `pain.001.001.09` XML, not JSON. Approval and download do not prove bank acceptance or payment completion.\n\nThe Bank Simulator returns synthetic `pain.002`, `camt.054` and `camt.053` feedback through File Exchange. Real-bank use separately requires a bank agreement, Bank Connectivity access, production credentials and a qualified bank/profile connection.\n\n\n## One ISECure account across all three APIs\n\nUse the same ISECure registration, users and initial login for File Exchange, Processing and Bank Simulator. **Do not register a second user in Processing or Bank Simulator.** Account administration remains in the existing [File Exchange API](https://www.isecure.fi/wsapi_v2/); neither new API introduces another registration or user-management route.\n\nUse these sections of the live File Exchange reference:\n\n- [Start registration](https://www.isecure.fi/wsapi_v2/#operation/InitRegister) and [create the account](https://www.isecure.fi/wsapi_v2/#operation/Register).\n- Complete [email verification](https://www.isecure.fi/wsapi_v2/#operation/VerifyEmail) and [phone verification](https://www.isecure.fi/wsapi_v2/#operation/VerifyPhone) when requested.\n- [Start login](https://www.isecure.fi/wsapi_v2/#operation/InitLogin), [sign in](https://www.isecure.fi/wsapi_v2/#operation/Login), and [answer the SMS or TOTP MFA challenge](https://www.isecure.fi/wsapi_v2/#operation/LoginMFA). Follow the challenge returned by the server; [MFA selection](https://www.isecure.fi/wsapi_v2/#operation/SelectMFA) applies only when login explicitly requests a choice.\n- Integrators use [list customer accounts](https://www.isecure.fi/wsapi_v2/#operation/ListAccounts); account lifecycle includes [password recovery](https://www.isecure.fi/wsapi_v2/#operation/InitPasswordReset), [account deletion](https://www.isecure.fi/wsapi_v2/#operation/DeleteAccount) and the [account audit history](https://www.isecure.fi/wsapi_v2/#operation/ListAuditEvents), subject to that API's authorization rules.\n\nA shared identity does not mean one interchangeable token or identical authority. Processing and Bank Simulator share a separate Processing session obtained from the completed login. Each product also checks its subscription and user permissions. File Exchange admin/data modes do not automatically grant Processing approval or simulator-management permission.\n\n## Access and authentication\n\nThese APIs are Experimental and available only in the ISECure test environment. Request access from [ISECure support](mailto:support@isecure.fi). Registration alone does not enable either product: your tenant needs the appropriate active paid subscription, and your user needs permission for each operation. A successful login does not grant payment approval or simulator management rights.\n\n[Processing API](https://www.isecure.fi/apis/processing/) and [Bank Simulator API](https://www.isecure.fi/apis/bank-simulator/) share one Processing base URL and session. [File Exchange](https://www.isecure.fi/wsapi_v2/) has a separate API and session. Your tenant is selected by the verified API key; you cannot select another tenant in a request body or URL. Resource IDs and account IDs do not grant access.\n\n1. Complete [File Exchange login](https://www.isecure.fi/wsapi_v2/), including any requested email/phone verification or MFA. Obtain the current ID token and your tenant API key.\n2. Call `POST /session` on the Processing base URL. Send the ID token directly in `Authorization` (without a prefix) and the API key in `x-api-key`. There is no request body.\n3. Check that the response audience matches the configured Processing audience. Keep `processingSession` private. It expires after 15 minutes; use `expiresAtEpochSeconds` to check expiry.\n4. On business requests send `Authorization: Processing <processingSession>`, the same `x-api-key`, and the exact `ISECure-Contract-Version` shown for that operation. JSON requests also need `Content-Type: application/json`.\n5. Exchange a new session when necessary using a current ID token. The SDK does not silently refresh or retry commands.\n\n### Connect with TypeScript\n\nInstall `isecure-ts-client@2.7.0` and use Node.js 24 or newer for these examples. The experimental `/iso20022` entry point supports both references. The root SDK continues to handle File Exchange.\n\n```ts\nimport {\n  createIso20022Client,\n  Iso20022HttpTransport,\n} from \"isecure-ts-client/iso20022\";\n\nconst transport = new Iso20022HttpTransport({\n  baseUrl: process.env.ISECURE_PROCESSING_BASE_URL!,\n  processingAudience: process.env.ISECURE_PROCESSING_AUDIENCE!,\n  // Supply fresh credentials from your completed File Exchange login.\n  bootstrapAuthentication: async () => ({\n    apiKey: process.env.ISECURE_API_KEY!,\n    idToken: process.env.ISECURE_ID_TOKEN!,\n  }),\n});\nawait transport.exchangeProcessingSession();\nconst client = createIso20022Client(transport);\n```\n\nUse `https://processing-api.test.isecure.fi` as the base URL and audience `isecure-processing-gpgtest-v1`. Keep tokens and signing keys out of source control, URLs and application logs. The SDK sets operation versions and serializes path/query objects. Operation examples below assume this `client` has been created. Where an example declares an `input`, supply the fields documented in that operation's request schema; it is a typed integration template, not a complete runnable fixture.\n\n## Safe commands and revisions\n\nOperations that require `Idempotency-Key` show it explicitly. Create a unique key for one intended command and save it before sending. If that command needs an intentional retry, reuse the same key and unchanged input. A different key can create another action. The SDK never retries automatically.\n\nOperations that require `If-Match` also show it explicitly. Pass the current resource version returned by a read or previous command as a quoted string: `expectedResourceVersion: JSON.stringify(resource.resource_version)`. For version `3`, the HTTP header is `If-Match: \"3\"`. This prevents overwriting work performed after your last read. If the version is stale, read the resource again and review the new state before deciding what to do. Do not blindly replace the header and resubmit an old approval.\n\nAn HTTP timeout or `503` may leave the outcome unknown. First inspect the resource and its events. Do not repeat an entire payment or simulation workflow merely because a response was lost. After idempotency expiry, reconcile the original outcome before creating another command.\n\n## Lists, identifiers and pagination\n\nPass filters in the named query parameters. Object parameters use the encoding documented by each operation: for example `page[page_size]=25` and `page[cursor]=...`. Keep cursors opaque, reuse the same filters, and stop when `page.next_cursor` is absent. Results belong to the returned snapshot; do not interpret pagination as a live feed.\n\nSimulator read routes use an object-valued `resource_reference` path parameter, not just a UUID. Its OpenAPI `simple` encoding is a comma-separated sequence of field names and values in schema order. The SDK encodes this for you. Use the complete reference returned by the API, including its resource type and revision where supplied.\n\nIDs in examples are synthetic. Obtain account capabilities, resource references, versions and profile choices from your authorized API responses. Do not invent production account IDs or assume that a listed profile is enabled for your account.\n\n## Errors and recovery\n\nBusiness failures can return an `issues` array with structured issue details. Authentication, access and infrastructure failures can instead return a small `code` envelope. Gateway responses can have a different shape again. Check the HTTP status before reading a success schema; do not depend on an English error message.\n\n| Status          | Meaning and next step                                                                                                                         |\n| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| 400             | Invalid input, contract version or request encoding. Correct the request.                                                                     |\n| 401             | Missing, expired or invalid authentication. Complete login/session exchange again.                                                            |\n| 403             | Missing subscription, permission or API-key access. Ask the tenant administrator or ISECure support; another resource ID will not fix access. |\n| 404             | Resource is unavailable in your scope, or the operation is not published. Check the selected test deployment and reference.                   |\n| 409             | Conflicting command, reused key with different input, or operation already in progress. Inspect the existing result.                          |\n| 410             | The command or idempotency window expired. Reconcile before submitting a new command.                                                         |\n| 412             | Resource version changed. Read the latest version and review the change.                                                                      |\n| 429             | Request limit reached. Honor any retry guidance and preserve command identity.                                                                |\n| 500 / 503 / 504 | Service failure or an uncertain outcome. Inspect existing state before retrying.                                                              |\n\n## Notifications\n\n`GET /stream` returns a short Server-Sent Events (SSE) connection containing authorized event/task notifications and heartbeats. It uses the Processing session, API key and contract version `1`. Save the last completely handled event ID and pass it as `Last-Event-ID` when reconnecting. The current connection lease is at most 20 seconds; closing is normal.\n\nThe SDK provides `transport.streamProcessingEvents({ lastEventId, signal })`. It does not reconnect automatically. Notifications require their own server-side access checks and are not a complete audit history. After a gap or expired cursor, reconcile using available resource reads; simulator runs also expose their own event list. A stream message does not prove that a payment reached a real bank.\n\n## Scope and compatibility\n\nThis reference documents only the operations deployed in the reviewed test release. The SDK contains additional generated methods that this deployment does not expose. Their presence is not a support or availability promise. Request versions are per operation; the overall specification version does not replace `ISECure-Contract-Version`.\n\n[File Exchange reference](https://www.isecure.fi/wsapi_v2/) · [Processing reference](https://www.isecure.fi/apis/processing/) · [Bank Simulator reference](https://www.isecure.fi/apis/bank-simulator/) · [TypeScript SDK](https://github.com/isecurefi/isecure-ts-client)\n","contact":{"name":"ISECure developer support","email":"support@isecure.fi","url":"https://www.isecure.fi/en/products/"},"license":{"name":"Proprietary - all rights reserved"}},"servers":[{"url":"https://processing-api.test.isecure.fi","description":"ISECure test environment — Experimental; access by request"}],"tags":[{"name":"Session"},{"name":"Notifications"},{"name":"Approval"},{"name":"Account capabilities"},{"name":"Export profiles"},{"name":"Payment files"},{"name":"Payment drafts"}],"paths":{"/session":{"post":{"operationId":"processing_session.exchange","summary":"Create a Processing session","tags":["Session"],"description":"Exchange the current File Exchange ID token for a separate, audience-bound Processing session. Send the ID token without a prefix in Authorization and the tenant API key in x-api-key. There is no request body. Complete any login verification or MFA first. The session expires after 15 minutes.","security":[{"bootstrapIdToken":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Keep processingSession private; validate the audience and expiry before use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingSession"}}}},"400":{"description":"Invalid session exchange request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"401":{"description":"Invalid or expired ID token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"403":{"description":"Tenant access is not enabled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"503":{"description":"Session service is unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"const session = await transport.exchangeProcessingSession();\n// Returns expiry and audience metadata; the transport keeps the token private."}]}},"/stream":{"get":{"operationId":"processing_events.stream","summary":"Read event notifications","tags":["Notifications"],"description":"Receive a bounded text/event-stream connection. The current lease is at most 20 seconds. Event and task items contain an opaque id and JSON data; heartbeats keep the connection active. Reconnect deliberately with the last completely handled ID, and reconcile resource state after a gap. Additional event/task read authority is required. This is not complete audit history.","security":[{"processingSession":[],"tenantApiKey":[]}],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"schema":{"type":"integer","enum":[1]}},{"name":"Last-Event-ID","in":"header","required":false,"description":"Opaque cursor from the last completely handled stream item.","schema":{"type":"string","maxLength":2048}}],"responses":{"200":{"description":"Finite SSE lease. Cache-Control: private, no-store, no-cache.","content":{"text/event-stream":{"schema":{"type":"string"},"example":": heartbeat\n\n"}}},"400":{"description":"Invalid cursor or request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"401":{"description":"Processing session is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"403":{"description":"Required read authority is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"503":{"description":"Notifications are unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"for await (const item of transport.streamProcessingEvents()) {\n  if (item.kind === \"heartbeat\") continue;\n  // Handle item.data, then save item.id for your next connection.\n}"}]}},"/v1/payment-approval-requests:decide":{"post":{"operationId":"payment_approval_requests.decide","summary":"Record an approval decision","description":"Approve or reject the exact request as its authorized reviewer. The server enforces assigned authority and separation of duties.\n\nRequired permission: `approve`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentApprovalRequests.decide`. Input type: [DecidePaymentApprovalRequestInput](#schema/isecure.bankfiles.payments_api.DecidePaymentApprovalRequestInput).","tags":["Approval"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.DecidePaymentApprovalRequestInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalDecisionResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in DecidePaymentApprovalRequestInput.\ndeclare const input: Parameters<typeof client.paymentApprovalRequests.decide>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentApprovalRequests.decide(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:5ab90e67325ab3a39a95e29628ebaa19d29c669fcdb1e63828eaa81c6ce1b7d7","x-isecure-permission":"approve"}},"/v1/payment-capabilities":{"get":{"operationId":"payment_capabilities.list","summary":"List account capabilities","description":"List the payment types, currencies, destinations and limits available for accounts visible to your user. Use resolve to match the proposed payment before creating a draft.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentCapabilities.list`. Input type: [PaymentCapabilityListInput](#schema/isecure.bankfiles.payments_api.PaymentCapabilityListInput).","tags":["Account capabilities"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"connected_account_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"business_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBusinessType"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","maxLength":3}},{"name":"destination_country_code","in":"query","required":false,"schema":{"type":"string","maxLength":2}},{"name":"effective_at","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":true,"style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/isecure.bankfiles.operations.PageRequest"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityListResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentCapabilityListInput.\ndeclare const input: Parameters<typeof client.paymentCapabilities.list>[0];\nconst result = await client.paymentCapabilities.list(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:aaaaa4cc383855ab04337a4a9eef6262bb12330e8c6a2505c213e662ab706765","x-isecure-permission":"read"}},"/v1/payment-capabilities/{account_capability_id}":{"get":{"operationId":"payment_capabilities.get","summary":"Read an account capability","description":"Read the payment options and limits for one exact account capability. Its reference does not grant approval; the server checks authority again when you use it.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentCapabilities.get`. Input type: [PaymentCapabilityGetInput](#schema/isecure.bankfiles.payments_api.PaymentCapabilityGetInput).","tags":["Account capabilities"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"account_capability_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"capability_revision","in":"query","required":false,"schema":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityGetResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentCapabilityGetInput.\ndeclare const input: Parameters<typeof client.paymentCapabilities.get>[0];\nconst result = await client.paymentCapabilities.get(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:c90346fc85073d6bb924adcfa8132bef1300c11637f17b6143986af9fdd12068","x-isecure-permission":"read"}},"/v1/payment-capabilities/{account_capability_id}/explanation":{"get":{"operationId":"payment_capabilities.explain","summary":"Explain an account capability","description":"Read the reasons and evidence behind this account capability.\n\nRequired permission: `explain`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentCapabilities.explain`. Input type: [PaymentCapabilityGetInput](#schema/isecure.bankfiles.payments_api.PaymentCapabilityGetInput).","tags":["Account capabilities"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"account_capability_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"capability_revision","in":"query","required":false,"schema":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.observations.ExplanationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentCapabilityGetInput.\ndeclare const input: Parameters<typeof client.paymentCapabilities.explain>[0];\nconst result = await client.paymentCapabilities.explain(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:6fa22b380da3cbf75d8f4ea4dd930957bae7467361c05f13206192324ed4b607","x-isecure-permission":"explain"}},"/v1/payment-capabilities:resolve":{"post":{"operationId":"payment_capabilities.resolve","summary":"Select a matching capability","description":"Match the paying account and payment requirements to an available capability. Continue only when outcome is resolved and selected is present; ambiguous, unsupported, not-ready, expired or uncertain results must be resolved before drafting.\n\nRequired permission: `validate`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentCapabilities.resolve`. Input type: [PaymentCapabilityCriteria](#schema/isecure.bankfiles.payments_api.PaymentCapabilityCriteria).","tags":["Account capabilities"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityCriteria"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityResolution"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentCapabilityCriteria.\ndeclare const input: Parameters<typeof client.paymentCapabilities.resolve>[0];\nconst result = await client.paymentCapabilities.resolve(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:15dc4c7169d02a11a7334b44002298ad0726e70dddc4c6d437c42bcea04cebdf","x-isecure-permission":"validate"}},"/v1/payment-export-profile-catalog":{"get":{"operationId":"payment_export_profile_catalog.list","summary":"List available export profiles","description":"List bank- and country-specific payment-file rules admitted for your tenant by this deployment. Check payment type, availability and qualification status. Listing a profile does not configure it or authorize a payment.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentExportProfiles.list`. Input type: [PaymentExportProfileCatalogListInput](#schema/isecure.bankfiles.payments_api.PaymentExportProfileCatalogListInput).","tags":["Export profiles"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileCatalogListResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"const result = await client.paymentExportProfiles.list();"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:52608f6a88fc8fe1d0c81396572590e8200f9af1689ce8a11be472e8650f7f02","x-isecure-permission":"read"}},"/v1/payment-export-profiles":{"get":{"operationId":"payment_export_profiles.get","summary":"Read the configured export profile","description":"Read the current tenant configuration: the selected bank-file profile, paying account and required company/bank-agreement details.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentExportProfiles.get`. Input type: [PaymentExportProfileGetInput](#schema/isecure.bankfiles.payments_api.PaymentExportProfileGetInput).","tags":["Export profiles"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"const result = await client.paymentExportProfiles.get();"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:2e29d42f293d6a5dc4ca041424c2965612edc24a95eff13ac526026d3cabf064","x-isecure-permission":"read"}},"/v1/payment-export-profiles:configure":{"post":{"operationId":"payment_export_profiles.configure","summary":"Configure an export profile","description":"Select an admitted bank/country profile and supply the paying account, company and bank-agreement details. This requires approval authority; it does not create a bank agreement or approve a payment.\n\nRequired permission: `approve`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. \n\nSDK: `client.paymentExportProfiles.configure`. Input type: [ConfigurePaymentExportProfileInput](#schema/isecure.bankfiles.payments_api.ConfigurePaymentExportProfileInput).","tags":["Export profiles"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.ConfigurePaymentExportProfileInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in ConfigurePaymentExportProfileInput.\ndeclare const input: Parameters<typeof client.paymentExportProfiles.configure>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\nconst result = await client.paymentExportProfiles.configure(input, { idempotencyKey: savedCommandKey });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:d1dfea42aaa194db43101014f3aba331aca6a0e44ef05f06d85c7078d8c7790b","x-isecure-permission":"approve"}},"/v1/payment-export-profiles:revoke":{"post":{"operationId":"payment_export_profiles.revoke","summary":"Revoke an export profile","description":"Revoke the selected configuration using its current version. Review dependent work before proceeding.\n\nRequired permission: `approve`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentExportProfiles.revoke`. Input type: [RevokePaymentExportProfileInput](#schema/isecure.bankfiles.payments_api.RevokePaymentExportProfileInput).","tags":["Export profiles"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.RevokePaymentExportProfileInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in RevokePaymentExportProfileInput.\ndeclare const input: Parameters<typeof client.paymentExportProfiles.revoke>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentExportProfiles.revoke(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:de9e12f5bfcc83240eee01cc7f7a894f76ccfe1df7dc8d3d18a8e5f09b82c232","x-isecure-permission":"approve"}},"/v1/payment-exports/{payment_export_id}":{"get":{"operationId":"payment_exports.get","summary":"Read payment-file metadata","description":"Read the artifact identity, digest, byte length and media type used to verify the subsequent download.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentExports.get`. Input type: [PaymentExportGetInput](#schema/isecure.bankfiles.payments_api.PaymentExportGetInput).","tags":["Payment files"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"payment_export_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportGetResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentExportGetInput.\ndeclare const input: Parameters<typeof client.paymentExports.get>[0];\nconst result = await client.paymentExports.get(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:4948c65e5610a2b8770b63bea703263baab60e41069ef05b73dbdb8525fe2122","x-isecure-permission":"read"}},"/v1/payment-exports:download-content":{"post":{"operationId":"payment_exports.download_content","summary":"Download the payment file","description":"Download the exact XML bytes. Use the SDK with previously read artifact authority to verify identity, digest, media type and length before signing.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. \n\nSDK: `client.paymentExports.download`. Input type: [DownloadPaymentExportContentInput](#schema/isecure.bankfiles.payments_api.DownloadPaymentExportContentInput).","tags":["Payment files"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.DownloadPaymentExportContentInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful bounded immutable content result.","headers":{"ISECure-Artifact-Id":{"required":true,"schema":{"type":"string","format":"uuid"}},"ISECure-Artifact-Sha256":{"required":true,"schema":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"}},"Content-Length":{"required":true,"schema":{"type":"integer","minimum":1,"maximum":16777216}}},"content":{"application/xml":{"schema":{"type":"string","format":"binary","maxLength":16777216}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in DownloadPaymentExportContentInput.\ndeclare const input: Parameters<typeof client.paymentExports.download>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\ndeclare const artifactAuthority: Parameters<typeof client.paymentExports.download>[1];\nconst result = await client.paymentExports.download(input, artifactAuthority, { idempotencyKey: savedCommandKey });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:c7bc845d103b087e9714cb51261a56f512520d99c5394c63c8b6ef9a65bbe4dd","x-isecure-permission":"read"}},"/v1/payment-exports:release":{"post":{"operationId":"payment_exports.release","summary":"Release an approved payment file","description":"Create the exact export artifact from an eligible approved revision. This does not upload it to a bank.\n\nRequired permission: `approve`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentExports.release`. Input type: [ReleasePaymentExportInput](#schema/isecure.bankfiles.payments_api.ReleasePaymentExportInput).","tags":["Payment files"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.ReleasePaymentExportInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportReleaseResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in ReleasePaymentExportInput.\ndeclare const input: Parameters<typeof client.paymentExports.release>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentExports.release(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:e572d8b0feb3eada5d396be036cf816411fc3773c8264fcb892eb90387a0b87a","x-isecure-permission":"approve"}},"/v1/payment-orders":{"get":{"operationId":"payment_orders.list","summary":"List payment orders","description":"List payment orders visible to your user using filters and snapshot pagination.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentBatches.list`. Input type: [PaymentOrderListInput](#schema/isecure.bankfiles.payments_api.PaymentOrderListInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"connected_account_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"workflow_state","in":"query","required":false,"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"}},{"name":"validation_outcome","in":"query","required":false,"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"}},{"name":"bank_outcome_state","in":"query","required":false,"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBankOutcomeState"}},{"name":"created_from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"created_to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":true,"style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/isecure.bankfiles.operations.PageRequest"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderListResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderListInput.\ndeclare const input: Parameters<typeof client.paymentBatches.list>[0];\nconst result = await client.paymentBatches.list(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:da80266be8672929f2ee0d21973f83badd65306566c5e2434851aec37365f6ae","x-isecure-permission":"read"}},"/v1/payment-orders/{payment_order_id}":{"get":{"operationId":"payment_orders.get","summary":"Read a payment order","description":"Read the current order state, references and versions before continuing its workflow.\n\nRequired permission: `read`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentBatches.get`. Input type: [PaymentOrderGetInput](#schema/isecure.bankfiles.payments_api.PaymentOrderGetInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"payment_order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"revision_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderGetResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderGetInput.\ndeclare const input: Parameters<typeof client.paymentBatches.get>[0];\nconst result = await client.paymentBatches.get(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:662bc78d1ba71acbca206a4004ccef039ca7a6b5bd199e4a308e48b50e21e367","x-isecure-permission":"read"}},"/v1/payment-orders/{payment_order_id}/explanation":{"get":{"operationId":"payment_orders.explain","summary":"Explain a payment order","description":"Read the reasons and evidence associated with the selected payment order.\n\nRequired permission: `explain`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentBatches.explain`. Input type: [PaymentOrderGetInput](#schema/isecure.bankfiles.payments_api.PaymentOrderGetInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"payment_order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"revision_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.observations.ExplanationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderGetInput.\ndeclare const input: Parameters<typeof client.paymentBatches.explain>[0];\nconst result = await client.paymentBatches.explain(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:67ae1c8eb3c0b955a7991d3272a4e756cfec31eddab2111befe1db401551a760","x-isecure-permission":"explain"}},"/v1/payment-orders:append-transfers":{"post":{"operationId":"payment_orders.append_transfers","summary":"Add payments to a draft","description":"Append payment transfers to the current draft revision.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.addPayments`. Input type: [AppendPaymentOrderTransfersInput](#schema/isecure.bankfiles.payments_api.AppendPaymentOrderTransfersInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.AppendPaymentOrderTransfersInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in AppendPaymentOrderTransfersInput.\ndeclare const input: Parameters<typeof client.paymentBatches.addPayments>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.addPayments(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:6b9cd39e3f7e11cdf13c229fff00cd678fa3cf1d9859a3cd97d4b6089e18cdf6","x-isecure-permission":"propose"}},"/v1/payment-orders:cancel-draft":{"post":{"operationId":"payment_orders.cancel_draft","summary":"Cancel a draft","description":"Cancel the selected draft. This does not cancel a payment already sent to a bank.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.cancelDraft`. Input type: [PaymentOrderTransitionInput](#schema/isecure.bankfiles.payments_api.PaymentOrderTransitionInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderTransitionInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderTransitionInput.\ndeclare const input: Parameters<typeof client.paymentBatches.cancelDraft>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.cancelDraft(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:14976041ee01abe2f7ba0a9b2294f5294976f9b497d8a43598d63a75345314ed","x-isecure-permission":"propose"}},"/v1/payment-orders:correct":{"post":{"operationId":"payment_orders.correct","summary":"Create a correction","description":"Start a correction from the selected payment order. The corrected revision follows the applicable validation and approval process.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.createCorrection`. Input type: [PaymentOrderTransitionInput](#schema/isecure.bankfiles.payments_api.PaymentOrderTransitionInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderTransitionInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderTransitionInput.\ndeclare const input: Parameters<typeof client.paymentBatches.createCorrection>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.createCorrection(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:4b88a7d1738a796f51f8eb4f5297f2bc33d5a59a4f757931d179bdff2bfcd10e","x-isecure-permission":"propose"}},"/v1/payment-orders:create-draft":{"post":{"operationId":"payment_orders.create_draft","summary":"Create a payment draft","description":"Start a draft using an exact account capability. You may add payment transfers later while the draft remains open.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. \n\nSDK: `client.paymentBatches.createDraft`. Input type: [PaymentOrderDraftInput](#schema/isecure.bankfiles.payments_api.PaymentOrderDraftInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderDraftInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderDraftInput.\ndeclare const input: Parameters<typeof client.paymentBatches.createDraft>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\nconst result = await client.paymentBatches.createDraft(input, { idempotencyKey: savedCommandKey });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:cb1ab14ad98f98172b75edd69c1a0db92371aed66beffac568c1c40c3c7f839e","x-isecure-permission":"propose"}},"/v1/payment-orders:finalize-draft":{"post":{"operationId":"payment_orders.finalize_draft","summary":"Finalize a draft","description":"Lock the selected draft revision for review. Later changes require a new eligible revision.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.finalize`. Input type: [PaymentOrderTransitionInput](#schema/isecure.bankfiles.payments_api.PaymentOrderTransitionInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderTransitionInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderFinalizationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderTransitionInput.\ndeclare const input: Parameters<typeof client.paymentBatches.finalize>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.finalize(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:e8c22ad4b5dae182cefa00329de60625d382371b90452890952b4aa69dcec268","x-isecure-permission":"propose"}},"/v1/payment-orders:remove-transfers":{"post":{"operationId":"payment_orders.remove_transfers","summary":"Remove payments from a draft","description":"Remove selected transfers from the current draft revision.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.removePayments`. Input type: [RemovePaymentOrderTransfersInput](#schema/isecure.bankfiles.payments_api.RemovePaymentOrderTransfersInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.RemovePaymentOrderTransfersInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in RemovePaymentOrderTransfersInput.\ndeclare const input: Parameters<typeof client.paymentBatches.removePayments>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.removePayments(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:9e6e2ca12abbc6e09b6274cc359cdff9c9b856ffaa0de7393d25ba860f4d716b","x-isecure-permission":"propose"}},"/v1/payment-orders:revise-draft":{"post":{"operationId":"payment_orders.revise_draft","summary":"Replace a draft","description":"Create the next draft revision with the supplied payment details.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.replaceDraft`. Input type: [RevisePaymentOrderInput](#schema/isecure.bankfiles.payments_api.RevisePaymentOrderInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.RevisePaymentOrderInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in RevisePaymentOrderInput.\ndeclare const input: Parameters<typeof client.paymentBatches.replaceDraft>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.replaceDraft(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:4f4f717f9a34ba59e99d070b02f9ccc589ea96d85c17ce3b1e037baa823112eb","x-isecure-permission":"propose"}},"/v1/payment-orders:revise-transfer":{"post":{"operationId":"payment_orders.revise_transfer","summary":"Update a payment","description":"Change one transfer in the current draft. Use its latest resource version.\n\nRequired permission: `propose`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.updatePayment`. Input type: [RevisePaymentOrderTransferInput](#schema/isecure.bankfiles.payments_api.RevisePaymentOrderTransferInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.RevisePaymentOrderTransferInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in RevisePaymentOrderTransferInput.\ndeclare const input: Parameters<typeof client.paymentBatches.updatePayment>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.updatePayment(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:2577dd0e163120a35f7506125b767b048b210d18c372237ce1e9237c5bf35638","x-isecure-permission":"propose"}},"/v1/payment-orders:simulate":{"post":{"operationId":"payment_orders.simulate","summary":"Evaluate a payment order","description":"Evaluate the selected revision without sending a payment to a bank. This operation does not create a Bank Simulator run.\n\nRequired permission: `simulate`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentBatches.simulate`. Input type: [PaymentOrderRevisionInput](#schema/isecure.bankfiles.payments_api.PaymentOrderRevisionInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderRevisionInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderSimulationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderRevisionInput.\ndeclare const input: Parameters<typeof client.paymentBatches.simulate>[0];\nconst result = await client.paymentBatches.simulate(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:2b1b8f92c01c1ce001c51cad03e9b5f8b7f11eb0d2fddd6bec40b17494a25fb1","x-isecure-permission":"simulate"}},"/v1/payment-orders:submit-for-review":{"post":{"operationId":"payment_orders.submit_for_review","summary":"Request payment approval","description":"Submit the finalized revision for the server-assigned approval workflow. Submission is not approval.\n\nRequired permission: `submit_for_review`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. Persist an Idempotency-Key for this command. Send the current resource version in If-Match.\n\nSDK: `client.paymentBatches.submitForReview`. Input type: [PaymentOrderTransitionInput](#schema/isecure.bankfiles.payments_api.PaymentOrderTransitionInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Caller-generated key scoped to tenant and operation; reuse with different normalized input is rejected.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!-~]+(?![\\s\\S])"}},{"name":"If-Match","in":"header","required":true,"description":"Quoted exact resource version required for optimistic concurrency.","schema":{"type":"string","pattern":"^\"(?:0|[1-9][0-9]*)\"$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderTransitionInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderReviewSubmissionResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"409":{"description":"Idempotency input mismatch or command already in flight.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"410":{"description":"The idempotency retention or command acceptance window expired.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"412":{"description":"The expected resource version does not match.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderTransitionInput.\ndeclare const input: Parameters<typeof client.paymentBatches.submitForReview>[0];\n// Persist one key per intended command; reuse it only for that same command.\ndeclare const savedCommandKey: string;\n// Use the version returned by your latest authorized read.\ndeclare const currentResourceVersion: string;\nconst result = await client.paymentBatches.submitForReview(input, { idempotencyKey: savedCommandKey, expectedResourceVersion: JSON.stringify(currentResourceVersion) });"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:a3a3e08d56f17e44a91667a1b1beb5f56ec7e07289da0d332ae2c4f193eee58d","x-isecure-permission":"submit_for_review"}},"/v1/payment-orders:validate":{"post":{"operationId":"payment_orders.validate","summary":"Check a payment draft","description":"Validate the exact payment-order revision and review any issues before finalizing it.\n\nRequired permission: `validate`, plus an active Processing subscription. The server checks account/resource scope on every call.\n\nSend `ISECure-Contract-Version: 1`. This operation does not accept an Idempotency-Key. \n\nSDK: `client.paymentBatches.validate`. Input type: [PaymentOrderRevisionInput](#schema/isecure.bankfiles.payments_api.PaymentOrderRevisionInput).","tags":["Payment drafts"],"parameters":[{"name":"ISECure-Contract-Version","in":"header","required":true,"description":"Explicit generated operation-contract version; omission never selects mutable latest.","schema":{"type":"integer","enum":[1]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderRevisionInput"}}}},"security":[{"processingSession":[],"tenantApiKey":[]}],"responses":{"200":{"description":"Successful task result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderValidationResult"}}}},"400":{"description":"Typed request or validation issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"401":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"403":{"description":"Typed authorization or policy issue.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"404":{"description":"The tenant-scoped resource was not found.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"429":{"description":"Request rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"The handler violated its generated result contract.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"503":{"description":"A required runtime adapter is unavailable or the outcome is indeterminate.","content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentIssues"},{"$ref":"#/components/schemas/isecure.bankfiles.operations.PlatformIssues"}]},{"$ref":"#/components/schemas/ProcessingError"}]}}}},"504":{"description":"Gateway timeout; the command outcome may be unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"default":{"description":"An upstream gateway may return another error shape. Inspect HTTP status and do not parse it as a successful result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"x-codeSamples":[{"lang":"ts","label":"TypeScript SDK","source":"// Use the authenticated client from the introduction.\n// Supply the fields shown in PaymentOrderRevisionInput.\ndeclare const input: Parameters<typeof client.paymentBatches.validate>[0];\nconst result = await client.paymentBatches.validate(input);"}],"x-isecure-contract-version":1,"x-isecure-contract-digest":"sha256:6d91419100ea2b95abf52467f476b092fa14886eaeaa25d93556b27458d59f3e","x-isecure-permission":"validate"}}},"components":{"securitySchemes":{"tenantApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Verified tenant API key; the same key used during session exchange."},"bootstrapIdToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Current File Exchange ID token, without a prefix. Used only for POST /session."},"processingSession":{"type":"apiKey","in":"header","name":"Authorization","description":"Processing followed by one space and the opaque processingSession from POST /session. This is not Bearer authentication."}},"schemas":{"isecure.bankfiles.accounts_api.AccountCapabilityAvailability":{"type":"string","enum":["available","pending","unavailable","expired","uncertain"],"description":"Current account-capability resolution state; uncertainty is never silently treated as support"},"isecure.bankfiles.approvals.ApprovalDecisionKind":{"type":"string","enum":["approve","reject"]},"isecure.bankfiles.observations.ExplanationFact":{"type":"object","description":"One safe explanation fact generated from a governed rule and references; it contains no raw values or lineage edges","properties":{"fact_code":{"type":"string","maxLength":64},"safe_summary":{"type":"string","maxLength":2048},"rule_id":{"type":"string","maxLength":256},"evidence_references":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"minItems":0,"maxItems":32}},"required":["fact_code","safe_summary","evidence_references"],"additionalProperties":false},"isecure.bankfiles.observations.ExplanationResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"subject_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"facts":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.observations.ExplanationFact"},"minItems":0,"maxItems":100}},"required":["context","subject_reference","facts"],"additionalProperties":false},"isecure.bankfiles.operations.ApprovalReference":{"type":"object","description":"References separately authenticated human approval evidence; presence never replaces authorization","properties":{"approval_request_id":{"type":"string","format":"uuid"},"approval_decision_id":{"type":"string","format":"uuid"},"exact_subject_digest":{"type":"string","maxLength":128}},"required":["approval_request_id","exact_subject_digest"],"additionalProperties":false},"isecure.bankfiles.operations.AttemptReference":{"type":"object","description":"Stable reference to an immutable execution or delivery attempt","properties":{"attempt_type":{"type":"string","maxLength":64},"attempt_id":{"type":"string","format":"uuid"},"attempt_ordinal":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["attempt_type","attempt_id","attempt_ordinal"],"additionalProperties":false},"isecure.bankfiles.operations.AuthorizationReference":{"type":"object","description":"References the authorization decision evaluated for this exact request","properties":{"authorization_decision_id":{"type":"string","format":"uuid"},"decided_at":{"type":"string","format":"date-time"}},"required":["authorization_decision_id","decided_at"],"additionalProperties":false},"isecure.bankfiles.operations.CancellationBoundary":{"type":"string","enum":["preventable","race_possible","irreversible"],"description":"Whether cancellation can still prevent, may race with, or cannot reverse an effect"},"isecure.bankfiles.operations.ExactMoney":{"type":"object","description":"Exact decimal-string amount coupled to its explicit currency","properties":{"amount":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]{0,19})(?:\\.[0-9]{1,18})?$","maxLength":40,"x-isecure-json-representation":"decimal-string"},"currency":{"type":"string","maxLength":3}},"required":["amount","currency"],"additionalProperties":false},"isecure.bankfiles.operations.IdempotencyOutcome":{"type":"string","enum":["applied","replayed","in_progress","mismatch","expired"],"description":"Result of applying a caller idempotency key to the normalized command input; mismatch and expiry never reapply the command"},"isecure.bankfiles.operations.IdempotencyResult":{"type":"object","description":"Idempotency evidence returned without echoing the caller key or normalized customer input","properties":{"outcome":{"$ref":"#/components/schemas/isecure.bankfiles.operations.IdempotencyOutcome"},"original_request_id":{"type":"string","format":"uuid"},"retained_until":{"type":"string","format":"date-time"}},"required":["outcome","retained_until"],"additionalProperties":false},"isecure.bankfiles.operations.NextOperation":{"type":"object","description":"A possible next operation; it is guidance and never an authorization grant","properties":{"operation_id":{"type":"string","maxLength":128},"target":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"reason_code":{"type":"string","maxLength":64}},"required":["operation_id"],"additionalProperties":false},"isecure.bankfiles.operations.OperationContext":{"type":"object","description":"Common response context retained across REST, TypeScript, CLI, MCP, and admin adapters","properties":{"request_id":{"type":"string","format":"uuid"},"operation_id":{"type":"string","maxLength":128},"contract_version":{"type":"string","maxLength":128},"accepted_at":{"type":"string","format":"date-time"},"resource":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"attempt":{"$ref":"#/components/schemas/isecure.bankfiles.operations.AttemptReference"},"authorization":{"$ref":"#/components/schemas/isecure.bankfiles.operations.AuthorizationReference"},"approval_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ApprovalReference"},"idempotency_result":{"$ref":"#/components/schemas/isecure.bankfiles.operations.IdempotencyResult"},"next_operations":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.NextOperation"},"minItems":0,"maxItems":32}},"required":["request_id","operation_id","contract_version","accepted_at","authorization"],"additionalProperties":false},"isecure.bankfiles.operations.OperationIssue":{"type":"object","description":"Caller-facing structured issue; safe_message must come from a governed template, and executable content-safety enforcement remains separately gated","properties":{"issue_code":{"type":"string","maxLength":64},"category":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssueCategory"},"severity":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssueSeverity"},"safe_message":{"type":"string","maxLength":2048},"field_path":{"type":"string","maxLength":1024},"rule_id":{"type":"string","maxLength":256},"retryable":{"type":"boolean"},"required_action":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"}},"required":["issue_code","category","severity","safe_message","retryable"],"additionalProperties":false},"isecure.bankfiles.operations.OperationIssueCategory":{"type":"string","enum":["validation","authorization","policy","conflict","unsupported","external","internal"],"description":"Stable category for a caller-facing operation issue; the code remains operation-specific"},"isecure.bankfiles.operations.OperationIssueSeverity":{"type":"string","enum":["error","warning","information"],"description":"Presentation severity without changing whether the operation succeeded"},"isecure.bankfiles.operations.PageRequest":{"type":"object","description":"Snapshot-stable cursor request shared by list tasks","properties":{"page_size":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"cursor":{"type":"string","maxLength":2048}},"additionalProperties":false},"isecure.bankfiles.operations.PageResult":{"type":"object","description":"Snapshot-stable cursor result shared by list tasks","properties":{"next_cursor":{"type":"string","maxLength":2048},"snapshot_reference":{"type":"string","format":"uuid"}},"required":["snapshot_reference"],"additionalProperties":false},"isecure.bankfiles.operations.PlatformIssues":{"type":"object","description":"Common fail-closed runtime issue envelope; operation-specific issue contracts remain available for domain rejections","properties":{"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":1,"maxItems":1}},"required":["issues"],"additionalProperties":false},"isecure.bankfiles.operations.RequiredAction":{"description":"Typed user action required to continue; no variant contains credentials or approval tokens","oneOf":[{"title":"human_review","type":"object","properties":{"action_type":{"enum":["human_review"]},"subject_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"reason_code":{"type":"string","maxLength":64}},"required":["action_type","subject_reference","reason_code"],"additionalProperties":false},{"title":"strong_authentication","type":"object","properties":{"action_type":{"enum":["strong_authentication"]},"action_reference":{"type":"string","format":"uuid"},"expires_at":{"type":"string","format":"date-time"}},"required":["action_type","action_reference"],"additionalProperties":false},{"title":"configuration","type":"object","properties":{"action_type":{"enum":["configuration"]},"configuration_code":{"type":"string","maxLength":64}},"required":["action_type","configuration_code"],"additionalProperties":false},{"title":"retry_later","type":"object","properties":{"action_type":{"enum":["retry_later"]},"retry_after_seconds":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["action_type","retry_after_seconds"],"additionalProperties":false}]},"isecure.bankfiles.operations.ResourceReference":{"type":"object","description":"Stable reference to one governed customer-facing resource revision","properties":{"resource_type":{"type":"string","maxLength":64},"resource_id":{"type":"string","format":"uuid"},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"revision_id":{"type":"string","format":"uuid"}},"required":["resource_type","resource_id"],"additionalProperties":false},"isecure.bankfiles.operations.TaskReference":{"type":"object","description":"Reference returned for work that outlives a synchronous request","properties":{"task_id":{"type":"string","format":"uuid"},"attempt":{"$ref":"#/components/schemas/isecure.bankfiles.operations.AttemptReference"},"state":{"$ref":"#/components/schemas/isecure.bankfiles.operations.TaskState"},"poll_after_seconds":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"expires_at":{"type":"string","format":"date-time"},"cancellation_boundary":{"$ref":"#/components/schemas/isecure.bankfiles.operations.CancellationBoundary"}},"required":["task_id","attempt","state","cancellation_boundary"],"additionalProperties":false},"isecure.bankfiles.operations.TaskState":{"type":"string","enum":["queued","running","succeeded","failed","indeterminate","cancelled"],"description":"Durable task state; indeterminate is distinct from failure"},"isecure.bankfiles.payments_api.AppendPaymentOrderTransfersInput":{"type":"object","description":"Append a bounded set of new transfers without resending existing transfers","properties":{"payment_order_id":{"type":"string","format":"uuid"},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferInput"},"minItems":1,"maxItems":1000}},"required":["payment_order_id","transfers"],"additionalProperties":false},"isecure.bankfiles.payments_api.ConfigurePaymentExportProfileInput":{"type":"object","description":"Customer selects one stable business profile from the authenticated server catalogue and supplies debtor identity; no bank connection, credential, renderer, namespace or storage route is accepted","properties":{"bank_profile_id":{"type":"string","maxLength":256},"debtor_account_identifier":{"type":"string","maxLength":256},"debtor_account_scheme":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAccountScheme"},"debtor_account_currency":{"type":"string","maxLength":3},"initiating_party_name":{"type":"string","maxLength":140},"initiating_party_customer_id":{"type":"string","maxLength":256},"debtor_name":{"type":"string","maxLength":140},"debtor_bank_agreement_id":{"type":"string","maxLength":256},"debtor_country_code":{"type":"string","maxLength":2},"debtor_agent_bic":{"type":"string","maxLength":11}},"required":["bank_profile_id","debtor_account_identifier","debtor_account_scheme","initiating_party_name","initiating_party_customer_id","debtor_name","debtor_bank_agreement_id","debtor_country_code","debtor_agent_bic"],"additionalProperties":false},"isecure.bankfiles.payments_api.DecidePaymentApprovalRequestInput":{"type":"object","properties":{"payment_approval_request_id":{"type":"string","format":"uuid"},"exact_subject_digest":{"type":"string","maxLength":128},"decision":{"$ref":"#/components/schemas/isecure.bankfiles.approvals.ApprovalDecisionKind"},"reason_code":{"type":"string","maxLength":64}},"required":["payment_approval_request_id","exact_subject_digest","decision"],"additionalProperties":false},"isecure.bankfiles.payments_api.DownloadPaymentExportContentInput":{"type":"object","properties":{"payment_export_id":{"type":"string","format":"uuid"}},"required":["payment_export_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentAccountScheme":{"type":"string","enum":["iban","domestic"]},"isecure.bankfiles.payments_api.PaymentApprovalBundleState":{"type":"string","enum":["not_required","pending","partially_approved","approved","rejected","expired","superseded"],"description":"Customer approval state over exact immutable revision digests; it is not bank authorization or SCA"},"isecure.bankfiles.payments_api.PaymentApprovalDecisionResult":{"type":"object","description":"Compact human decision result without approval tokens or payment values","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_approval_request_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalRequestState"},"approval_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ApprovalReference"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":64}},"required":["context","payment_approval_request_reference","state","approval_reference","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentApprovalRequestResource":{"type":"object","properties":{"payment_approval_request_id":{"type":"string","format":"uuid"},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"payment_approval_bundle_id":{"type":"string","format":"uuid"},"approval_subject":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalSubject"},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalRequestState"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"transitioned_at":{"type":"string","format":"date-time"}},"required":["payment_approval_request_id","resource_version","approval_subject","state","created_at","transitioned_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentApprovalRequestState":{"type":"string","enum":["pending","partially_approved","approved","rejected","expired","cancelled","superseded"]},"isecure.bankfiles.payments_api.PaymentApprovalSubject":{"type":"object","properties":{"payment_approval_request_id":{"type":"string","format":"uuid"},"subject_kind":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalSubjectKind"},"subject_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"exact_subject_digest":{"type":"string","maxLength":128},"required_approvals":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"received_approvals":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalRequestState"}},"required":["payment_approval_request_id","subject_kind","subject_reference","exact_subject_digest","required_approvals","received_approvals","state"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentApprovalSubjectKind":{"type":"string","enum":["order_revision","transfer_revision","export_preparation"]},"isecure.bankfiles.payments_api.PaymentApprovalSummary":{"type":"object","properties":{"bundle_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalBundleState"},"required_approvals":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"received_approvals":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"exact_revision_digest":{"type":"string","maxLength":128}},"required":["state","required_approvals","received_approvals"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentAuthorizationState":{"type":"string","enum":["not_required","pending","partially_satisfied","satisfied","rejected","expired","cancelled","indeterminate"],"description":"External bank or channel authorization state; it never substitutes for customer approval"},"isecure.bankfiles.payments_api.PaymentAuthorizationSummary":{"type":"object","properties":{"authorization_bundle_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAuthorizationState"},"required_action":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"},"expires_at":{"type":"string","format":"date-time"}},"required":["state"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentBankOutcomeState":{"type":"string","enum":["not_observed","pending","accepted","partially_accepted","rejected","settled","partially_settled","returned","reversed","indeterminate","contradictory"],"description":"Aggregate bank outcome that never flattens partial, contradictory, or unknown transfer outcomes"},"isecure.bankfiles.payments_api.PaymentBankOutcomeSummary":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBankOutcomeState"},"outcome_reference":{"type":"string","format":"uuid"},"observed_at":{"type":"string","format":"date-time"},"issue_codes":{"type":"array","items":{"type":"string","maxLength":64},"minItems":0,"maxItems":64}},"required":["state","issue_codes"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentBatchBookingMode":{"type":"string","enum":["separate","combined","provider_choice"]},"isecure.bankfiles.payments_api.PaymentBusinessType":{"type":"string","enum":["credit_transfer"],"description":"Qualified customer-facing payment business family; unsupported families are separate aggregates"},"isecure.bankfiles.payments_api.PaymentCapabilityCriteria":{"type":"object","description":"Business criteria for explicit capability resolution; the resolver never silently selects an ambiguous candidate","properties":{"connected_account_id":{"type":"string","format":"uuid"},"business_type":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBusinessType"},"currency":{"type":"string","maxLength":3},"destination_country_code":{"type":"string","maxLength":2},"requested_execution_date":{"type":"string","format":"date"},"transfer_count":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"total_money":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ExactMoney"},"required_option_kinds":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOptionKind"},"minItems":0,"maxItems":32}},"required":["connected_account_id","business_type","required_option_kinds"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityGetInput":{"type":"object","properties":{"account_capability_id":{"type":"string","format":"uuid"},"capability_revision":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"}},"required":["account_capability_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityGetResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"capability":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityResource"}},"required":["context","capability"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityHandle":{"type":"object","description":"Non-secret reference to one immutable account-bound capability; authority is rechecked on every use","properties":{"account_capability_id":{"type":"string","format":"uuid"},"capability_revision":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"connected_account_id":{"type":"string","format":"uuid"}},"required":["account_capability_id","capability_revision","connected_account_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityLimit":{"oneOf":[{"title":"money","type":"object","properties":{"limit_type":{"enum":["money"]},"limit_kind_id":{"type":"string","maxLength":256},"minimum":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ExactMoney"},"maximum":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ExactMoney"}},"required":["limit_type","limit_kind_id","maximum"],"additionalProperties":false},{"title":"count","type":"object","properties":{"limit_type":{"enum":["count"]},"limit_kind_id":{"type":"string","maxLength":256},"maximum_count":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["limit_type","limit_kind_id","maximum_count"],"additionalProperties":false}]},"isecure.bankfiles.payments_api.PaymentCapabilityListInput":{"type":"object","properties":{"connected_account_id":{"type":"string","format":"uuid"},"business_type":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBusinessType"},"currency":{"type":"string","maxLength":3},"destination_country_code":{"type":"string","maxLength":2},"effective_at":{"type":"string","format":"date-time"},"page":{"$ref":"#/components/schemas/isecure.bankfiles.operations.PageRequest"}},"required":["page"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityListResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityResource"},"minItems":0,"maxItems":200},"page":{"$ref":"#/components/schemas/isecure.bankfiles.operations.PageResult"}},"required":["context","capabilities","page"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityResolution":{"type":"object","description":"Explicit capability result with zero, one, or several candidates and no default substitution","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityResolutionOutcome"},"selected":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityHandle"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityHandle"},"minItems":0,"maxItems":64},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":64}},"required":["context","outcome","candidates","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCapabilityResolutionOutcome":{"type":"string","enum":["resolved","unsupported","not_ready","ambiguous","expired","uncertain"]},"isecure.bankfiles.payments_api.PaymentCapabilityResource":{"type":"object","description":"Immutable payment capability over the existing connected-account capability identity","properties":{"handle":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityHandle"},"business_type":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBusinessType"},"variant_id":{"type":"string","maxLength":256},"availability":{"$ref":"#/components/schemas/isecure.bankfiles.accounts_api.AccountCapabilityAvailability"},"destination_scope":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentDestinationScope"},"supported_currencies":{"type":"array","items":{"type":"string","maxLength":3},"minItems":1,"maxItems":64},"destination_country_codes":{"type":"array","items":{"type":"string","maxLength":2},"minItems":0,"maxItems":256},"account_schemes":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAccountScheme"},"minItems":1,"maxItems":8},"remittance_kinds":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentRemittanceKind"},"minItems":1,"maxItems":8},"priorities":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentPriority"},"minItems":1,"maxItems":8},"option_kinds":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOptionKind"},"minItems":0,"maxItems":32},"limits":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityLimit"},"minItems":0,"maxItems":32},"limitation_codes":{"type":"array","items":{"type":"string","maxLength":64},"minItems":0,"maxItems":64},"effective_from":{"type":"string","format":"date-time"},"effective_to":{"type":"string","format":"date-time"}},"required":["handle","business_type","variant_id","availability","destination_scope","supported_currencies","destination_country_codes","account_schemes","remittance_kinds","priorities","option_kinds","limits","limitation_codes","effective_from"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentChargeBearer":{"type":"string","enum":["shared","debtor","creditor","service_level"]},"isecure.bankfiles.payments_api.PaymentCreditor":{"type":"object","properties":{"name":{"type":"string","maxLength":256},"identifiers":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentPartyIdentifier"},"minItems":0,"maxItems":16},"postal_address":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentPostalAddress"}},"required":["name","identifiers"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentCreditorAccount":{"oneOf":[{"title":"iban","type":"object","properties":{"account_type":{"enum":["iban"]},"iban":{"type":"string","maxLength":34}},"required":["account_type","iban"],"additionalProperties":false},{"title":"domestic","type":"object","properties":{"account_type":{"enum":["domestic"]},"account_scheme_id":{"type":"string","maxLength":256},"account_identifier":{"type":"string","maxLength":256}},"required":["account_type","account_scheme_id","account_identifier"],"additionalProperties":false}]},"isecure.bankfiles.payments_api.PaymentCreditorAgent":{"oneOf":[{"title":"bic","type":"object","properties":{"agent_type":{"enum":["bic"]},"bic":{"type":"string","maxLength":11}},"required":["agent_type","bic"],"additionalProperties":false},{"title":"clearing_member","type":"object","properties":{"agent_type":{"enum":["clearing_member"]},"clearing_system_id":{"type":"string","maxLength":256},"member_identifier":{"type":"string","maxLength":256}},"required":["agent_type","clearing_system_id","member_identifier"],"additionalProperties":false}]},"isecure.bankfiles.payments_api.PaymentCurrencyTotal":{"type":"object","description":"Exact total for one currency; different currencies are never combined and no implicit rounding is permitted","properties":{"currency":{"type":"string","maxLength":3},"amount":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]{0,19})(?:\\.[0-9]{1,18})?$","maxLength":40,"x-isecure-json-representation":"decimal-string"},"transfer_count":{"type":"integer","minimum":-2147483648,"maximum":2147483647}},"required":["currency","amount","transfer_count"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentDestinationScope":{"type":"string","enum":["domestic","cross_border","any_qualified"]},"isecure.bankfiles.payments_api.PaymentExecutionSummary":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExecutionSummaryState"},"current_attempt":{"$ref":"#/components/schemas/isecure.bankfiles.operations.AttemptReference"},"latest_task":{"$ref":"#/components/schemas/isecure.bankfiles.operations.TaskReference"},"transitioned_at":{"type":"string","format":"date-time"}},"required":["state"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExecutionSummaryState":{"type":"string","enum":["not_started","planned","in_progress","completed","failed","indeterminate","cancelled"]},"isecure.bankfiles.payments_api.PaymentExportGetInput":{"type":"object","properties":{"payment_export_id":{"type":"string","format":"uuid"}},"required":["payment_export_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportGetResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_export":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportResource"}},"required":["context","payment_export"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportProfileAvailabilityStatus":{"type":"string","enum":["available","unavailable"],"description":"Tenant-visible admission state in the current Processing release"},"isecure.bankfiles.payments_api.PaymentExportProfileCatalogEntry":{"type":"object","description":"One exact bank and country export profile admitted by the current tenant Processing release; renderer identity and validator locators remain private","properties":{"bank_profile_id":{"type":"string","maxLength":256},"bank_id":{"type":"string","maxLength":64},"bank_name":{"type":"string","maxLength":140},"country_code":{"type":"string","maxLength":2},"payment_type":{"type":"string","maxLength":64},"message_definition":{"type":"string","maxLength":64},"profile_version":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"qualification_status":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileQualificationStatus"},"availability_status":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileAvailabilityStatus"}},"required":["bank_profile_id","bank_id","bank_name","country_code","payment_type","message_definition","profile_version","qualification_status","availability_status"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportProfileCatalogListInput":{"type":"object","properties":{},"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportProfileCatalogListResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"profiles":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileCatalogEntry"},"minItems":0,"maxItems":200},"catalog_digest":{"type":"string","maxLength":128},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":64}},"required":["context","profiles","catalog_digest","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportProfileGetInput":{"type":"object","properties":{},"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportProfileLifecycleState":{"type":"string","enum":["active","revoked"]},"isecure.bankfiles.payments_api.PaymentExportProfileQualificationStatus":{"type":"string","enum":["none","experimental","qualified_with_limitations","qualified"],"description":"Exact governed outbound qualification state; availability in one Processing release is separate"},"isecure.bankfiles.payments_api.PaymentExportProfileResource":{"type":"object","properties":{"payment_export_profile_id":{"type":"string","format":"uuid"},"profile_revision":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"debtor_account_id":{"type":"string","format":"uuid"},"debtor_account_identifier":{"type":"string","maxLength":256},"debtor_account_scheme":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAccountScheme"},"debtor_account_currency":{"type":"string","maxLength":3},"initiating_party_name":{"type":"string","maxLength":140},"initiating_party_customer_id":{"type":"string","maxLength":256},"debtor_name":{"type":"string","maxLength":140},"debtor_bank_agreement_id":{"type":"string","maxLength":256},"debtor_country_code":{"type":"string","maxLength":2},"debtor_agent_bic":{"type":"string","maxLength":11},"bank_profile_id":{"type":"string","maxLength":256},"renderer_profile_id":{"type":"string","maxLength":256},"renderer_profile_version":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"renderer_catalog_digest":{"type":"string","maxLength":128},"qualification_contract_digest":{"type":"string","maxLength":128},"message_definition":{"type":"string","maxLength":64},"xml_namespace":{"type":"string","maxLength":256},"exact_revision_digest":{"type":"string","maxLength":128},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileLifecycleState"},"effective_from":{"type":"string","format":"date-time"},"effective_to":{"type":"string","format":"date-time"},"approved_at":{"type":"string","format":"date-time"}},"required":["payment_export_profile_id","profile_revision","resource_version","debtor_account_id","debtor_account_identifier","debtor_account_scheme","initiating_party_name","initiating_party_customer_id","debtor_name","debtor_bank_agreement_id","debtor_country_code","debtor_agent_bic","bank_profile_id","renderer_profile_id","renderer_profile_version","renderer_catalog_digest","qualification_contract_digest","message_definition","xml_namespace","exact_revision_digest","state","effective_from","approved_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportProfileResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_export_profile":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportProfileResource"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":64}},"required":["context","payment_export_profile","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportReleaseResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_export":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportResource"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":64}},"required":["context","payment_export","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportResource":{"type":"object","description":"Customer-visible metadata for one exact prepared pain.001 artifact; private object-store coordinates are never present","properties":{"payment_export_id":{"type":"string","format":"uuid"},"payment_order_id":{"type":"string","format":"uuid"},"order_revision_id":{"type":"string","format":"uuid"},"order_revision_digest":{"type":"string","maxLength":128},"payment_export_profile_id":{"type":"string","format":"uuid"},"profile_revision":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"profile_revision_digest":{"type":"string","maxLength":128},"artifact_id":{"type":"string","format":"uuid"},"artifact_digest":{"type":"string","maxLength":128},"artifact_byte_length":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"artifact_media_type":{"type":"string","maxLength":256},"approval_request_id":{"type":"string","format":"uuid"},"exact_approval_subject_digest":{"type":"string","maxLength":128},"state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportState"},"prepared_at":{"type":"string","format":"date-time"},"released_at":{"type":"string","format":"date-time"}},"required":["payment_export_id","payment_order_id","order_revision_id","order_revision_digest","payment_export_profile_id","profile_revision","profile_revision_digest","artifact_id","artifact_digest","artifact_byte_length","artifact_media_type","approval_request_id","exact_approval_subject_digest","state","prepared_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentExportState":{"type":"string","enum":["pending_approval","approved","rejected","invalidated","released"]},"isecure.bankfiles.payments_api.PaymentGroupingFeasibility":{"type":"string","enum":["feasible","infeasible","indeterminate"]},"isecure.bankfiles.payments_api.PaymentGroupingPreview":{"type":"object","description":"Finalization-time feasibility result; authoritative must always be false","properties":{"authoritative":{"type":"boolean"},"feasibility":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentGroupingFeasibility"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentGroupingPreviewGroup"},"minItems":0,"maxItems":10000},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":128}},"required":["authoritative","feasibility","groups","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentGroupingPreviewGroup":{"type":"object","description":"Non-authoritative grouping hint over an exact finalized revision; it is not a PaymentBatch, execution plan, rendered artifact, or provider promise","properties":{"preview_group_digest":{"type":"string","maxLength":128},"payment_transfer_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":10000},"currency_total":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCurrencyTotal"}},"required":["preview_group_digest","payment_transfer_ids","currency_total"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentIssues":{"type":"object","properties":{"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":128},"recovery":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentRecoveryGuidance"},"minItems":0,"maxItems":32}},"required":["issues","recovery"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOptionKind":{"type":"string","enum":["batch_booking","category_purpose","service_level","local_instrument","charge_bearer","purpose","priority","advice","regulatory_reporting"]},"isecure.bankfiles.payments_api.PaymentOrderDraftInput":{"type":"object","description":"Minimal business draft with one explicitly selected source-account capability; an open draft may start empty","properties":{"capability":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityHandle"},"external_id":{"type":"string","maxLength":256},"requested_execution_date":{"type":"string","format":"date"},"options":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderOption"},"minItems":0,"maxItems":32},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferInput"},"minItems":0,"maxItems":10000}},"required":["capability","requested_execution_date","options","transfers"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderFinalizationResult":{"type":"object","description":"Atomic finalization result; preview is advisory and creates no canonical PaymentBatch","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"mutation":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderMutationResult"},"grouping_preview":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentGroupingPreview"}},"required":["context","mutation","grouping_preview"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderGetInput":{"type":"object","properties":{"payment_order_id":{"type":"string","format":"uuid"},"revision_id":{"type":"string","format":"uuid"}},"required":["payment_order_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderGetResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_order":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderResource"}},"required":["context","payment_order"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderListInput":{"type":"object","properties":{"connected_account_id":{"type":"string","format":"uuid"},"workflow_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"},"validation_outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"},"bank_outcome_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBankOutcomeState"},"created_from":{"type":"string","format":"date-time"},"created_to":{"type":"string","format":"date-time"},"page":{"$ref":"#/components/schemas/isecure.bankfiles.operations.PageRequest"}},"required":["page"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderListResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_orders":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderSummary"},"minItems":0,"maxItems":200},"page":{"$ref":"#/components/schemas/isecure.bankfiles.operations.PageResult"}},"required":["context","payment_orders","page"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderMutationResult":{"type":"object","description":"Compact mutation result deliberately excluding creditor accounts, remittance, customer references, and money","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_order_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"revision_id":{"type":"string","format":"uuid"},"revision_digest":{"type":"string","maxLength":128},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"payment_transfer_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":0,"maxItems":10000},"currency_totals":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCurrencyTotal"},"minItems":0,"maxItems":64},"workflow_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"},"validation_outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"},"approval_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalBundleState"},"required_actions":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"},"minItems":0,"maxItems":16},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":128}},"required":["context","payment_order_reference","revision_id","revision_digest","resource_version","payment_transfer_ids","currency_totals","workflow_state","validation_outcome","approval_state","required_actions","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderOption":{"oneOf":[{"title":"batch_booking","type":"object","properties":{"option_type":{"enum":["batch_booking"]},"mode":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBatchBookingMode"}},"required":["option_type","mode"],"additionalProperties":false},{"title":"category_purpose","type":"object","properties":{"option_type":{"enum":["category_purpose"]},"category_purpose_id":{"type":"string","maxLength":256}},"required":["option_type","category_purpose_id"],"additionalProperties":false},{"title":"service_level","type":"object","properties":{"option_type":{"enum":["service_level"]},"service_level_id":{"type":"string","maxLength":256}},"required":["option_type","service_level_id"],"additionalProperties":false},{"title":"local_instrument","type":"object","properties":{"option_type":{"enum":["local_instrument"]},"local_instrument_id":{"type":"string","maxLength":256}},"required":["option_type","local_instrument_id"],"additionalProperties":false},{"title":"charge_bearer","type":"object","properties":{"option_type":{"enum":["charge_bearer"]},"charge_bearer":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentChargeBearer"}},"required":["option_type","charge_bearer"],"additionalProperties":false}]},"isecure.bankfiles.payments_api.PaymentOrderResource":{"type":"object","description":"Customer aggregate projection over one selected immutable revision; current_revision_id keeps the current head distinct while orthogonal lifecycle axes remain current and visible","properties":{"payment_order_id":{"type":"string","format":"uuid"},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"revision":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderRevision"},"current_revision_id":{"type":"string","format":"uuid"},"workflow_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"},"validation":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationSummary"},"currency_totals":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCurrencyTotal"},"minItems":0,"maxItems":64},"approval_summary":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalSummary"},"authorization":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAuthorizationSummary"},"execution":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExecutionSummary"},"bank_outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBankOutcomeSummary"},"next_operations":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.NextOperation"},"minItems":0,"maxItems":32},"created_at":{"type":"string","format":"date-time"},"transitioned_at":{"type":"string","format":"date-time"}},"required":["payment_order_id","resource_version","revision","current_revision_id","workflow_state","validation","currency_totals","approval_summary","authorization","execution","bank_outcome","next_operations","created_at","transitioned_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderReviewSubmissionResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_order_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"revision_id":{"type":"string","format":"uuid"},"revision_digest":{"type":"string","maxLength":128},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"payment_transfer_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":0,"maxItems":10000},"currency_totals":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCurrencyTotal"},"minItems":0,"maxItems":64},"workflow_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"},"validation_outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"},"approval_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalBundleState"},"required_actions":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"},"minItems":0,"maxItems":16},"payment_export":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExportResource"},"approval_request":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalRequestResource"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":128}},"required":["context","payment_order_reference","revision_id","revision_digest","resource_version","payment_transfer_ids","currency_totals","workflow_state","validation_outcome","approval_state","required_actions","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderRevision":{"type":"object","description":"Immutable exact order revision; its digest is the customer-approval binding","properties":{"payment_order_id":{"type":"string","format":"uuid"},"revision_id":{"type":"string","format":"uuid"},"revision_number":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"revision_digest":{"type":"string","maxLength":128},"supersedes_revision_id":{"type":"string","format":"uuid"},"capability":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCapabilityHandle"},"external_id":{"type":"string","maxLength":256},"requested_execution_date":{"type":"string","format":"date"},"options":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderOption"},"minItems":0,"maxItems":32},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferRevision"},"minItems":0,"maxItems":10000},"created_at":{"type":"string","format":"date-time"}},"required":["payment_order_id","revision_id","revision_number","revision_digest","capability","requested_execution_date","options","transfers","created_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderRevisionInput":{"type":"object","description":"Exact immutable revision selector for validation and simulation replay","properties":{"payment_order_id":{"type":"string","format":"uuid"},"revision_id":{"type":"string","format":"uuid"}},"required":["payment_order_id","revision_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderSimulationResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_order_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"revision_id":{"type":"string","format":"uuid"},"predicted_workflow_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"},"validation":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationSummary"},"predicted_approval_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalBundleState"},"predicted_authorization_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAuthorizationState"},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferValidationSummary"},"minItems":0,"maxItems":10000},"currency_totals":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCurrencyTotal"},"minItems":0,"maxItems":64},"required_actions":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"},"minItems":0,"maxItems":16},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":128}},"required":["context","payment_order_reference","revision_id","predicted_workflow_state","validation","predicted_approval_state","predicted_authorization_state","transfers","currency_totals","required_actions","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderSummary":{"type":"object","description":"Compact list projection without creditor, account, remittance, customer-reference, or money fields","properties":{"payment_order_id":{"type":"string","format":"uuid"},"resource_version":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"},"current_revision_id":{"type":"string","format":"uuid"},"workflow_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderWorkflowState"},"validation_outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"},"approval_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentApprovalBundleState"},"authorization_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentAuthorizationState"},"execution_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentExecutionSummaryState"},"bank_outcome_state":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentBankOutcomeState"},"transfer_count":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"created_at":{"type":"string","format":"date-time"},"transitioned_at":{"type":"string","format":"date-time"}},"required":["payment_order_id","resource_version","current_revision_id","workflow_state","validation_outcome","approval_state","authorization_state","execution_state","bank_outcome_state","transfer_count","created_at","transitioned_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderTransitionInput":{"type":"object","properties":{"payment_order_id":{"type":"string","format":"uuid"}},"required":["payment_order_id"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderValidationResult":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationContext"},"payment_order_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"revision_id":{"type":"string","format":"uuid"},"validation":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationSummary"},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferValidationSummary"},"minItems":0,"maxItems":10000},"currency_totals":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCurrencyTotal"},"minItems":0,"maxItems":64},"required_actions":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"},"minItems":0,"maxItems":16},"issues":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.OperationIssue"},"minItems":0,"maxItems":128}},"required":["context","payment_order_reference","revision_id","validation","transfers","currency_totals","required_actions","issues"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentOrderWorkflowState":{"type":"string","enum":["draft","finalized","review_pending","ready_for_execution","execution_pending","closed","cancelled"],"description":"Stable customer workflow state; validation, approval, execution, authorization, and bank outcomes remain separate"},"isecure.bankfiles.payments_api.PaymentPartyIdentifier":{"type":"object","properties":{"identifier_scheme_id":{"type":"string","maxLength":256},"identifier":{"type":"string","maxLength":256}},"required":["identifier_scheme_id","identifier"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentPostalAddress":{"type":"object","properties":{"country_code":{"type":"string","maxLength":2},"town_name":{"type":"string","maxLength":256},"address_lines":{"type":"array","items":{"type":"string","maxLength":256},"minItems":1,"maxItems":7}},"required":["country_code","address_lines"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentPriority":{"type":"string","enum":["normal","high","express"]},"isecure.bankfiles.payments_api.PaymentRecoveryGuidance":{"type":"object","description":"Typed recovery guidance that grants no authority","properties":{"recovery_kind":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentRecoveryKind"},"subject_reference":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ResourceReference"},"required_action":{"$ref":"#/components/schemas/isecure.bankfiles.operations.RequiredAction"},"next_operations":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.operations.NextOperation"},"minItems":0,"maxItems":16}},"required":["recovery_kind","subject_reference","next_operations"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentRecoveryKind":{"type":"string","enum":["select_capability","revise_order","complete_approval","complete_strong_authentication","wait_for_outcome","investigate_indeterminate","request_recall"]},"isecure.bankfiles.payments_api.PaymentRemittance":{"oneOf":[{"title":"unstructured","type":"object","properties":{"remittance_type":{"enum":["unstructured"]},"text_lines":{"type":"array","items":{"type":"string","maxLength":280},"minItems":1,"maxItems":4}},"required":["remittance_type","text_lines"],"additionalProperties":false},{"title":"structured_creditor_reference","type":"object","properties":{"remittance_type":{"enum":["structured_creditor_reference"]},"reference_scheme_id":{"type":"string","maxLength":256},"reference":{"type":"string","maxLength":256}},"required":["remittance_type","reference_scheme_id","reference"],"additionalProperties":false},{"title":"structured_document","type":"object","properties":{"remittance_type":{"enum":["structured_document"]},"documents":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentRemittanceDocument"},"minItems":1,"maxItems":999}},"required":["remittance_type","documents"],"additionalProperties":false}]},"isecure.bankfiles.payments_api.PaymentRemittanceDocument":{"type":"object","properties":{"document_type_id":{"type":"string","maxLength":256},"document_reference":{"type":"string","maxLength":256},"related_date":{"type":"string","format":"date"},"related_amount":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ExactMoney"}},"required":["document_type_id","document_reference"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentRemittanceKind":{"type":"string","enum":["none","unstructured","structured_creditor_reference","structured_document"]},"isecure.bankfiles.payments_api.PaymentTransferInput":{"type":"object","description":"One ordered customer transfer; internal IDs, ordinals, ISO fields, counts, and control sums are derived","properties":{"external_id":{"type":"string","maxLength":256},"money":{"$ref":"#/components/schemas/isecure.bankfiles.operations.ExactMoney"},"creditor":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCreditor"},"creditor_account":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCreditorAccount"},"creditor_agent":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentCreditorAgent"},"remittance":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentRemittance"},"options":{"type":"array","items":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferOption"},"minItems":0,"maxItems":32}},"required":["money","creditor","creditor_account","options"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentTransferOption":{"oneOf":[{"title":"purpose","type":"object","properties":{"option_type":{"enum":["purpose"]},"purpose_id":{"type":"string","maxLength":256}},"required":["option_type","purpose_id"],"additionalProperties":false},{"title":"priority","type":"object","properties":{"option_type":{"enum":["priority"]},"priority":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentPriority"}},"required":["option_type","priority"],"additionalProperties":false},{"title":"advice","type":"object","properties":{"option_type":{"enum":["advice"]},"advice_method_id":{"type":"string","maxLength":256},"advice_reference":{"type":"string","maxLength":256}},"required":["option_type","advice_method_id"],"additionalProperties":false},{"title":"regulatory_reporting","type":"object","properties":{"option_type":{"enum":["regulatory_reporting"]},"authority_country_code":{"type":"string","maxLength":2},"reporting_code_id":{"type":"string","maxLength":256},"reporting_information":{"type":"string","maxLength":2048}},"required":["option_type","authority_country_code","reporting_code_id"],"additionalProperties":false}]},"isecure.bankfiles.payments_api.PaymentTransferRevision":{"type":"object","properties":{"payment_transfer_id":{"type":"string","format":"uuid"},"transfer_position":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"transfer":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferInput"}},"required":["payment_transfer_id","transfer_position","transfer"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentTransferValidationSummary":{"type":"object","properties":{"payment_transfer_id":{"type":"string","format":"uuid"},"outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"},"issue_codes":{"type":"array","items":{"type":"string","maxLength":64},"minItems":0,"maxItems":64}},"required":["payment_transfer_id","outcome","issue_codes"],"additionalProperties":false},"isecure.bankfiles.payments_api.PaymentValidationOutcome":{"type":"string","enum":["not_evaluated","valid","invalid","indeterminate"]},"isecure.bankfiles.payments_api.PaymentValidationSummary":{"type":"object","properties":{"outcome":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentValidationOutcome"},"validated_revision_id":{"type":"string","format":"uuid"},"issue_count":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"validated_at":{"type":"string","format":"date-time"}},"required":["outcome","validated_revision_id","issue_count","validated_at"],"additionalProperties":false},"isecure.bankfiles.payments_api.ReleasePaymentExportInput":{"type":"object","properties":{"payment_export_id":{"type":"string","format":"uuid"},"exact_approval_subject_digest":{"type":"string","maxLength":128}},"required":["payment_export_id","exact_approval_subject_digest"],"additionalProperties":false},"isecure.bankfiles.payments_api.RemovePaymentOrderTransfersInput":{"type":"object","description":"Remove a bounded set of exact stable transfer identities in a new immutable order revision","properties":{"payment_order_id":{"type":"string","format":"uuid"},"payment_transfer_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":1000}},"required":["payment_order_id","payment_transfer_ids"],"additionalProperties":false},"isecure.bankfiles.payments_api.RevisePaymentOrderInput":{"type":"object","description":"Order-level revision body; its transfer sequence must be unchanged so stable identities cannot be guessed by position, while append, exact-transfer revise and remove own transfer changes; optimistic concurrency is generated transport metadata","properties":{"payment_order_id":{"type":"string","format":"uuid"},"draft":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentOrderDraftInput"}},"required":["payment_order_id","draft"],"additionalProperties":false},"isecure.bankfiles.payments_api.RevisePaymentOrderTransferInput":{"type":"object","description":"Replace the content of one stable transfer identity in a new immutable order revision","properties":{"payment_order_id":{"type":"string","format":"uuid"},"payment_transfer_id":{"type":"string","format":"uuid"},"transfer":{"$ref":"#/components/schemas/isecure.bankfiles.payments_api.PaymentTransferInput"}},"required":["payment_order_id","payment_transfer_id","transfer"],"additionalProperties":false},"isecure.bankfiles.payments_api.RevokePaymentExportProfileInput":{"type":"object","properties":{"payment_export_profile_id":{"type":"string","format":"uuid"},"profile_revision":{"type":"string","pattern":"^-?(?:0|[1-9][0-9]*)$","maxLength":20,"x-isecure-minimum":"-9223372036854775808","x-isecure-maximum":"9223372036854775807","x-isecure-json-representation":"decimal-string"}},"required":["payment_export_profile_id","profile_revision"],"additionalProperties":false},"ProcessingError":{"type":"object","description":"Safe host or gateway failure. Code values identify the failure without exposing customer data.","properties":{"code":{"type":"string"},"schemaVersion":{"type":"integer","enum":[1]}},"required":["code","schemaVersion"],"additionalProperties":false},"ProcessingSession":{"type":"object","properties":{"audience":{"type":"string","enum":["isecure-processing-gpgtest-v1"]},"expiresAtEpochSeconds":{"type":"integer","description":"UTC expiry as Unix seconds."},"processingSession":{"type":"string","readOnly":true,"description":"Secret opaque credential. Use only in the Authorization header with the Processing prefix."},"schemaVersion":{"type":"integer","enum":[1]},"tokenType":{"type":"string","enum":["Processing"]}},"required":["audience","expiresAtEpochSeconds","processingSession","schemaVersion","tokenType"],"additionalProperties":false}}},"externalDocs":{"description":"Official TypeScript SDK","url":"https://github.com/isecurefi/isecure-ts-client"},"x-isecure-source":{"revision":"e24fc78ffd2c6c3cb564433b910a27da930dfd41","sha256":"5b6fa8753178e8f66fcb1bc9b9bae52d1cff591dab655276e673019cc8223057","deployment":"processing-2fb9a78a9ef95b7405a4537d","verifiedAt":"2026-09-20"},"x-tagGroups":[{"name":"Getting started","tags":["Session"]},{"name":"Processing API","tags":["Approval","Account capabilities","Export profiles","Payment files","Payment drafts"]},{"name":"Notifications","tags":["Notifications"]}]}