{"openapi":"3.1.0","info":{"title":"ISO 20022 Payments Middleware","version":"0.1.0"},"paths":{"/v1/health":{"get":{"tags":["health"],"summary":"Health","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Health V1 Health Get"}}}}}}},"/v1/ping":{"get":{"tags":["health"],"summary":"Ping","operationId":"ping_v1_ping_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/v1/receipts":{"get":{"tags":["receipts"],"summary":"List Receipts","operationId":"list_receipts_v1_receipts_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"chain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"}},{"name":"reference","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until"}},{"name":"scope","in":"query","required":false,"schema":{"enum":["mine","all"],"type":"string","default":"mine","title":"Scope"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/receipts/{rid}":{"get":{"tags":["receipts"],"summary":"Get Receipt","operationId":"get_receipt_v1_iso_receipts__rid__get","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/receipts/{receipt_id}/compliance-checks":{"get":{"tags":["receipts"],"summary":"List Receipt Compliance Checks","description":"Get compliance check results for a receipt.","operationId":"list_receipt_compliance_checks_v1_receipts__receipt_id__compliance_checks_get","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/verify":{"post":{"tags":["verify"],"summary":"Verify","operationId":"verify_v1_iso_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/verify-cid":{"post":{"tags":["verify"],"summary":"Verify Cid","operationId":"verify_cid_v1_iso_verify_cid_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyCidRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/messages/{rid}":{"get":{"tags":["iso"],"summary":"List Iso Messages","operationId":"list_iso_messages_v1_iso_messages__rid__get","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ISOArtifactResponse"},"title":"Response List Iso Messages V1 Iso Messages  Rid  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/camt056/{rid}":{"post":{"summary":"Generate Camt056","description":"Generate a camt.056 FI-to-FI Payment Cancellation Request.\n\nThis message is used by a financial institution to request cancellation of a \npreviously sent payment instruction.\n\n- Requires authentication (API key or SIWE)\n- Receipt must exist\n- Generates camt.056 ISO message","operationId":"generate_camt056_v1_iso_camt056__rid__post","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/camt029/{rid}":{"post":{"summary":"Generate Camt029","description":"Generate a camt.029 Resolution of Investigation.\n\nThis message is used to provide the response to a cancellation request or \ninvestigation query.\n\n- Requires authentication (API key or SIWE)\n- Receipt must exist\n- Generates camt.029 ISO message","operationId":"generate_camt029_v1_iso_camt029__rid__post","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/pacs007/{rid}":{"post":{"summary":"Generate Pacs007","description":"Generate a pacs.007 FI-to-FI Payment Reversal.\n\nThis message is used by a financial institution to reverse a previously sent \npayment instruction.\n\n- Requires authentication (API key or SIWE)\n- Receipt must exist\n- Generates pacs.007 ISO message","operationId":"generate_pacs007_v1_iso_pacs007__rid__post","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/pacs009/{rid}":{"post":{"summary":"Generate Pacs009","description":"Generate a pacs.009 Financial Institution Credit Transfer.\n\nThis message is used for credit transfers between financial institutions.\n\n- Requires authentication (API key or SIWE)\n- Receipt must exist\n- Generates pacs.009 ISO message","operationId":"generate_pacs009_v1_iso_pacs009__rid__post","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FIMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/refund":{"post":{"summary":"Refund Receipt","description":"Initiate a refund/return for an existing receipt.\n\nThis creates a new receipt that references the original, generates a pacs.004\npayment return message, and schedules it for bundling and anchoring.\n\n- Requires authentication (API key or SIWE)\n- Original receipt must exist and be in 'anchored' status\n- Creates a new receipt with refund_of foreign key\n- Generates pacs.004 ISO message","operationId":"refund_receipt_v1_iso_refund_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdk/build":{"post":{"tags":["sdk"],"summary":"Build Sdk","description":"Build a quick-start SDK zip.\n\nNote: This is a convenience scaffold; the canonical SDKs live in packages/.\n\nNew: Supports x402-enabled SDKs with payment handling and agent methods.","operationId":"build_sdk_v1_sdk_build_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SDKBuildRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ai/assist":{"post":{"tags":["ai"],"summary":"Ai Assist","description":"Scoped AI assistant.\n\nIMPORTANT: principal is resolved here and must be passed down so that\nproject keys cannot read other projects' receipts via the AI tools.","operationId":"ai_assist_v1_ai_assist_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ai/status":{"get":{"tags":["ai"],"summary":"Ai Status","description":"Return AI provider configuration status.\n\nShows whether AI is enabled, which provider/model is configured,\nand basic configuration info for UX purposes.","operationId":"ai_status_v1_ai_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/config":{"get":{"tags":["config"],"summary":"Get Config","operationId":"get_config_v1_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["config"],"summary":"Put Config","operationId":"put_config_v1_config_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgConfigModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/nonce":{"get":{"tags":["auth"],"summary":"Siwe Nonce","operationId":"siwe_nonce_v1_auth_nonce_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/siwe-verify":{"post":{"tags":["auth"],"summary":"Siwe Verify","description":"Verify SIWE.\n\nBackwards compatible with legacy payload {address, nonce, signature}.","operationId":"siwe_verify_v1_auth_siwe_verify_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/linked-wallets":{"get":{"tags":["auth"],"summary":"List Linked Wallets","operationId":"list_linked_wallets_v1_auth_linked_wallets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/linked-wallets/{address}":{"delete":{"tags":["auth"],"summary":"Delete Linked Wallet","operationId":"delete_linked_wallet_v1_auth_linked_wallets__address__delete","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me":{"get":{"tags":["auth"],"summary":"Get Me","description":"Return current principal info (role, project_id, is_admin) for UX purposes.","operationId":"get_me_v1_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/siwe-mint-key":{"post":{"tags":["auth"],"summary":"Siwe Mint Key","description":"Mint a new API key for an existing project using SIWE (wallet signature).\n\nUseful for key rotation when user lost their current key but still has wallet access.","operationId":"siwe_mint_key_v1_auth_siwe_mint_key_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/projects/register":{"post":{"tags":["projects"],"summary":"Register Project","operationId":"register_project_v1_projects_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterProjectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterProjectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/projects":{"get":{"tags":["projects"],"summary":"List Projects","operationId":"list_projects_v1_projects_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProjectInfo"},"type":"array","title":"Response List Projects V1 Projects Get"}}}}}}},"/v1/projects/{project_id}/config":{"get":{"tags":["projects"],"summary":"Get Project Config","description":"Return project-level config (anchoring execution mode + chains).\n\nThis is separate from org config (/v1/config).","operationId":"get_project_config_v1_projects__project_id__config_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectConfig-Output"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Put Project Config","operationId":"put_project_config_v1_projects__project_id__config_put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectConfig-Input"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectConfig-Output"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/record-tip":{"post":{"tags":["iso-write"],"summary":"Record Tip","operationId":"record_tip_v1_iso_record_tip_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipRecordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordTipResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/anchors/{rid}":{"get":{"tags":["anchors"],"summary":"Get Anchors","operationId":"get_anchors_v1_anchors__rid__get","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/receipt/{rid}":{"get":{"tags":["ui"],"summary":"Receipt Redirect","operationId":"receipt_redirect_receipt__rid__get","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/embed/receipt":{"get":{"tags":["ui"],"summary":"Embed Receipt Redirect","operationId":"embed_receipt_redirect_embed_receipt_get","parameters":[{"name":"rid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rid"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/events/{rid}":{"get":{"tags":["events"],"summary":"Sse Events","operationId":"sse_events_v1_iso_events__rid__get","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/debug/anchor":{"post":{"tags":["debug"],"summary":"Debug Anchor","operationId":"debug_anchor_v1_debug_anchor_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebugAnchorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DebugAnchorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/api-keys":{"get":{"tags":["api-keys"],"summary":"List Api Keys","operationId":"list_api_keys_v1_auth_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/APIKeyInfo"},"type":"array","title":"Response List Api Keys V1 Auth Api Keys Get"}}}}}},"post":{"tags":["api-keys"],"summary":"Create Api Key","operationId":"create_api_key_v1_auth_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/api-keys/{id}":{"delete":{"tags":["api-keys"],"summary":"Revoke Api Key","operationId":"revoke_api_key_v1_auth_api_keys__id__delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/iso/confirm-anchor":{"post":{"tags":["iso-write"],"summary":"Confirm Anchor","operationId":"confirm_anchor_v1_iso_confirm_anchor_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmAnchorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmAnchorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit/events":{"get":{"tags":["audit"],"summary":"List Audit Events","description":"List audit events with optional filters.\n\n- Admins see all events.\n- Project principals see only their project's events.\n- Public users are rejected.","operationId":"list_audit_events_v1_audit_events_get","parameters":[{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"object_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Type"}},{"name":"object_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/pricing":{"get":{"tags":["x402"],"summary":"Get Pricing","description":"Get all protected endpoint pricing.","operationId":"get_pricing_v1_x402_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["x402"],"summary":"Update Pricing","description":"Update protected endpoint pricing (admin only).","operationId":"update_pricing_v1_x402_pricing_post","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"object"},"type":"array","title":"Pricing"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/payments":{"get":{"tags":["x402"],"summary":"List Payments","description":"List recent x402 payments with optional filters.","operationId":"list_payments_v1_x402_payments_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},{"name":"chain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"payment_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/revenue":{"get":{"tags":["x402"],"summary":"Get Revenue","description":"Get revenue analytics.","operationId":"get_revenue_v1_x402_revenue_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/facilitator-config":{"get":{"tags":["x402"],"summary":"Get Facilitator Config","description":"Return current x402 facilitator configuration (read from env/settings).","operationId":"get_facilitator_config_v1_x402_facilitator_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/x402/verify-payment":{"post":{"tags":["x402"],"summary":"Verify Payment Manual","description":"Manually verify a payment (for testing/debugging).","operationId":"verify_payment_manual_v1_x402_verify_payment_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/payments/{payment_id}":{"get":{"tags":["x402"],"summary":"Get Payment","description":"Get x402 payment details including linked receipt and bundle status.","operationId":"get_payment_v1_x402_payments__payment_id__get","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/payments/{payment_id}/receipt":{"post":{"tags":["x402"],"summary":"Create Payment Receipt","description":"Manually create or retry receipt generation for a verified x402 payment.\n\nIdempotent — returns existing receipt_id if already created.","operationId":"create_payment_receipt_v1_x402_payments__payment_id__receipt_post","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/payments/{payment_id}/compliance-checks":{"get":{"tags":["x402"],"summary":"List Payment Compliance Checks","description":"Get compliance check results for an x402 payment.","operationId":"list_payment_compliance_checks_v1_x402_payments__payment_id__compliance_checks_get","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/premium/fx-lookup":{"post":{"tags":["x402-premium"],"summary":"Premium Fx Lookup","description":"Get FX rate lookup (x402-gated). Price: 0.001 USDC / USDT0.","operationId":"premium_fx_lookup_v1_x402_premium_fx_lookup_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/premium/verify-bundle":{"post":{"tags":["x402-premium"],"summary":"Premium Verify Bundle","description":"Verify an evidence bundle (x402-gated). Price: 0.001 USDC / USDT0.","operationId":"premium_verify_bundle_v1_x402_premium_verify_bundle_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/premium/generate-statement":{"post":{"tags":["x402-premium"],"summary":"Premium Generate Statement","description":"Generate camt.052 or camt.053 ISO 20022 statement (x402-gated). Price: 0.005 USDC / USDT0.\n\nReturns real receipt data from the database.\n- Intraday window (not 00:00-23:59) → camt.052\n- Full day (00:00-23:59 or omitted) → camt.053","operationId":"premium_generate_statement_v1_x402_premium_generate_statement_post","parameters":[{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"name":"window","in":"query","required":false,"schema":{"type":"string","default":"00:00-23:59","title":"Window"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/premium/iso-message/{receipt_id}/{type}":{"get":{"tags":["x402-premium"],"summary":"Premium Get Iso Message","description":"Get specific ISO message artifact (x402-gated). Price: 0.002 USDC / USDT0.","operationId":"premium_get_iso_message_v1_x402_premium_iso_message__receipt_id___type__get","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}},{"name":"type","in":"path","required":true,"schema":{"type":"string","title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/premium/bulk-verify":{"post":{"tags":["x402-premium"],"summary":"Premium Bulk Verify","description":"Bulk verify multiple bundles (x402-gated). Price: 0.010 USDC / USDT0.","operationId":"premium_bulk_verify_v1_x402_premium_bulk_verify_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/x402/premium/refund":{"post":{"tags":["x402-premium"],"summary":"Premium Refund","description":"Initiate a refund via agent (x402-gated). Price: 0.003 USDC / USDT0.","operationId":"premium_refund_v1_x402_premium_refund_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents":{"get":{"tags":["agents"],"summary":"List Agents","description":"List all agents for current project.","operationId":"list_agents_v1_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["agents"],"summary":"Register Agent","description":"Register a new autonomous agent.","operationId":"register_agent_v1_agents_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}":{"get":{"tags":["agents"],"summary":"Get Agent","description":"Get agent details.","operationId":"get_agent_v1_agents__agent_id__get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["agents"],"summary":"Update Agent","description":"Update agent configuration.","operationId":"update_agent_v1_agents__agent_id__put","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agents"],"summary":"Delete Agent","description":"Delete an agent.","operationId":"delete_agent_v1_agents__agent_id__delete","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/stats":{"get":{"tags":["agents"],"summary":"Get Agent Stats","description":"Get agent usage statistics and revenue.","operationId":"get_agent_stats_v1_agents__agent_id__stats_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/test":{"post":{"tags":["agents"],"summary":"Test Agent","description":"Test agent interaction (simulate a command).","operationId":"test_agent_v1_agents__agent_id__test_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/ai-config":{"put":{"tags":["agents"],"summary":"Update Ai Config","description":"Update agent AI configuration.","operationId":"update_ai_config_v1_agents__agent_id__ai_config_put","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/download-template":{"post":{"tags":["agents"],"summary":"Download Agent Template","description":"Generate and download a personalized agent package.","operationId":"download_agent_template_v1_agents__agent_id__download_template_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ai/parse-command":{"post":{"tags":["ai-agents"],"summary":"Parse Command With Ai","description":"Parse natural language command using system AI.\n\nThis endpoint uses the shared system OpenAI API to parse\nnatural language commands into structured actions.\n\nUsers can optionally provide custom system prompts to\ncustomize the AI's behavior for their use case.","operationId":"parse_command_with_ai_v1_ai_parse_command_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/test-ai":{"post":{"tags":["ai-agents"],"summary":"Test Agent Ai","description":"Test AI parsing for a specific agent configuration.","operationId":"test_agent_ai_v1_agents__agent_id__test_ai_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/anchor":{"post":{"tags":["agent-anchoring"],"summary":"Trigger Agent Anchor","description":"Manually trigger anchoring for an agent.\n\nAllows agents to manually anchor bundle hashes on-chain.\nUses agent's anchor wallet if configured, otherwise system wallet.","operationId":"trigger_agent_anchor_v1_agents__agent_id__anchor_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/anchors":{"get":{"tags":["agent-anchoring"],"summary":"List Agent Anchors","description":"List all anchors created by this agent.","operationId":"list_agent_anchors_v1_agents__agent_id__anchors_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/anchoring-config":{"put":{"tags":["agent-anchoring"],"summary":"Update Anchoring Config","description":"Update agent's anchoring configuration.","operationId":"update_anchoring_config_v1_agents__agent_id__anchoring_config_put","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent_id}/activity-unified":{"get":{"tags":["agent-anchoring"],"summary":"Get Unified Activity","description":"Get unified activity feed (payments + anchors + messages).","operationId":"get_unified_activity_v1_agents__agent_id__activity_unified_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metrics":{"get":{"summary":"Metrics","description":"Endpoint that serves Prometheus metrics.","operationId":"metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"APIKeyCreate":{"properties":{"label":{"type":"string","title":"Label","description":"A human-readable label for the API key"}},"type":"object","required":["label"],"title":"APIKeyCreate"},"APIKeyInfo":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"role":{"type":"string","title":"Role","default":"project_admin"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","label","created_at"],"title":"APIKeyInfo"},"AnchoringChain":{"properties":{"name":{"type":"string","title":"Name","description":"Chain name, e.g., flare"},"contract":{"type":"string","title":"Contract","description":"EvidenceAnchor contract address"},"rpc_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rpc Url","description":"RPC URL for this chain (falls back to ledger.rpc_url if absent)"},"explorer_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Explorer Base Url","description":"Explorer base URL, e.g. https://flarescan.com"}},"type":"object","required":["name","contract"],"title":"AnchoringChain"},"AnchoringConfig":{"properties":{"chains":{"items":{"$ref":"#/components/schemas/AnchoringChain"},"type":"array","title":"Chains"},"lookback_blocks":{"type":"integer","title":"Lookback Blocks","default":50000},"signature_alg":{"type":"string","title":"Signature Alg","default":"ed25519"}},"type":"object","title":"AnchoringConfig"},"AssetDescriptor":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"Asset ticker, e.g., FLR"},"decimals":{"type":"integer","title":"Decimals","description":"Decimals of the asset","default":18},"contract_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Address","description":"Optional address if tokenized"}},"type":"object","required":["symbol"],"title":"AssetDescriptor"},"ComplianceConfig":{"properties":{"travel_rule_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Travel Rule Threshold"},"travel_rule_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Travel Rule Provider"},"sanctions_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sanctions Provider"},"travel_rule_enforce":{"type":"boolean","title":"Travel Rule Enforce","default":false},"sanctions_enforce":{"type":"boolean","title":"Sanctions Enforce","default":false}},"type":"object","title":"ComplianceConfig"},"ConfirmAnchorRequest":{"properties":{"receipt_id":{"type":"string","title":"Receipt Id","description":"Receipt id to confirm"},"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain","description":"Chain name (optional)"},"flare_txid":{"type":"string","title":"Flare Txid","description":"Transaction hash of the anchoring tx"}},"type":"object","required":["receipt_id","flare_txid"],"title":"ConfirmAnchorRequest"},"ConfirmAnchorResponse":{"properties":{"receipt_id":{"type":"string","title":"Receipt Id"},"status":{"$ref":"#/components/schemas/Status"},"flare_txid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Flare Txid"},"anchored_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anchored At"}},"type":"object","required":["receipt_id","status"],"title":"ConfirmAnchorResponse"},"DebugAnchorRequest":{"properties":{"bundle_hash":{"type":"string","title":"Bundle Hash","description":"0x-prefixed sha256 (32 bytes)"}},"type":"object","required":["bundle_hash"],"title":"DebugAnchorRequest"},"DebugAnchorResponse":{"properties":{"flare_txid":{"type":"string","title":"Flare Txid"},"block_number":{"type":"integer","title":"Block Number"}},"type":"object","required":["flare_txid","block_number"],"title":"DebugAnchorResponse"},"EvidenceConfig":{"properties":{"include":{"items":{"type":"string"},"type":"array","title":"Include"},"sign_over":{"type":"string","title":"Sign Over","description":"Which content to sign over","default":"zip_without_sig"},"store":{"$ref":"#/components/schemas/EvidenceStore","default":{"mode":"local"}}},"type":"object","title":"EvidenceConfig"},"EvidenceStore":{"properties":{"mode":{"type":"string","title":"Mode","description":"local | ipfs | arweave","default":"local"},"files_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Files Base","description":"Prefix for serving artifacts"}},"type":"object","title":"EvidenceStore"},"FIMessageRequest":{"properties":{"reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason Code","description":"ISO reason code (e.g., 'CUST', 'TECH')"},"resolution_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution Code","description":"ISO resolution code (e.g., 'APPR', 'RJCT')"}},"type":"object","title":"FIMessageRequest"},"FIMessageResponse":{"properties":{"message_id":{"type":"string","title":"Message Id","description":"Generated message ID"},"type":{"type":"string","title":"Type","description":"Message type (e.g., 'camt.056', 'pacs.009')"},"receipt_id":{"type":"string","title":"Receipt Id","description":"Original receipt ID"},"url":{"type":"string","title":"Url","description":"URL to download the generated XML"}},"type":"object","required":["message_id","type","receipt_id","url"],"title":"FIMessageResponse"},"FxPolicy":{"properties":{"mode":{"type":"string","title":"Mode","description":"none | eqvt_amt | instd_amt_fiat","default":"none"},"base_ccy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Ccy","description":"ISO 4217 code for fiat, e.g., EUR"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"e.g., coingecko, chainlink"},"chainlink_feed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chainlink Feed","description":"Chainlink aggregator address for quote/base"},"chainlink_rpc_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chainlink Rpc Url","description":"Optional RPC URL for Chainlink feed (falls back to ledger.rpc_url)"},"rounding":{"type":"string","title":"Rounding","description":"bankers | floor | ceil","default":"bankers"}},"type":"object","title":"FxPolicy"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IDStrategyConfig":{"properties":{"msg_id_strategy":{"type":"string","title":"Msg Id Strategy","description":"uuid | reference | composite","default":"uuid"},"e2e_id_strategy":{"type":"string","title":"E2E Id Strategy","description":"uuid | reference | composite","default":"reference"},"pmt_inf_id_strategy":{"type":"string","title":"Pmt Inf Id Strategy","description":"uuid | reference | composite","default":"uuid"},"reqd_exctn_mode":{"type":"string","title":"Reqd Exctn Mode","description":"immediate | date","default":"immediate"},"reqd_exctn_offset_days":{"type":"integer","title":"Reqd Exctn Offset Days","default":0},"timezone":{"type":"string","title":"Timezone","default":"UTC"}},"type":"object","title":"IDStrategyConfig"},"ISOArtifactResponse":{"properties":{"type":{"type":"string","title":"Type"},"url":{"type":"string","title":"Url"},"sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sha256"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["type","url","created_at"],"title":"ISOArtifactResponse"},"IntegrationConfig":{"properties":{"openapi":{"type":"boolean","title":"Openapi","default":true},"webhook_retry":{"type":"string","title":"Webhook Retry","default":"exponential"},"webhook_timeout_ms":{"type":"integer","title":"Webhook Timeout Ms","default":15000}},"type":"object","title":"IntegrationConfig"},"LedgerConfig":{"properties":{"network":{"type":"string","title":"Network","description":"e.g., flare"},"rpc_url":{"type":"string","title":"Rpc Url","description":"RPC URL for the network"},"asset":{"$ref":"#/components/schemas/AssetDescriptor"}},"type":"object","required":["network","rpc_url","asset"],"title":"LedgerConfig"},"MappingConfig":{"properties":{"party_scheme":{"type":"string","title":"Party Scheme","default":"WALLET"},"account_scheme":{"type":"string","title":"Account Scheme","default":"WALLET_ACCOUNT"},"charge_bearer":{"type":"string","title":"Charge Bearer","default":"SLEV"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"category_purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Purpose"},"use_agents":{"type":"boolean","title":"Use Agents","default":false},"structured_remittance":{"type":"boolean","title":"Structured Remittance","default":false},"include_iban":{"type":"boolean","title":"Include Iban","default":false},"include_bic":{"type":"boolean","title":"Include Bic","default":false},"include_lei":{"type":"boolean","title":"Include Lei","default":false},"default_debtor_iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Debtor Iban"},"default_creditor_iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Creditor Iban"},"default_debtor_bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Debtor Bic"},"default_creditor_bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Creditor Bic"},"default_org_lei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Org Lei"}},"type":"object","title":"MappingConfig"},"OrgConfigModel":{"properties":{"org":{"$ref":"#/components/schemas/OrgSection","default":{"name":"Capella","jurisdiction":"SEPA","default_message_families":["pain.001","pain.002","camt.054"]}},"ledger":{"$ref":"#/components/schemas/LedgerConfig"},"mapping":{"$ref":"#/components/schemas/MappingConfig","default":{"party_scheme":"WALLET","account_scheme":"WALLET_ACCOUNT","charge_bearer":"SLEV","use_agents":false,"structured_remittance":false,"include_iban":false,"include_bic":false,"include_lei":false}},"anchoring":{"$ref":"#/components/schemas/AnchoringConfig","default":{"chains":[],"lookback_blocks":50000,"signature_alg":"ed25519"}},"evidence":{"$ref":"#/components/schemas/EvidenceConfig","default":{"include":["pain001.xml","receipt.json","tip.json","manifest.json","public_key.pem"],"sign_over":"zip_without_sig","store":{"mode":"local"}}},"fx_policy":{"$ref":"#/components/schemas/FxPolicy","default":{"mode":"none","rounding":"bankers"}},"tx_proof_policy":{"$ref":"#/components/schemas/TxProofPolicy","default":{"min_confirmations":0,"require_receipt":false,"capture_block_ts":false}},"status":{"$ref":"#/components/schemas/StatusConfig","default":{"emit_pain002":true,"emit_pacs002":false,"enable_cancellation":true,"enable_returns":true}},"integration":{"$ref":"#/components/schemas/IntegrationConfig","default":{"openapi":true,"webhook_retry":"exponential","webhook_timeout_ms":15000}},"security":{"$ref":"#/components/schemas/SecurityConfig","default":{"auth":"api_key","rate_limit_per_minute":100,"anchor_mode":"managed"}},"id_strategy":{"$ref":"#/components/schemas/IDStrategyConfig","default":{"msg_id_strategy":"uuid","e2e_id_strategy":"reference","pmt_inf_id_strategy":"uuid","reqd_exctn_mode":"immediate","reqd_exctn_offset_days":0,"timezone":"UTC"}},"compliance":{"$ref":"#/components/schemas/ComplianceConfig","default":{"travel_rule_enforce":false,"sanctions_enforce":false}}},"type":"object","required":["ledger"],"title":"OrgConfigModel"},"OrgSection":{"properties":{"name":{"type":"string","title":"Name","default":"Capella"},"jurisdiction":{"type":"string","title":"Jurisdiction","default":"SEPA"},"lei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lei"},"default_message_families":{"items":{"type":"string"},"type":"array","title":"Default Message Families"}},"type":"object","title":"OrgSection"},"ProjectAnchoringChain":{"properties":{"name":{"type":"string","title":"Name","description":"Chain name, e.g., flare"},"contract":{"type":"string","title":"Contract","description":"EvidenceAnchor contract address"},"rpc_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rpc Url","description":"RPC URL override"},"explorer_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Explorer Base Url","description":"Explorer base URL, e.g. https://flarescan.com"}},"type":"object","required":["name","contract"],"title":"ProjectAnchoringChain"},"ProjectAnchoringConfig":{"properties":{"execution_mode":{"type":"string","title":"Execution Mode","description":"platform | tenant","default":"platform"},"chains":{"items":{"$ref":"#/components/schemas/ProjectAnchoringChain"},"type":"array","title":"Chains"}},"type":"object","title":"ProjectAnchoringConfig"},"ProjectConfig-Input":{"properties":{"anchoring":{"$ref":"#/components/schemas/ProjectAnchoringConfig","default":{"execution_mode":"platform","chains":[]}}},"type":"object","title":"ProjectConfig"},"ProjectConfig-Output":{"properties":{"anchoring":{"$ref":"#/components/schemas/ProjectAnchoringConfig","default":{"execution_mode":"platform","chains":[]}}},"type":"object","title":"ProjectConfig"},"ProjectInfo":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"owner_wallet":{"type":"string","title":"Owner Wallet"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","owner_wallet","created_at"],"title":"ProjectInfo"},"ReceiptListItem":{"properties":{"id":{"type":"string","title":"Id"},"status":{"$ref":"#/components/schemas/Status"},"amount":{"type":"string","title":"Amount"},"currency":{"type":"string","title":"Currency"},"chain":{"type":"string","title":"Chain"},"reference":{"type":"string","title":"Reference"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"anchored_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anchored At"}},"type":"object","required":["id","status","amount","currency","chain","reference","created_at"],"title":"ReceiptListItem"},"ReceiptResponse":{"properties":{"id":{"type":"string","title":"Id"},"status":{"$ref":"#/components/schemas/Status"},"bundle_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Hash"},"flare_txid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Flare Txid"},"xml_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Xml Url"},"bundle_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Url"},"resource_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Hash"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"anchored_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anchored At"}},"type":"object","required":["id","status","created_at"],"title":"ReceiptResponse"},"ReceiptsPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReceiptListItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["items","total","page","page_size"],"title":"ReceiptsPage"},"RecordTipResponse":{"properties":{"receipt_id":{"type":"string","title":"Receipt Id"},"status":{"$ref":"#/components/schemas/Status"}},"type":"object","required":["receipt_id","status"],"title":"RecordTipResponse"},"RefundRequest":{"properties":{"original_receipt_id":{"type":"string","title":"Original Receipt Id","description":"Receipt to refund/return"},"reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason Code","description":"Optional reason code"}},"type":"object","required":["original_receipt_id"],"title":"RefundRequest"},"RefundResponse":{"properties":{"refund_receipt_id":{"type":"string","title":"Refund Receipt Id"},"status":{"$ref":"#/components/schemas/Status"}},"type":"object","required":["refund_receipt_id","status"],"title":"RefundResponse"},"RegisterProjectRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Project name"},"message":{"type":"string","title":"Message","description":"EIP-4361 SIWE message"},"signature":{"type":"string","title":"Signature","description":"EIP-191 signature"}},"type":"object","required":["name","message","signature"],"title":"RegisterProjectRequest","description":"Self-register a project using a SIWE message/signature."},"RegisterProjectResponse":{"properties":{"project":{"$ref":"#/components/schemas/ProjectInfo"},"api_key":{"type":"string","title":"Api Key","description":"API key (returned only once)"}},"type":"object","required":["project","api_key"],"title":"RegisterProjectResponse"},"SDKBuildRequest":{"properties":{"lang":{"type":"string","title":"Lang","description":"ts | python"},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Url","description":"Override API base URL"},"auth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth","description":"api_key | jwt","default":"api_key"},"packaging":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Packaging","description":"npm | pypi | none"},"families":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Families","description":"Optional message families to include in helpers"}},"type":"object","required":["lang"],"title":"SDKBuildRequest"},"SecurityConfig":{"properties":{"auth":{"type":"string","title":"Auth","description":"api_key | jwt","default":"api_key"},"rate_limit_per_minute":{"type":"integer","title":"Rate Limit Per Minute","default":100},"anchor_mode":{"type":"string","title":"Anchor Mode","description":"managed | self","default":"managed"},"key_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Ref","description":"Opaque key reference (alias/ARN/secret id) for managed mode; no raw keys here"}},"type":"object","title":"SecurityConfig"},"Status":{"type":"string","enum":["pending","awaiting_anchor","anchored","failed"],"title":"Status"},"StatusConfig":{"properties":{"emit_pain002":{"type":"boolean","title":"Emit Pain002","default":true},"emit_pacs002":{"type":"boolean","title":"Emit Pacs002","default":false},"enable_cancellation":{"type":"boolean","title":"Enable Cancellation","default":true},"enable_returns":{"type":"boolean","title":"Enable Returns","default":true}},"type":"object","title":"StatusConfig"},"TipRecordRequest":{"properties":{"tip_tx_hash":{"type":"string","title":"Tip Tx Hash","description":"Blockchain transaction hash of the tip"},"chain":{"type":"string","title":"Chain","description":"Blockchain network (EVM chain name, e.g. 'flare', 'ethereum', 'polygon')"},"amount":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Amount","description":"Tip amount (use decimal string)"},"currency":{"type":"string","title":"Currency","description":"Currency code (PoC uses \"FLR\")"},"sender_wallet":{"type":"string","title":"Sender Wallet","description":"Sender wallet address (0x...)"},"receiver_wallet":{"type":"string","title":"Receiver Wallet","description":"Receiver wallet address (0x...)"},"reference":{"type":"string","title":"Reference","description":"External reference, e.g., capella:tip:<id>"},"resource_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Hash","description":"SHA-256 hash of delivered resource (0x-prefixed)"},"callback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Url","description":"Optional: Capella callback URL to notify when anchoring completes"}},"type":"object","required":["tip_tx_hash","chain","amount","currency","sender_wallet","receiver_wallet","reference"],"title":"TipRecordRequest"},"TxProofPolicy":{"properties":{"min_confirmations":{"type":"integer","title":"Min Confirmations","default":0},"require_receipt":{"type":"boolean","title":"Require Receipt","default":false},"capture_block_ts":{"type":"boolean","title":"Capture Block Ts","default":false}},"type":"object","title":"TxProofPolicy"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyCidRequest":{"properties":{"cid":{"type":"string","title":"Cid","description":"Content ID or txid (ipfs/arweave)"},"store":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Store","description":"ipfs | arweave (auto-detected if omitted)"},"receipt_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Receipt Id","description":"Optional receipt id to check for vc.json presence"}},"type":"object","required":["cid"],"title":"VerifyCidRequest"},"VerifyRequest":{"properties":{"bundle_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Url","description":"URL to evidence.zip"},"bundle_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Hash","description":"0x-prefixed sha256 of evidence.zip"}},"type":"object","title":"VerifyRequest"},"VerifyResponse":{"properties":{"matches_onchain":{"type":"boolean","title":"Matches Onchain"},"bundle_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Hash"},"flare_txid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Flare Txid"},"anchored_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anchored At"},"vc_present":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Vc Present"},"vc_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vc Url"},"arweave_txid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Arweave Txid"},"issuer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer"},"checksums":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Checksums"},"errors":{"items":{"type":"string"},"type":"array","title":"Errors"}},"type":"object","required":["matches_onchain"],"title":"VerifyResponse"}}}}