{ "openapi": "3.1.0", "info": { "title": "HEVN API", "description": "Backend API for HEVN mobile neobank", "version": "0.1.2" }, "paths": { "/api/v1/apps/me": { "get": { "tags": [ "apps" ], "summary": "Introspect the current API key", "description": "Return the user identity, owning app, granted scopes, balance, and remaining spend limit for the configured API key. Used by `hevn whoami`.", "operationId": "me_api_v1_apps_me_get", "security": [ { "HTTPBearer": [] }, { "ApiKeyAuth": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string", "title": "X-Api-Key" }, "description": "Alternative API key header. Use Authorization Bearer by default, or X-Api-Key when that header mode is configured." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppsMeResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/apps/transfer": { "post": { "tags": [ "apps", "apps-transfer" ], "summary": "Send USDC from the app resolved by the API key", "description": "Resolve recipient and amount from context, then spend USDC through the app associated with the calling API key. This is the app-id-free transfer route used by the current HEVN CLI.", "operationId": "transfer_api_v1_apps_transfer_post", "security": [ { "HTTPBearer": [] }, { "ApiKeyAuth": [] } ], "parameters": [ { "name": "Idempotency-Key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Idempotency-Key" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string", "title": "X-Api-Key" }, "description": "Alternative API key header. Use Authorization Bearer by default, or X-Api-Key when that header mode is configured." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppTransferContext" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppTransferResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/apps/transfers": { "get": { "tags": [ "apps", "apps-transfer" ], "summary": "List transfers for the app resolved by the API key", "description": "List app-scoped transfers for the app associated with the calling API key. This is the app-id-free transfer history route used by the current HEVN CLI wrapper.", "operationId": "list_transfers_api_v1_apps_transfers_get", "parameters": [ { "name": "idempotency_key", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Idempotency Key" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 200, "minimum": 1, "default": 50, "title": "Limit" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Offset" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "type": "string", "title": "X-Api-Key" }, "description": "Alternative API key header. Use Authorization Bearer by default, or X-Api-Key when that header mode is configured." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/McpTransactionResponse" }, "title": "Response List Transfers Api V1 Apps Transfers Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] }, { "ApiKeyAuth": [] } ] } }, "/api/v1/balance": { "get": { "tags": [ "Balance" ], "summary": "Get wallet balances", "description": "Get OMNI, NEAR, EVM and Swipelux wallet balances for authenticated user.", "operationId": "get_balances_api_v1_balance_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "wallet_type", "in": "query", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/WalletType" }, { "type": "null" } ], "title": "Wallet Type" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BalancesResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/balance/payin/quote": { "post": { "tags": [ "Balance" ], "summary": "Get cross-chain payin quote", "description": "Create a quote to deposit from any chain to Base USDC.", "operationId": "create_payin_quote_api_v1_balance_payin_quote_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayinQuoteRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UniversalQuoteResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/balance/payout/quote": { "post": { "tags": [ "Balance" ], "summary": "Get payout quote", "description": "Get quote for payout to contact. Auto-detects payment channel (IBAN/onchain/internal).", "operationId": "get_payout_quote_api_v1_balance_payout_quote_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayoutQuoteRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UniversalQuoteResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/banks": { "get": { "tags": [ "Banks", "banks" ], "summary": "List all bank rails", "description": "Return every supported bank rail. Rails the user has activated come from the Bank table (with status / iban_data); rails the user has not activated are returned from the static BANK_INFO registry with status=not_started and iban_data=None. If a rail's provider KYC is APPROVED but no ACTIVE Bank row exists yet, syncs lazily from Swipelux / Align before returning.", "operationId": "list_banks_api_v1_banks_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BanksListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/banks/activate": { "post": { "tags": [ "Banks", "banks" ], "summary": "Activate multiple bank rails", "description": "Create or upsert Bank rows for multiple rails in one request. Returns a per-rail result so one pending or failed rail does not abort the batch.", "operationId": "activate_banks_api_v1_banks_activate_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankActivateRailsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankActivateRailsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/banks/payin/quote": { "post": { "tags": [ "Banks", "banks" ], "summary": "Get a pooled bank payin quote", "description": "Create a Swipelux quote for paying into the user's custodial wallet via a pooled bank rail.", "operationId": "create_bank_payin_quote_api_v1_banks_payin_quote_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankPayinQuoteRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankPayinQuoteResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/banks/payin/quote/submit": { "post": { "tags": [ "Banks", "banks" ], "summary": "Submit a pooled bank payin quote", "description": "Execute a Swipelux payin quote and return payment instructions.", "operationId": "submit_bank_payin_quote_api_v1_banks_payin_quote_submit_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankPayinQuoteSubmitRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankPayinQuoteSubmitResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards": { "post": { "tags": [ "Cards" ], "summary": "Issue new card", "description": "Issue a new virtual or physical card. User must complete KYC first.", "operationId": "issue_card_api_v1_cards_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/IssueCardRequest" }, { "type": "null" } ], "title": "Data" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "Cards" ], "summary": "Get user's cards", "description": "Sync cards from Wirex and return the list.", "operationId": "get_cards_api_v1_cards_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardsListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/kyc/link": { "post": { "tags": [ "Cards" ], "summary": "Get KYC verification link", "description": "Get link for user to complete KYC verification in browser.", "operationId": "get_kyc_link_api_v1_cards_kyc_link_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KycLinkResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/pre-approve": { "post": { "tags": [ "Cards" ], "summary": "Pre-approve card issuance", "description": "Check Wirex KYC prerequisites and return a verification URL if all required user fields are present.", "operationId": "pre_approve_cards_api_v1_cards_pre_approve_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardsPreApproveResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/{card_id}": { "get": { "tags": [ "Cards" ], "summary": "Get card by ID", "description": "Get single card details.", "operationId": "get_card_api_v1_cards__card_id__get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "card_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Card Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/{card_id}/details": { "post": { "tags": [ "Cards" ], "summary": "Reveal full card details", "description": "Get full card number (PAN), CVV and expiry. Requires wallet signature for confirmation.", "operationId": "reveal_card_api_v1_cards__card_id__details_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "card_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Card Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardRevealRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardDetailsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/{card_id}/freeze": { "post": { "tags": [ "Cards" ], "summary": "Freeze card", "description": "Temporarily freeze a card. Can be unfrozen later.", "operationId": "freeze_card_api_v1_cards__card_id__freeze_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "card_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Card Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/{card_id}/label": { "put": { "tags": [ "Cards" ], "summary": "Set card label", "description": "Set or clear a user-defined label (nickname) for a card. Local-only, not sent to provider.", "operationId": "set_card_label_api_v1_cards__card_id__label_put", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "card_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Card Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetCardLabelRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/{card_id}/limit": { "put": { "tags": [ "Cards" ], "summary": "Set card limit", "description": "Set daily spending limit for a card.", "operationId": "set_card_limit_api_v1_cards__card_id__limit_put", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "card_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Card Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetCardLimitRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/cards/{card_id}/unfreeze": { "post": { "tags": [ "Cards" ], "summary": "Unfreeze card", "description": "Unfreeze a previously frozen card.", "operationId": "unfreeze_card_api_v1_cards__card_id__unfreeze_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "card_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Card Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents": { "get": { "tags": [ "documents" ], "summary": "List uploaded documents", "description": "List user-uploaded documents by filter type.", "operationId": "list_uploaded_documents_api_v1_documents_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "doc_type", "in": "query", "required": false, "schema": { "type": "string", "description": "Document filter type, e.g. 'uploaded'", "default": "uploaded", "title": "Doc Type" }, "description": "Document filter type, e.g. 'uploaded'" }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UploadedDocumentListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts": { "post": { "tags": [ "contracts" ], "summary": "Create a new contract", "operationId": "create_contract_api_v1_documents_contracts_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateContractRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "contracts" ], "summary": "List contracts for current user", "operationId": "list_contracts_api_v1_documents_contracts_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/invoices": { "post": { "tags": [ "invoices" ], "summary": "Create invoice", "operationId": "create_invoice_api_v1_documents_contracts_invoices_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvoiceRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "invoices" ], "summary": "List invoices for current user", "operationId": "list_invoices_api_v1_documents_contracts_invoices_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/invoices/batch_invoicing": { "post": { "tags": [ "invoices" ], "summary": "Generate invoices for multiple contracts", "operationId": "batch_invoicing_api_v1_documents_contracts_invoices_batch_invoicing_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchInvoicingRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchInvoicingResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/invoices/uploaded": { "post": { "tags": [ "invoices" ], "summary": "Create incoming invoice from uploaded document", "operationId": "create_uploaded_invoice_api_v1_documents_contracts_invoices_uploaded_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUploadedInvoiceRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/invoices/{invoice_id}": { "get": { "tags": [ "invoices" ], "summary": "Get invoice by ID", "operationId": "get_invoice_api_v1_documents_contracts_invoices__invoice_id__get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "invoice_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Invoice Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "invoices" ], "summary": "Update invoice (set transaction_hash)", "operationId": "update_invoice_api_v1_documents_contracts_invoices__invoice_id__put", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "invoice_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Invoice Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInvoiceRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/templates": { "get": { "tags": [ "contracts" ], "summary": "List fillable document templates and their fields", "operationId": "list_templates_api_v1_documents_contracts_templates_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateListResponse" } } } } } } }, "/api/v1/documents/contracts/{contract_id}": { "get": { "tags": [ "contracts" ], "summary": "Get contract by ID", "operationId": "get_contract_api_v1_documents_contracts__contract_id__get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "contracts" ], "summary": "Update contract terms and schedule", "operationId": "update_contract_api_v1_documents_contracts__contract_id__patch", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContractRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "contracts" ], "summary": "Delete contract", "operationId": "delete_contract_api_v1_documents_contracts__contract_id__delete", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/{contract_id}/approve": { "post": { "tags": [ "contracts" ], "summary": "Approve contract by client or contractor", "operationId": "approve_contract_api_v1_documents_contracts__contract_id__approve_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ApproveContractRequest" }, { "type": "null" } ], "title": "Body" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/{contract_id}/create-invoice": { "post": { "tags": [ "invoices" ], "summary": "Create invoice from contract", "operationId": "create_invoice_from_contract_api_v1_documents_contracts__contract_id__create_invoice_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvoiceFromContractRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/{contract_id}/pause": { "post": { "tags": [ "contracts" ], "summary": "Pause contract", "operationId": "pause_contract_api_v1_documents_contracts__contract_id__pause_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/{contract_id}/payment_methods": { "put": { "tags": [ "contracts" ], "summary": "Set contractor payment methods for contract", "operationId": "update_contract_payment_methods_api_v1_documents_contracts__contract_id__payment_methods_put", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContractPaymentMethodsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/contracts/{contract_id}/preview": { "get": { "tags": [ "contracts" ], "summary": "Preview contract document generated from a saved contract", "operationId": "preview_contract_document_api_v1_documents_contracts__contract_id__preview_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contract_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contract Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateContractDocumentResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/create": { "post": { "tags": [ "documents" ], "summary": "Create a document for e-signing via Firma", "operationId": "create_signing_document_api_v1_documents_create_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirmaCreateDocumentRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FirmaCreateDocumentResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/documents/upload": { "post": { "tags": [ "documents" ], "summary": "Upload a document", "description": "Upload a document to storage. Returns document_id for referencing.", "operationId": "upload_document_api_v1_documents_upload_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KybDocumentUpload" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DocumentDraftInfo" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/kyb/b2b/kyb/draft": { "put": { "tags": [ "B2B", "kyb" ], "summary": "Save KYB draft", "description": "Save KYB draft data locally. Documents must be uploaded separately via POST /kyb/draft/documents.", "operationId": "save_kyb_draft_package_alias_api_v1_kyb_b2b_kyb_draft_put", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KybDraftRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "B2B", "kyb" ], "summary": "Get KYB draft", "description": "Get current KYB draft with all data and signed URLs for documents.", "operationId": "get_kyb_draft_package_alias_api_v1_kyb_b2b_kyb_draft_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KybDraftResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/kyb/b2b/kyb/request": { "post": { "tags": [ "B2B", "kyb" ], "summary": "Request KYB for a provider", "description": "Request KYB verification for a provider", "operationId": "request_kyb_package_alias_api_v1_kyb_b2b_kyb_request_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Request Kyb Package Alias Api V1 Kyb B2B Kyb Request Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/kyb/user/share_kyb_link": { "post": { "tags": [ "User" ], "summary": "Share KYB link", "description": "Send a KYB verification link to the specified email.", "operationId": "share_kyb_link_package_alias_api_v1_kyb_user_share_kyb_link_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShareKybLinkRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Share Kyb Link Package Alias Api V1 Kyb User Share Kyb Link Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/get_balance": { "get": { "tags": [ "mcp" ], "summary": "Get USDC balance on Base", "operationId": "get_mcp_balance_api_v1_mcp_get_balance_get", "parameters": [ { "name": "x-api-key", "in": "header", "required": true, "schema": { "type": "string", "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BalanceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/public/invoices/{invoice_id}": { "get": { "tags": [ "Public" ], "summary": "Get Public Invoice", "description": "Public invoice details \u2014 no auth required.", "operationId": "get_public_invoice_api_v1_public_invoices__invoice_id__get", "parameters": [ { "name": "invoice_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Invoice Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicInvoiceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/transactions": { "get": { "tags": [ "Transactions" ], "summary": "Get user transactions", "description": "Get latest user transactions sorted by time.", "operationId": "get_transactions_api_v1_transactions_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 200, "minimum": 1, "default": 50, "title": "Limit" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Offset" } }, { "name": "sortBy", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/TransactionSortBy", "default": "date" } }, { "name": "sortOrder", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/SortOrder", "default": "desc" } }, { "name": "type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated transaction types", "title": "Type" }, "description": "Comma-separated transaction types" }, { "name": "incomeOnly", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Incomeonly" } }, { "name": "tag", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated tags", "title": "Tag" }, "description": "Comma-separated tags" }, { "name": "status", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated unified statuses", "title": "Status" }, "description": "Comma-separated unified statuses" }, { "name": "contactId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated contact UUIDs", "title": "Contactid" }, "description": "Comma-separated contact UUIDs" }, { "name": "bank_account_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bank Account Id" }, "description": "Comma-separated bank account UUIDs" }, { "name": "bankAccountId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bankaccountid" }, "description": "Comma-separated bank account UUIDs" }, { "name": "cardId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated Card UUIDs", "title": "Cardid" }, "description": "Comma-separated Card UUIDs" }, { "name": "fromDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Fromdate" } }, { "name": "toDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Todate" } }, { "name": "q", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.", "title": "Q" }, "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored." }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnifiedTransactionListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/transactions/breakdown": { "get": { "tags": [ "Transactions" ], "summary": "Transaction volume breakdown", "description": "Volume + count grouped by tag or type, with the same filters as the list.", "operationId": "get_transactions_breakdown_api_v1_transactions_breakdown_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "groupBy", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/TransactionGroupBy", "description": "Group by tag or type" }, "description": "Group by tag or type" }, { "name": "type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated transaction types", "title": "Type" }, "description": "Comma-separated transaction types" }, { "name": "incomeOnly", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Incomeonly" } }, { "name": "tag", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated tags", "title": "Tag" }, "description": "Comma-separated tags" }, { "name": "status", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated unified statuses", "title": "Status" }, "description": "Comma-separated unified statuses" }, { "name": "contactId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated contact UUIDs", "title": "Contactid" }, "description": "Comma-separated contact UUIDs" }, { "name": "bank_account_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bank Account Id" }, "description": "Comma-separated bank account UUIDs" }, { "name": "bankAccountId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bankaccountid" }, "description": "Comma-separated bank account UUIDs" }, { "name": "cardId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated Card UUIDs", "title": "Cardid" }, "description": "Comma-separated Card UUIDs" }, { "name": "fromDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Fromdate" } }, { "name": "toDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Todate" } }, { "name": "q", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.", "title": "Q" }, "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored." }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionBreakdownResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/transactions/breakdown/series": { "get": { "tags": [ "Transactions" ], "summary": "Transaction volume breakdown over time", "description": "Volume + count grouped by tag or type, split into time buckets across the fromDate..toDate range. Granularity is auto-picked: >6 months \u2192 month, >30 days \u2192 week, otherwise day. Empty periods are returned as zero-filled buckets so the frontend gets a complete x-axis. Same filter set as /transactions and /transactions/breakdown. `fromDate` and `toDate` are required.", "operationId": "get_transactions_breakdown_series_api_v1_transactions_breakdown_series_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "groupBy", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/TransactionGroupBy", "description": "Group by tag or type" }, "description": "Group by tag or type" }, { "name": "type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated transaction types", "title": "Type" }, "description": "Comma-separated transaction types" }, { "name": "incomeOnly", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Incomeonly" } }, { "name": "tag", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated tags", "title": "Tag" }, "description": "Comma-separated tags" }, { "name": "status", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated unified statuses", "title": "Status" }, "description": "Comma-separated unified statuses" }, { "name": "contactId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated contact UUIDs", "title": "Contactid" }, "description": "Comma-separated contact UUIDs" }, { "name": "bank_account_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bank Account Id" }, "description": "Comma-separated bank account UUIDs" }, { "name": "bankAccountId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bankaccountid" }, "description": "Comma-separated bank account UUIDs" }, { "name": "cardId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated Card UUIDs", "title": "Cardid" }, "description": "Comma-separated Card UUIDs" }, { "name": "fromDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Fromdate" } }, { "name": "toDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Todate" } }, { "name": "q", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.", "title": "Q" }, "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored." }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionBreakdownSeriesResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/transactions/export": { "get": { "tags": [ "Transactions" ], "summary": "Export transactions", "description": "Export transactions as CSV or XLSX file.", "operationId": "export_transactions_api_v1_transactions_export_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "format", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/TransactionExportFormat", "default": "csv" } }, { "name": "type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated transaction types", "title": "Type" }, "description": "Comma-separated transaction types" }, { "name": "incomeOnly", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Incomeonly" } }, { "name": "tag", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated tags", "title": "Tag" }, "description": "Comma-separated tags" }, { "name": "status", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated unified statuses", "title": "Status" }, "description": "Comma-separated unified statuses" }, { "name": "contactId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated contact UUIDs", "title": "Contactid" }, "description": "Comma-separated contact UUIDs" }, { "name": "bank_account_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bank Account Id" }, "description": "Comma-separated bank account UUIDs" }, { "name": "bankAccountId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated bank account UUIDs", "title": "Bankaccountid" }, "description": "Comma-separated bank account UUIDs" }, { "name": "cardId", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated Card UUIDs", "title": "Cardid" }, "description": "Comma-separated Card UUIDs" }, { "name": "fromDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Fromdate" } }, { "name": "toDate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Todate" } }, { "name": "q", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.", "title": "Q" }, "description": "Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored." }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/transactions/export/account_confirmation/{bank_id}": { "get": { "tags": [ "Exports" ], "summary": "Download account confirmation PDF", "description": "Generate and return account confirmation PDF for a Bank row.", "operationId": "get_account_confirmation_pdf_package_alias_api_v1_transactions_export_account_confirmation__bank_id__get", "parameters": [ { "name": "bank_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Bank Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "404": { "description": "Bank not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/transactions/export/account_statement/{bank_id}": { "get": { "tags": [ "Exports" ], "summary": "Download account statement PDF", "description": "Generate and return account statement PDF with transactions for the period.", "operationId": "get_account_statement_pdf_package_alias_api_v1_transactions_export_account_statement__bank_id__get", "parameters": [ { "name": "bank_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Bank Id" } }, { "name": "period_start", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Period Start" } }, { "name": "period_end", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Period End" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "404": { "description": "Bank not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user": { "get": { "tags": [ "User" ], "summary": "Get current user", "description": "Get the profile of the currently authenticated user.", "operationId": "get_current_user_api_v1_user_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "device-id", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Device-Id" } }, { "name": "device-type", "in": "header", "required": false, "schema": { "type": "string", "default": "ios", "title": "Device-Type" } }, { "name": "device-name", "in": "header", "required": false, "schema": { "type": "string", "default": "ios", "title": "Device-Name" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user/contact": { "post": { "tags": [ "User" ], "summary": "Create contact", "description": "Create a new contact for the current user.", "operationId": "create_contact_api_v1_user_contact_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactCreateRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user/contact/bank/validate": { "post": { "tags": [ "User" ], "summary": "Prevalidate bank contact details", "description": "Validate bank identifiers before creating a contact.", "operationId": "validate_bank_contact_api_v1_user_contact_bank_validate_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankValidationRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankValidationResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user/contacts": { "get": { "tags": [ "User" ], "summary": "Get user contacts", "description": "Get all contacts for the current user.", "operationId": "get_contacts_api_v1_user_contacts_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 500, "minimum": 1, "default": 100, "title": "Limit" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Offset" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user/contacts/{contact_id}": { "patch": { "tags": [ "User" ], "summary": "Update contact name", "description": "Update safe contact metadata.", "operationId": "update_contact_api_v1_user_contacts__contact_id__patch", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contact_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contact Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactUpdateRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "User" ], "summary": "Delete contact", "description": "Delete a contact.", "operationId": "delete_contact_api_v1_user_contacts__contact_id__delete", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "contact_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Contact Id" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user/kyc": { "put": { "tags": [ "User" ], "summary": "Create or get current user", "description": "Create or update user profile data for KYC.", "operationId": "update_user_kyc_data_api_v1_user_kyc_put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreateRequest" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/api/v1/user/kyc/status": { "get": { "tags": [ "User" ], "summary": "Get KYC status", "description": "Check the current KYC verification status. Use provider=align for Align.", "operationId": "get_kyc_status_api_v1_user_kyc_status_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "provider", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/FiatProvider", "default": "swipelux" } }, { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KycStatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/user/kyc_link": { "post": { "tags": [ "User" ], "summary": "Submit KYC data", "description": "Get Swipelux KYC verification link.", "operationId": "submit_kyc_api_v1_user_kyc_link_post", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "x-api-key", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KycStatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/utils/rates/{currency}": { "get": { "tags": [ "Utils" ], "summary": "Get FX rates", "description": "Public endpoint. Returns FX rates from the given currency to USD: `bankTransfer` (Swipelux), `card` (Wirex), and `usdRate` (exchangerate-api.com). `usdRate` is populated for every currency in the invoice Currency enum (G10 + AED/HKD).", "operationId": "get_rate_api_v1_utils_rates__currency__get", "parameters": [ { "name": "currency", "in": "path", "required": true, "schema": { "type": "string", "title": "Currency" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RateResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "AccountBalancesResponse": { "properties": { "accountId": { "type": "string", "title": "Accountid" }, "chainId": { "type": "string", "title": "Chainid" }, "walletType": { "$ref": "#/components/schemas/WalletType" }, "balanceUsd": { "type": "number", "title": "Balanceusd" }, "rawBalance": { "type": "string", "title": "Rawbalance" }, "balanceByToken": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Balancebytoken" }, "custodial": { "type": "boolean", "title": "Custodial", "default": false } }, "type": "object", "required": [ "accountId", "chainId", "walletType", "balanceUsd", "rawBalance", "balanceByToken" ], "title": "AccountBalancesResponse" }, "AchAccountInput": { "properties": { "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountType": { "type": "string", "enum": [ "ach", "fedwire" ], "title": "Accounttype", "default": "ach" }, "bankName": { "type": "string", "title": "Bankname", "default": "" }, "accountNumber": { "type": "string", "title": "Accountnumber" }, "routingNumber": { "type": "string", "title": "Routingnumber" }, "country": { "type": "string", "title": "Country" }, "currency": { "type": "string", "title": "Currency", "default": "USD" }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ], "default": "resident_transfer_between_accounts" } }, "type": "object", "required": [ "accountHolderType", "accountNumber", "routingNumber", "country" ], "title": "AchAccountInput", "description": "ACH bank contact input." }, "AlignAccountHolderType": { "type": "string", "enum": [ "individual", "business" ], "title": "AlignAccountHolderType", "description": "Account holder type." }, "AppTransferContext": { "properties": { "contactId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Contactid" }, "quoteId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Quoteid" }, "invoiceId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Invoiceid" }, "amount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Amount" }, "memo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Memo" } }, "type": "object", "title": "AppTransferContext", "description": "Body of POST /apps/transfer.\n\nExactly one of ``contactId`` / ``quoteId`` / ``invoiceId`` MUST be set\n(mirrors the /mcp/transfer body). ``amount`` is required when\n``contactId`` is the dispatch path; otherwise it's derived from the\nreferenced invoice / quote." }, "AppTransferResponse": { "properties": { "txHash": { "type": "string", "title": "Txhash" } }, "type": "object", "required": [ "txHash" ], "title": "AppTransferResponse" }, "ApproveContractRequest": { "properties": { "clientAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "contractorAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "paymentMethods": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Paymentmethods" } }, "type": "object", "title": "ApproveContractRequest", "description": "Optional body for contract approval \u2014 each party can provide their own data." }, "AppsMeResponse": { "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "email": { "type": "string", "title": "Email" }, "balance": { "type": "number", "title": "Balance", "default": 0 }, "spendLimit": { "type": "number", "title": "Spendlimit", "default": 0 }, "appId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Appid" }, "appName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Appname" }, "scope": { "type": "array", "items": { "type": "string" }, "title": "Scope", "default": [] } }, "type": "object", "required": [ "email" ], "title": "AppsMeResponse", "description": "Introspection response for the API key used by HEVN CLI whoami. Includes user identity, owning app, scopes, balance, and remaining spend limit." }, "BalanceResponse": { "properties": { "email": { "type": "string", "title": "Email" }, "address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address" }, "balance": { "type": "number", "title": "Balance", "default": 0 }, "remaining": { "type": "number", "title": "Remaining", "default": 0 } }, "type": "object", "required": [ "email" ], "title": "BalanceResponse" }, "BalancesResponse": { "properties": { "accounts": { "items": { "$ref": "#/components/schemas/AccountBalancesResponse" }, "type": "array", "title": "Accounts" }, "evmAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Evmaddress" }, "privyAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Privyaddress" } }, "type": "object", "required": [ "accounts" ], "title": "BalancesResponse", "description": "Response with wallet balances." }, "BankActivateRailError": { "properties": { "statusCode": { "type": "integer", "title": "Statuscode" }, "message": { "type": "string", "title": "Message" }, "detail": { "anyOf": [ {}, { "type": "null" } ], "title": "Detail" } }, "type": "object", "required": [ "statusCode", "message" ], "title": "BankActivateRailError", "description": "Per-rail bulk activation error." }, "BankActivateRailResult": { "properties": { "rail": { "$ref": "#/components/schemas/BankRail" }, "ok": { "type": "boolean", "title": "Ok" }, "bank": { "anyOf": [ { "$ref": "#/components/schemas/BankResponse" }, { "type": "null" } ] }, "error": { "anyOf": [ { "$ref": "#/components/schemas/BankActivateRailError" }, { "type": "null" } ] } }, "type": "object", "required": [ "rail", "ok" ], "title": "BankActivateRailResult", "description": "Per-rail bulk activation result." }, "BankActivateRailsRequest": { "properties": { "rails": { "items": { "$ref": "#/components/schemas/BankRail" }, "type": "array", "title": "Rails" } }, "type": "object", "required": [ "rails" ], "title": "BankActivateRailsRequest", "description": "Bulk bank activation request." }, "BankActivateRailsResponse": { "properties": { "results": { "items": { "$ref": "#/components/schemas/BankActivateRailResult" }, "type": "array", "title": "Results" } }, "type": "object", "required": [ "results" ], "title": "BankActivateRailsResponse", "description": "Bulk bank activation response." }, "BankPayinQuoteRequest": { "properties": { "amount": { "anyOf": [ { "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" } ], "title": "Amount" }, "bankAccountId": { "type": "string", "format": "uuid", "title": "Bankaccountid" }, "memo": { "anyOf": [ { "type": "string", "maxLength": 500 }, { "type": "null" } ], "title": "Memo" } }, "type": "object", "required": [ "amount", "bankAccountId" ], "title": "BankPayinQuoteRequest", "description": "Request a Swipelux payin quote for a pooled bank rail." }, "BankPayinQuoteResponse": { "properties": { "quoteId": { "type": "string", "title": "Quoteid" }, "provider": { "$ref": "#/components/schemas/FiatProvider", "default": "swipelux" }, "bankAccountId": { "type": "string", "format": "uuid", "title": "Bankaccountid" }, "rail": { "$ref": "#/components/schemas/BankRail" }, "paymentRail": { "type": "string", "title": "Paymentrail" }, "fromAmount": { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "title": "Fromamount" }, "fromCurrency": { "type": "string", "title": "Fromcurrency" }, "toAmount": { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "title": "Toamount" }, "toCurrency": { "type": "string", "title": "Tocurrency", "default": "USDC" }, "feeAmount": { "anyOf": [ { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Feeamount" }, "feeCurrency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Feecurrency" }, "rate": { "anyOf": [ { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Rate" }, "expiresAt": { "type": "string", "format": "date-time", "title": "Expiresat" } }, "type": "object", "required": [ "quoteId", "bankAccountId", "rail", "paymentRail", "fromAmount", "fromCurrency", "toAmount", "expiresAt" ], "title": "BankPayinQuoteResponse", "description": "Swipelux payin quote response normalized for bank payins." }, "BankPayinQuoteSubmitRequest": { "properties": { "quoteId": { "type": "string", "title": "Quoteid" } }, "type": "object", "required": [ "quoteId" ], "title": "BankPayinQuoteSubmitRequest", "description": "Submit a previously created Swipelux bank payin quote." }, "BankPayinQuoteSubmitResponse": { "properties": { "quoteId": { "type": "string", "title": "Quoteid" }, "bankAccountId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Bankaccountid" }, "resource": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Resource" }, "recipientDetails": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "type": "null" } ], "title": "Recipientdetails" } }, "type": "object", "required": [ "quoteId" ], "title": "BankPayinQuoteSubmitResponse", "description": "Swipelux payin instructions returned after quote submit." }, "BankRail": { "type": "string", "enum": [ "uaefts_named-zand", "ach_pooled-hsbc", "ach_named-citi", "ach_named-jpmorgan_chase", "ach_named-cfsb", "fedwire_pooled-hsbc", "fedwire_pooled-jpmorgan_chase", "fedwire_pooled-cfsb", "fedwire_named-hsbc", "fedwire_named-citi", "fedwire_named-jpmorgan_chase", "fedwire_named-cfsb", "sepa_pooled-zen", "sepa_named-zen", "swift_pooled-hsbc", "swift_named-hsbc" ], "title": "BankRail", "description": "Bank account route: provider rail + bank id (`{rail}-{bank}`)." }, "BankRequestedRailSettings": { "properties": { "pooled": { "type": "boolean", "title": "Pooled", "default": false }, "named": { "type": "boolean", "title": "Named", "default": false } }, "type": "object", "title": "BankRequestedRailSettings", "description": "User interest in a bank rail group." }, "BankRequestedRails": { "properties": { "us": { "$ref": "#/components/schemas/BankRequestedRailSettings" }, "swift": { "$ref": "#/components/schemas/BankRequestedRailSettings" }, "eu": { "$ref": "#/components/schemas/BankRequestedRailSettings" }, "uae": { "$ref": "#/components/schemas/BankRequestedRailSettings" } }, "type": "object", "title": "BankRequestedRails", "description": "Rails the user is interested in opening." }, "BankRequestedSettings-Output": { "properties": { "rails": { "$ref": "#/components/schemas/BankRequestedRails" } }, "type": "object", "title": "BankRequestedSettings", "description": "User bank-rail interest settings." }, "BankResponse": { "properties": { "rail": { "$ref": "#/components/schemas/BankRail" }, "bankName": { "type": "string", "title": "Bankname" }, "country": { "type": "string", "title": "Country" }, "currency": { "type": "string", "title": "Currency" }, "type": { "$ref": "#/components/schemas/FiatPaymentType" }, "method": { "$ref": "#/components/schemas/FiatPaymentType" }, "methods": { "items": { "$ref": "#/components/schemas/FiatPaymentType" }, "type": "array", "title": "Methods" }, "pooled": { "type": "boolean", "title": "Pooled" }, "compliance": { "type": "integer", "title": "Compliance" }, "bankIcon": { "type": "string", "title": "Bankicon" }, "depositFee": { "type": "number", "title": "Depositfee" }, "timeToOpen": { "$ref": "#/components/schemas/BankTimeToOpen" }, "status": { "$ref": "#/components/schemas/IBANStatus" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "ibanData": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "type": "null" } ], "title": "Ibandata" }, "id": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Id" }, "externalAccountId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Externalaccountid" }, "createdAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Createdat" } }, "type": "object", "required": [ "rail", "bankName", "country", "currency", "type", "method", "methods", "pooled", "compliance", "bankIcon", "depositFee", "timeToOpen", "status" ], "title": "BankResponse", "description": "Bank row as returned to clients.\n\nMerges static rail metadata (from BANK_INFO) with per-user state. For rails\nthe user hasn't activated yet, ``id`` / ``external_account_id`` / ``created_at``\nare ``None`` and ``status`` is ``not_started``." }, "BankTimeToOpen": { "type": "string", "enum": [ "<1 day", "1-2 days", "2-3 days", "5-7 days" ], "title": "BankTimeToOpen", "description": "Expected wait time before a bank rail becomes usable." }, "BankValidationRequest": { "properties": { "bankType": { "type": "string", "title": "Banktype" }, "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Country" }, "bankName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankname" }, "iban": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Iban" }, "bic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bic" }, "routingNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Routingnumber" } }, "type": "object", "required": [ "bankType" ], "title": "BankValidationRequest", "description": "Request to prevalidate bank details before creating a contact." }, "BankValidationResponse": { "properties": { "ok": { "type": "boolean", "title": "Ok" }, "errors": { "items": { "type": "string" }, "type": "array", "title": "Errors" }, "warnings": { "items": { "type": "string" }, "type": "array", "title": "Warnings" }, "lookups": { "additionalProperties": true, "type": "object", "title": "Lookups" } }, "type": "object", "required": [ "ok" ], "title": "BankValidationResponse", "description": "Result of bank detail validation." }, "BanksListResponse": { "properties": { "banks": { "items": { "$ref": "#/components/schemas/BankResponse" }, "type": "array", "title": "Banks" }, "allOptions": { "items": { "$ref": "#/components/schemas/BankResponse" }, "type": "array", "title": "Alloptions" }, "rails": { "$ref": "#/components/schemas/BankRequestedRails" } }, "type": "object", "required": [ "banks", "rails" ], "title": "BanksListResponse", "description": "List bank rails plus user's requested rail preferences." }, "BatchContractInvoiceRequest": { "properties": { "contractId": { "type": "string", "format": "uuid", "title": "Contractid" }, "items": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "minItems": 1, "title": "Items" }, "period": { "type": "integer", "minimum": 0, "title": "Period" }, "memo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Memo" }, "finalize": { "type": "boolean", "title": "Finalize", "default": false } }, "type": "object", "required": [ "contractId", "items", "period" ], "title": "BatchContractInvoiceRequest", "description": "Per-contract invoice options for batch invoicing.\n\nA call without ``finalize`` creates the period invoice as a DRAFT (or\nupdates its items if a DRAFT already exists). Both the client and the\ncontractor may edit a DRAFT. Setting ``finalize=True`` additionally moves\nthe invoice to SENT, generates the PDF and emails the client \u2014 only the\nclient (contract owner) is allowed to finalize." }, "BatchInvoiceResult": { "properties": { "contractId": { "type": "string", "format": "uuid", "title": "Contractid" }, "counterpartyId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Counterpartyid" }, "periodNumber": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Periodnumber" }, "status": { "type": "string", "title": "Status" }, "invoice": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceResponse" }, { "type": "null" } ] }, "detail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detail" } }, "type": "object", "required": [ "contractId", "status" ], "title": "BatchInvoiceResult" }, "BatchInvoicingRequest": { "items": { "$ref": "#/components/schemas/BatchContractInvoiceRequest" }, "type": "array", "minItems": 1, "title": "BatchInvoicingRequest", "description": "Generate invoices for multiple contracts." }, "BatchInvoicingResponse": { "properties": { "results": { "items": { "$ref": "#/components/schemas/BatchInvoiceResult" }, "type": "array", "title": "Results" } }, "type": "object", "title": "BatchInvoicingResponse" }, "BusinessUserCreateRequest-Input": { "properties": { "phone": { "anyOf": [ { "type": "string", "maxLength": 20 }, { "type": "null" } ], "title": "Phone" }, "contactInfo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contactinfo" }, "jurisdiction": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "entityType": { "anyOf": [ { "$ref": "#/components/schemas/FiatEntityType" }, { "type": "null" } ] }, "entityTypeDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Entitytypedescription" }, "entityName": { "anyOf": [ { "type": "string", "maxLength": 255, "minLength": 1 }, { "type": "null" } ], "title": "Entityname" }, "tradeName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tradename" }, "registrationNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Registrationnumber" }, "incorporationDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Incorporationdate" }, "taxNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Taxnumber" }, "businessDescription": { "anyOf": [ { "type": "string", "minLength": 10 }, { "type": "null" } ], "title": "Businessdescription" }, "businessType": { "anyOf": [ { "$ref": "#/components/schemas/FiatBusinessType" }, { "type": "null" } ] }, "verifierRole": { "anyOf": [ { "$ref": "#/components/schemas/FiatVerifierRole" }, { "type": "null" } ] }, "businessTypeDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Businesstypedescription" }, "websites": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Websites" }, "phoneNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Phonenumber" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/FiatBusinessAddress" }, { "type": "null" } ] }, "sourceOfFunds": { "anyOf": [ { "$ref": "#/components/schemas/FiatSourceOfFunds" }, { "type": "null" } ] }, "sourceOfFundDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sourceoffunddescription" }, "expectedMonthlyVolumeUsd": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "title": "Expectedmonthlyvolumeusd" }, "purposeOfFunds": { "anyOf": [ { "$ref": "#/components/schemas/FiatPurposeOfFunds" }, { "type": "null" } ] }, "purposeOfFundsDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Purposeoffundsdescription" }, "flowOfFundsDescription": { "anyOf": [ { "type": "string", "minLength": 10 }, { "type": "null" } ], "title": "Flowoffundsdescription" }, "sanctionedCountryOperations": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Sanctionedcountryoperations" }, "highRiskActivities": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Highriskactivities" }, "operatingCountries": { "anyOf": [ { "items": { "$ref": "#/components/schemas/CountryCode" }, "type": "array" }, { "type": "null" } ], "title": "Operatingcountries" }, "handlesCustomerFunds": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Handlescustomerfunds" }, "complianceScreeningDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Compliancescreeningdescription" }, "estimatedAnnualRevenue": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "title": "Estimatedannualrevenue" }, "depositMethods": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Depositmethods" } }, "type": "object", "title": "BusinessUserCreateRequest", "description": "Request schema for creating/updating a business user (all fields optional for partial updates)." }, "BusinessUserCreateRequest-Output": { "properties": { "phone": { "anyOf": [ { "type": "string", "maxLength": 20 }, { "type": "null" } ], "title": "Phone" }, "contactInfo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contactinfo" }, "jurisdiction": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "entityType": { "anyOf": [ { "$ref": "#/components/schemas/FiatEntityType" }, { "type": "null" } ] }, "entityTypeDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Entitytypedescription" }, "entityName": { "anyOf": [ { "type": "string", "maxLength": 255, "minLength": 1 }, { "type": "null" } ], "title": "Entityname" }, "tradeName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tradename" }, "registrationNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Registrationnumber" }, "incorporationDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Incorporationdate" }, "taxNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Taxnumber" }, "businessDescription": { "anyOf": [ { "type": "string", "minLength": 10 }, { "type": "null" } ], "title": "Businessdescription" }, "businessType": { "anyOf": [ { "$ref": "#/components/schemas/FiatBusinessType" }, { "type": "null" } ] }, "verifierRole": { "anyOf": [ { "$ref": "#/components/schemas/FiatVerifierRole" }, { "type": "null" } ] }, "businessTypeDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Businesstypedescription" }, "websites": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Websites" }, "phoneNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Phonenumber" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/FiatBusinessAddress" }, { "type": "null" } ] }, "sourceOfFunds": { "anyOf": [ { "$ref": "#/components/schemas/FiatSourceOfFunds" }, { "type": "null" } ] }, "sourceOfFundDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sourceoffunddescription" }, "expectedMonthlyVolumeUsd": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "title": "Expectedmonthlyvolumeusd" }, "purposeOfFunds": { "anyOf": [ { "$ref": "#/components/schemas/FiatPurposeOfFunds" }, { "type": "null" } ] }, "purposeOfFundsDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Purposeoffundsdescription" }, "flowOfFundsDescription": { "anyOf": [ { "type": "string", "minLength": 10 }, { "type": "null" } ], "title": "Flowoffundsdescription" }, "sanctionedCountryOperations": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Sanctionedcountryoperations" }, "highRiskActivities": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Highriskactivities" }, "operatingCountries": { "anyOf": [ { "items": { "$ref": "#/components/schemas/CountryCode" }, "type": "array" }, { "type": "null" } ], "title": "Operatingcountries" }, "handlesCustomerFunds": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Handlescustomerfunds" }, "complianceScreeningDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Compliancescreeningdescription" }, "estimatedAnnualRevenue": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "title": "Estimatedannualrevenue" }, "depositMethods": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Depositmethods" } }, "type": "object", "title": "BusinessUserCreateRequest", "description": "Request schema for creating/updating a business user (all fields optional for partial updates)." }, "CardData": { "properties": { "nameOnCard": { "type": "string", "title": "Nameoncard" }, "paymentSystem": { "type": "string", "title": "Paymentsystem", "description": "Visa, Mastercard, etc." }, "lastFour": { "type": "string", "title": "Lastfour", "description": "Last 4 digits of card number" }, "expiryDate": { "type": "string", "title": "Expirydate", "description": "MM/YY format" }, "format": { "$ref": "#/components/schemas/CardFormat" }, "cardName": { "type": "string", "title": "Cardname", "description": "Display name like 'Visa **** 1234'" } }, "type": "object", "required": [ "nameOnCard", "paymentSystem", "lastFour", "expiryDate", "format", "cardName" ], "title": "CardData", "description": "Card display data (non-sensitive)." }, "CardDetailsResponse": { "properties": { "cardNumber": { "type": "string", "title": "Cardnumber", "description": "Full card number (PAN)" }, "cvv": { "type": "string", "title": "Cvv" }, "expiryDate": { "type": "string", "title": "Expirydate" } }, "type": "object", "required": [ "cardNumber", "cvv", "expiryDate" ], "title": "CardDetailsResponse", "description": "Sensitive card details." }, "CardFormat": { "type": "string", "enum": [ "virtual", "physical" ], "title": "CardFormat", "description": "Card format." }, "CardLimit": { "properties": { "dailyLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Dailylimit", "description": "Daily spending limit (-1 for unlimited)" }, "dailyUsage": { "type": "number", "title": "Dailyusage", "description": "Amount spent today", "default": 0 }, "monthlyLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Monthlylimit", "description": "Monthly spending limit (-1 for unlimited)" }, "monthlyUsage": { "type": "number", "title": "Monthlyusage", "description": "Amount spent this month", "default": 0 }, "lifetimeLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Lifetimelimit", "description": "Lifetime spending limit (-1 for unlimited)" }, "lifetimeUsage": { "type": "number", "title": "Lifetimeusage", "description": "Total amount spent", "default": 0 }, "currency": { "type": "string", "title": "Currency", "default": "EUR" } }, "type": "object", "title": "CardLimit", "description": "Card spending limit." }, "CardResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "walletAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Walletaddress", "description": "Linked wallet address" }, "status": { "$ref": "#/components/schemas/CardStatus", "default": "pending" }, "limit": { "anyOf": [ { "$ref": "#/components/schemas/CardLimit" }, { "type": "null" } ] }, "cardData": { "anyOf": [ { "$ref": "#/components/schemas/CardData" }, { "type": "null" } ] }, "createdAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Createdat" }, "activated": { "type": "boolean", "title": "Activated", "description": "True if card details have been revealed and cached", "default": false }, "billingAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "dailySpend": { "type": "number", "title": "Dailyspend", "description": "Total spent today on this card (from fiat_transfers)", "default": 0 }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Label", "description": "User-defined card label/nickname" } }, "type": "object", "required": [ "id" ], "title": "CardResponse", "description": "Card response - universal format for any provider." }, "CardRevealRequest": { "properties": { "messageSignature": { "type": "string", "title": "Messagesignature", "description": "Wallet signature of confirmation message" }, "nonce": { "type": "integer", "title": "Nonce", "description": "Unix timestamp used in the signed message (valid 5 min)" } }, "type": "object", "required": [ "messageSignature", "nonce" ], "title": "CardRevealRequest", "description": "Request to reveal card details. Requires wallet signature." }, "CardStatus": { "type": "string", "enum": [ "pending", "active", "blocked", "closed" ], "title": "CardStatus", "description": "Card status." }, "CardsListResponse": { "properties": { "cards": { "items": { "$ref": "#/components/schemas/CardResponse" }, "type": "array", "title": "Cards" }, "total": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Total" }, "created": { "type": "boolean", "title": "Created", "default": false }, "kycStatus": { "$ref": "#/components/schemas/KycStatus", "default": "not_started" }, "phoneVerified": { "type": "boolean", "title": "Phoneverified", "default": false } }, "type": "object", "required": [ "cards" ], "title": "CardsListResponse", "description": "Paginated list of cards." }, "CardsPreApproveResponse": { "properties": { "kycUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Kycurl" }, "kycStatus": { "$ref": "#/components/schemas/KycStatus", "default": "not_started" }, "requirePhoneNumber": { "type": "boolean", "title": "Requirephonenumber", "default": false }, "requireAddress": { "type": "boolean", "title": "Requireaddress", "default": false } }, "type": "object", "title": "CardsPreApproveResponse", "description": "Pre-flight info for issuing Wirex cards." }, "ContactCreateRequest": { "properties": { "name": { "type": "string", "maxLength": 200, "minLength": 1, "title": "Name", "default": "" }, "currency": { "anyOf": [ { "type": "string", "maxLength": 4, "minLength": 3 }, { "type": "null" } ], "title": "Currency", "description": "Currency override" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "crypto": { "anyOf": [ { "$ref": "#/components/schemas/ContactCryptoInput" }, { "type": "null" } ] }, "account": { "anyOf": [ { "oneOf": [ { "$ref": "#/components/schemas/OnchainAccountInput" }, { "$ref": "#/components/schemas/EmailAccountInput" }, { "$ref": "#/components/schemas/SepaAccountInput" }, { "$ref": "#/components/schemas/SwiftAccountInput" }, { "$ref": "#/components/schemas/AchAccountInput" }, { "$ref": "#/components/schemas/UaeAccountInput" } ] }, { "type": "null" } ], "title": "Account", "description": "Account details" }, "iban": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Input" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Input" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Input" }, { "type": "null" } ], "title": "Iban", "description": "Bank account details in the same format as /banks ibanData" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "$ref": "#/components/schemas/app__schemas__routers__user__contact__ContactRelationship", "default": "external" } }, "type": "object", "title": "ContactCreateRequest", "description": "Request to create a contact." }, "ContactCryptoInput": { "properties": { "chain": { "$ref": "#/components/schemas/OneClickChain" }, "token": { "type": "string", "title": "Token" }, "address": { "type": "string", "title": "Address" } }, "type": "object", "required": [ "chain", "token", "address" ], "title": "ContactCryptoInput", "description": "Crypto contact input." }, "ContactCryptoResponse": { "properties": { "chain": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Chain" }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Token" }, "address": { "type": "string", "title": "Address" } }, "type": "object", "required": [ "address" ], "title": "ContactCryptoResponse", "description": "Crypto payment details for contact." }, "ContactLinkedUserResponse": { "properties": { "avatar": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Avatar" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, "type": "object", "title": "ContactLinkedUserResponse", "description": "Linked HEVN user preview for contact." }, "ContactListResponse": { "properties": { "contacts": { "items": { "$ref": "#/components/schemas/ContactResponse" }, "type": "array", "title": "Contacts" }, "total": { "type": "integer", "title": "Total" } }, "type": "object", "required": [ "contacts", "total" ], "title": "ContactListResponse", "description": "List of contacts response." }, "ContactResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "userId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Userid" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "relationship": { "$ref": "#/components/schemas/app__schemas__routers__user__contact__ContactRelationship" }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "iban": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "type": "null" } ], "title": "Iban" }, "crypto": { "anyOf": [ { "$ref": "#/components/schemas/ContactCryptoResponse" }, { "type": "null" } ] }, "user": { "anyOf": [ { "$ref": "#/components/schemas/ContactLinkedUserResponse" }, { "type": "null" } ] } }, "type": "object", "required": [ "id", "name", "relationship", "createdAt" ], "title": "ContactResponse", "description": "Contact response with full structure for transfer." }, "ContactUpdateRequest": { "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 200, "minLength": 1 }, { "type": "null" } ], "title": "Name" }, "userId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Userid" }, "walletAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Walletaddress" }, "chainId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Chainid" }, "currency": { "anyOf": [ { "type": "string", "maxLength": 3, "minLength": 3 }, { "type": "null" } ], "title": "Currency" }, "priorityMethod": { "anyOf": [ { "$ref": "#/components/schemas/TransactionType" }, { "type": "null" } ] }, "address": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__routers__user__contact__ContactRelationship" }, { "type": "null" } ] } }, "type": "object", "title": "ContactUpdateRequest", "description": "Request to update a contact." }, "ContactWalletResponse": { "properties": { "address": { "type": "string", "title": "Address" }, "chainId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Chainid" }, "currency": { "type": "string", "title": "Currency", "default": "EUR" }, "internal": { "type": "boolean", "title": "Internal", "default": false } }, "type": "object", "required": [ "address" ], "title": "ContactWalletResponse", "description": "Wallet payment method block used by invoice/payment method schemas." }, "ContractDocumentTemplateType": { "type": "string", "enum": [ "employer", "employment", "service", "contractor", "default_contractor", "custom", "nda", "vendor", "milestone", "msa" ], "title": "ContractDocumentTemplateType", "description": "Markdown contract template type." }, "ContractLastInvoice": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "clientId": { "type": "string", "format": "uuid", "title": "Clientid" }, "contractorId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Contractorid" }, "contractorEmail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contractoremail" }, "clientEmail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clientemail" }, "contractId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Contractid" }, "onchainTransactionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Onchaintransactionid" }, "invoiceDocumentId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Invoicedocumentid" }, "amount": { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "title": "Amount" }, "discount": { "anyOf": [ { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Discount" }, "currency": { "$ref": "#/components/schemas/Currency" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" }, "emailMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Emailmessage" }, "invoiceNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invoicenumber" }, "issuedDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Issueddate" }, "dueDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Duedate" }, "status": { "type": "string", "title": "Status" }, "paidAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Paidat" }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" }, "updatedAt": { "type": "string", "format": "date-time", "title": "Updatedat" } }, "type": "object", "required": [ "id", "clientId", "amount", "currency", "status", "createdAt", "updatedAt" ], "title": "ContractLastInvoice", "description": "Flat last invoice data embedded in contract responses." }, "ContractListResponse": { "properties": { "contracts": { "items": { "$ref": "#/components/schemas/ContractResponse" }, "type": "array", "title": "Contracts" } }, "type": "object", "required": [ "contracts" ], "title": "ContractListResponse", "description": "List of contracts." }, "ContractParty": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname" }, "firstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Firstname" }, "lastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lastname" }, "entityName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Entityname" }, "avatarUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Avatarurl" }, "isBusiness": { "type": "boolean", "title": "Isbusiness", "default": false }, "address": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Address" } }, "type": "object", "required": [ "id" ], "title": "ContractParty", "description": "Minimal user data embedded in contract responses." }, "ContractPeriod": { "type": "string", "enum": [ "weekly", "biweekly", "monthly", "quarterly", "yearly" ], "title": "ContractPeriod", "description": "Recurring billing period of a contract." }, "ContractResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "clientId": { "type": "string", "format": "uuid", "title": "Clientid" }, "contractorId": { "type": "string", "format": "uuid", "title": "Contractorid" }, "client": { "anyOf": [ { "$ref": "#/components/schemas/ContractParty" }, { "type": "null" } ] }, "contractor": { "anyOf": [ { "$ref": "#/components/schemas/ContractParty" }, { "type": "null" } ] }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Label" }, "documentId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Documentid" }, "documentName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Documentname" }, "documentFileName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Documentfilename" }, "documentDownloadLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Documentdownloadlink" }, "type": { "$ref": "#/components/schemas/ContractType" }, "status": { "$ref": "#/components/schemas/ContractStatus" }, "amount": { "anyOf": [ { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Amount" }, "currency": { "anyOf": [ { "$ref": "#/components/schemas/Currency" }, { "type": "null" } ] }, "period": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Period" }, "activationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Activationat" }, "expirationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Expirationat" }, "signatureRequestId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Signaturerequestid" }, "signed": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Signed" }, "clientAcceptance": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Clientacceptance" }, "contractorAcceptance": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Contractoracceptance" }, "creatorId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Creatorid" }, "fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Fields" }, "priorityMethods": { "items": { "$ref": "#/components/schemas/TransactionType" }, "type": "array", "title": "Prioritymethods" }, "paymentMethods": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Paymentmethods" }, "lastInvoice": { "anyOf": [ { "$ref": "#/components/schemas/ContractLastInvoice" }, { "type": "null" } ] }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" }, "updatedAt": { "type": "string", "format": "date-time", "title": "Updatedat" } }, "type": "object", "required": [ "id", "clientId", "contractorId", "type", "status", "createdAt", "updatedAt" ], "title": "ContractResponse", "description": "Contract response." }, "ContractStatus": { "type": "string", "enum": [ "pending_approval_by_contractor", "pending_approval_by_client", "active", "completed", "cancelled", "paused" ], "title": "ContractStatus", "description": "Contract status." }, "ContractType": { "type": "string", "enum": [ "service", "employment", "nda", "contractor", "default_contractor", "custom", "vendor", "milestone", "msa", "other" ], "title": "ContractType", "description": "Contract type." }, "ContractorAgreementData": { "properties": { "contractorName": { "type": "string", "title": "Contractorname" }, "contractorAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contractoraddress" }, "contractorEmail": { "type": "string", "title": "Contractoremail" }, "contractorCountry": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contractorcountry" }, "taxId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Taxid" }, "effectiveDate": { "type": "string", "title": "Effectivedate" }, "sowEffectiveDate": { "type": "string", "title": "Soweffectivedate" }, "contractType": { "type": "string", "title": "Contracttype", "default": "Fixed rate" }, "startDate": { "type": "string", "title": "Startdate" }, "jobTitle": { "type": "string", "title": "Jobtitle" }, "scopeDescription": { "type": "string", "title": "Scopedescription" }, "paymentCurrency": { "type": "string", "title": "Paymentcurrency", "default": "USD - US Dollar" }, "paymentRate": { "type": "string", "title": "Paymentrate" }, "firstPaymentDate": { "type": "string", "title": "Firstpaymentdate" }, "firstPaymentAmount": { "type": "string", "title": "Firstpaymentamount", "default": "Full amount" }, "invoiceCycle": { "type": "string", "title": "Invoicecycle", "default": "Monthly, ends the last day of the month" }, "paymentDue": { "type": "string", "title": "Paymentdue", "default": "Same day" } }, "type": "object", "required": [ "contractorName", "contractorEmail", "effectiveDate", "sowEffectiveDate", "startDate", "jobTitle", "scopeDescription", "paymentRate", "firstPaymentDate" ], "title": "ContractorAgreementData", "description": "Data for filling Contractor Agreement template." }, "ContractorContractPreviewFields": { "properties": { "effectiveDate": { "type": "string", "title": "Effectivedate" }, "clientName": { "type": "string", "title": "Clientname" }, "clientEntityType": { "type": "string", "title": "Cliententitytype" }, "clientAddress": { "type": "string", "title": "Clientaddress" }, "clientEmail": { "type": "string", "title": "Clientemail" }, "clientJurisdiction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clientjurisdiction" }, "clientRegistrationNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clientregistrationnumber" }, "contractorName": { "type": "string", "title": "Contractorname" }, "contractorEntityType": { "type": "string", "title": "Contractorentitytype" }, "contractorAddress": { "type": "string", "title": "Contractoraddress" }, "contractorEmail": { "type": "string", "title": "Contractoremail" }, "contractorJurisdiction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contractorjurisdiction" }, "contractorRegistrationNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contractorregistrationnumber" }, "governingLaw": { "type": "string", "title": "Governinglaw" }, "clientSignerName": { "type": "string", "title": "Clientsignername" }, "contractorSignerName": { "type": "string", "title": "Contractorsignername" }, "clientSignatureDate": { "type": "string", "title": "Clientsignaturedate" }, "contractorSignatureDate": { "type": "string", "title": "Contractorsignaturedate" } }, "type": "object", "required": [ "effectiveDate", "clientName", "clientEntityType", "clientAddress", "clientEmail", "contractorName", "contractorEntityType", "contractorAddress", "contractorEmail", "governingLaw", "clientSignerName", "contractorSignerName", "clientSignatureDate", "contractorSignatureDate" ], "title": "ContractorContractPreviewFields" }, "CorpDocumentType": { "type": "string", "enum": [ "contractor_agreement" ], "title": "CorpDocumentType", "description": "Supported document types for e-signing." }, "CountryCode": { "type": "string", "enum": [ "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "CV", "KH", "CM", "CA", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "SZ", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MK", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW" ], "title": "CountryCode", "description": "ISO 3166-1 alpha-2 country codes." }, "CreateContractRequest": { "properties": { "contractorEmail": { "anyOf": [ { "type": "string", "maxLength": 320, "minLength": 3 }, { "type": "null" } ], "title": "Contractoremail" }, "clientEmail": { "anyOf": [ { "type": "string", "maxLength": 320, "minLength": 3 }, { "type": "null" } ], "title": "Clientemail" }, "label": { "anyOf": [ { "type": "string", "maxLength": 200 }, { "type": "null" } ], "title": "Label" }, "type": { "$ref": "#/components/schemas/ContractType", "default": "service" }, "period": { "anyOf": [ { "$ref": "#/components/schemas/ContractPeriod" }, { "type": "null" } ] }, "activationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Activationat" }, "expirationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Expirationat" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/ContractStatus" }, { "type": "null" } ] }, "fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Fields" }, "documentId": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Documentid" }, "priorityMethods": { "items": { "$ref": "#/components/schemas/TransactionType" }, "type": "array", "title": "Prioritymethods" }, "paymentMethods": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Paymentmethods" }, "requireClientKyc": { "type": "boolean", "title": "Requireclientkyc", "default": false }, "requireClientW89": { "type": "boolean", "title": "Requireclientw89", "default": false }, "requireContractorKyc": { "type": "boolean", "title": "Requirecontractorkyc", "default": false }, "requireContractorW89": { "type": "boolean", "title": "Requirecontractorw89", "default": false } }, "type": "object", "title": "CreateContractRequest", "description": "Request to create a new contract.\n\nExactly one of ``contractor_email`` or ``client_email`` must be set.\n* ``contractor_email`` \u2014 the creator is the **client**.\n* ``client_email`` \u2014 the creator is the **contractor**." }, "CreateInvoiceFromContractRequest": { "properties": { "amount": { "anyOf": [ { "type": "number" }, { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Amount" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" }, "invoicePrefix": { "type": "string", "maxLength": 16, "minLength": 1, "pattern": "^[A-Za-z0-9_-]+$", "title": "Invoiceprefix", "description": "Prefix for auto-generated invoice_number, e.g. \"INV\" \u2192 \"INV-0001\".", "default": "INV" }, "contractorAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "periodStart": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Periodstart" }, "addItems": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Additems" } }, "type": "object", "title": "CreateInvoiceFromContractRequest", "description": "Request to create an invoice from a contract.\n\nEither party (client or contractor) of the contract may create the invoice;\nattribution always flows from ``contract.contractor`` to\n``contract.client``. Amount defaults to the contract amount when not\nprovided. ``contractor_address`` is optional \u2014 when omitted, the snapshot\nstored on the contract (or the linked contact's address) is used.\n``invoice_number`` is auto-generated per (contractor, client) pair as e.g.\n``\"INV-0001\"``." }, "CreateInvoiceRequest": { "properties": { "currency": { "$ref": "#/components/schemas/Currency", "default": "USD" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" }, "emailMessage": { "anyOf": [ { "type": "string", "maxLength": 2000 }, { "type": "null" } ], "title": "Emailmessage" }, "invoicePrefix": { "type": "string", "maxLength": 16, "minLength": 1, "pattern": "^[A-Za-z0-9_-]+$", "title": "Invoiceprefix", "description": "Prefix for auto-generated invoice_number, e.g. \"INV\" \u2192 \"INV-0001\".", "default": "INV" }, "issuedDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Issueddate" }, "dueDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Duedate" }, "items": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Items" }, "discount": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Discount", "description": "Fixed discount in invoice currency. Subtracted from sum of items." }, "documentIds": { "anyOf": [ { "items": { "type": "string", "format": "uuid" }, "type": "array" }, { "type": "null" } ], "title": "Documentids" }, "contractorEmail": { "type": "string", "title": "Contractoremail" }, "contractorDisplayName": { "type": "string", "title": "Contractordisplayname" }, "contractorAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "clientEmail": { "type": "string", "title": "Clientemail" }, "clientDisplayName": { "type": "string", "title": "Clientdisplayname" }, "clientAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "banks": { "anyOf": [ { "items": { "type": "string", "format": "uuid" }, "type": "array" }, { "type": "null" } ], "title": "Banks" }, "onchain": { "type": "boolean", "title": "Onchain", "default": false } }, "type": "object", "required": [ "contractorEmail", "contractorDisplayName", "clientEmail", "clientDisplayName" ], "title": "CreateInvoiceRequest", "description": "Request to create an invoice.\n\nParticipant data (email, display_name, address) is snapshotted at creation time.\nAmount is computed as sum of items[].price * items[].quantity.\ninvoice_number is auto-generated per (contractor, client) pair." }, "CreateUploadedInvoiceRequest": { "properties": { "amount": { "anyOf": [ { "type": "number", "exclusiveMinimum": 0 }, { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" } ], "title": "Amount" }, "currency": { "$ref": "#/components/schemas/Currency", "default": "USD" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" }, "emailMessage": { "anyOf": [ { "type": "string", "maxLength": 2000 }, { "type": "null" } ], "title": "Emailmessage" }, "issuedDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Issueddate" }, "dueDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Duedate" }, "items": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Items" }, "documentIds": { "items": { "type": "string", "format": "uuid" }, "type": "array", "title": "Documentids" }, "contractorEmail": { "type": "string", "title": "Contractoremail" }, "contractorDisplayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contractordisplayname" }, "contractorAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "contactIds": { "items": { "type": "string", "format": "uuid" }, "type": "array", "title": "Contactids" } }, "type": "object", "required": [ "amount", "contractorEmail" ], "title": "CreateUploadedInvoiceRequest", "description": "Create an incoming invoice from a manually uploaded/local document.\n\nCurrent user is the client/payer. Payment methods are resolved from saved\ncontacts; direct paymentMethods input is intentionally not accepted." }, "Currency": { "type": "string", "enum": [ "USD", "EUR", "GBP", "JPY", "CHF", "CAD", "AUD", "NZD", "SEK", "NOK", "AED", "HKD" ], "title": "Currency", "description": "Supported invoice/contract currencies. G10 majors + AED/HKD." }, "CustomContractPreviewFields": { "properties": { "items": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Items" } }, "type": "object", "title": "CustomContractPreviewFields" }, "DocumentDraftInfo": { "properties": { "id": { "type": "string", "title": "Id" }, "type": { "$ref": "#/components/schemas/SlxDocumentType" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "originName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Originname" }, "link": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Link" }, "createdAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Createdat" }, "content": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Content" } }, "type": "object", "required": [ "id", "type" ], "title": "DocumentDraftInfo", "description": "Document info in response." }, "EmailAccountInput": { "properties": { "accountType": { "type": "string", "const": "email", "title": "Accounttype", "default": "email" }, "email": { "type": "string", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "EmailAccountInput", "description": "Email contact input." }, "EmployerContractPreviewFields": { "properties": { "effectiveDate": { "type": "string", "title": "Effectivedate" }, "employerName": { "type": "string", "title": "Employername" }, "employeeName": { "type": "string", "title": "Employeename" }, "positionTitle": { "type": "string", "title": "Positiontitle" }, "startDate": { "type": "string", "title": "Startdate" }, "endDate": { "type": "string", "title": "Enddate" }, "scope": { "type": "string", "title": "Scope" }, "compensation": { "type": "string", "title": "Compensation" }, "paymentTerms": { "type": "string", "title": "Paymentterms" }, "invoiceCycle": { "type": "string", "title": "Invoicecycle" }, "paymentDue": { "type": "string", "title": "Paymentdue" }, "confidentialityTerms": { "type": "string", "title": "Confidentialityterms" }, "intellectualPropertyTerms": { "type": "string", "title": "Intellectualpropertyterms" }, "complianceTerms": { "type": "string", "title": "Complianceterms" } }, "type": "object", "required": [ "effectiveDate", "employerName", "employeeName", "positionTitle", "startDate", "endDate", "scope", "compensation", "paymentTerms", "invoiceCycle", "paymentDue", "confidentialityTerms", "intellectualPropertyTerms", "complianceTerms" ], "title": "EmployerContractPreviewFields" }, "FiatBusinessAddress": { "properties": { "streetAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Streetaddress" }, "addressLine2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Addressline2" }, "city": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "City" }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" }, "country": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "zip": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Zip" } }, "type": "object", "title": "FiatBusinessAddress", "description": "Business address." }, "FiatBusinessType": { "type": "string", "enum": [ "technology", "finance", "healthcare", "retail", "e_commerce", "manufacturing", "real_estate", "consulting", "hospitality", "education", "transportation", "entertainment", "agriculture", "construction", "professional_services", "crypto_web3", "other" ], "title": "FiatBusinessType", "description": "Business industry type." }, "FiatEntityType": { "type": "string", "enum": [ "llc", "corporation", "s_corporation", "c_corporation", "partnership", "limited_partnership", "sole_proprietorship", "nonprofit", "trust", "cooperative", "dao", "foundation", "other" ], "title": "FiatEntityType", "description": "Business entity type." }, "FiatIdentityDocument": { "properties": { "type": { "anyOf": [ { "$ref": "#/components/schemas/FiatIdentityDocumentType" }, { "type": "null" } ] }, "issuingCountry": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Number" } }, "type": "object", "title": "FiatIdentityDocument", "description": "Identity document for shareholder." }, "FiatIdentityDocumentType": { "type": "string", "enum": [ "passport", "id_card", "drivers_license", "driver_license", "residence_permit", "government_id", "state_or_provincial_id", "visa" ], "title": "FiatIdentityDocumentType", "description": "Identity document type." }, "FiatPaymentType": { "type": "string", "enum": [ "sepa", "swift", "ach", "uaefts", "fedwire" ], "title": "FiatPaymentType", "description": "Canonical fiat payment rail used for ``account_type`` discrimination,\nbank-rail methods, and contact/transaction type alignment." }, "FiatProvider": { "type": "string", "enum": [ "swipelux", "align", "mcp", "wirex" ], "title": "FiatProvider", "description": "Supported fiat payment providers." }, "FiatPurposeOfFunds": { "type": "string", "enum": [ "operations", "payroll", "vendor_payments", "investment", "treasury_management", "international_transfers", "other" ], "title": "FiatPurposeOfFunds", "description": "Purpose of funds." }, "FiatRailResponse": { "properties": { "provider": { "$ref": "#/components/schemas/FiatProvider" }, "externalUserId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Externaluserid" }, "kycStatus": { "type": "string", "title": "Kycstatus", "default": "not_started" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" } }, "type": "object", "required": [ "provider" ], "title": "FiatRailResponse", "description": "Response schema for a user's fiat rail registration." }, "FiatShareholder": { "properties": { "localId": { "type": "string", "title": "Localid" }, "firstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Firstname" }, "lastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lastname" }, "birthDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Birthdate" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Phone" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title" }, "taxId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Taxid" }, "ownershipPercentage": { "anyOf": [ { "type": "number", "maximum": 100, "minimum": 0 }, { "type": "null" } ], "title": "Ownershippercentage" }, "hasControl": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Hascontrol" }, "isSigner": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Issigner" }, "isDirector": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isdirector" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/FiatShareholderAddress" }, { "type": "null" } ] }, "identityDocuments": { "anyOf": [ { "items": { "$ref": "#/components/schemas/FiatIdentityDocument" }, "type": "array" }, { "type": "null" } ], "title": "Identitydocuments" }, "documentIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Documentids" }, "swipeluxId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Swipeluxid" } }, "type": "object", "required": [ "localId" ], "title": "FiatShareholder", "description": "Shareholder data stored in business_data JSONB." }, "FiatShareholderAddress": { "properties": { "streetAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Streetaddress" }, "city": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "City" }, "country": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "zip": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Zip" } }, "type": "object", "title": "FiatShareholderAddress", "description": "Shareholder address." }, "FiatSourceOfFunds": { "type": "string", "enum": [ "business_revenue", "investment", "loan", "personal_savings", "third_party_funds", "grant", "other" ], "title": "FiatSourceOfFunds", "description": "Source of funds." }, "FiatVerifierRole": { "type": "string", "enum": [ "officer", "employer", "accountant", "agent" ], "title": "FiatVerifierRole", "description": "KYB verifier role." }, "FirmaCreateDocumentRequest": { "properties": { "documentType": { "$ref": "#/components/schemas/CorpDocumentType" }, "signer": { "$ref": "#/components/schemas/FirmaSignerInfo" }, "recipient": { "$ref": "#/components/schemas/FirmaSignerInfo" }, "contractorAgreement": { "anyOf": [ { "$ref": "#/components/schemas/ContractorAgreementData" }, { "type": "null" } ] } }, "type": "object", "required": [ "documentType", "signer", "recipient" ], "title": "FirmaCreateDocumentRequest", "description": "Request to create a document for signing via Firma." }, "FirmaCreateDocumentResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "firmaId": { "type": "string", "title": "Firmaid" }, "documentType": { "type": "string", "title": "Documenttype" }, "status": { "type": "string", "title": "Status" }, "signerEmail": { "type": "string", "title": "Signeremail" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "signingUrls": { "items": { "$ref": "#/components/schemas/FirmaSigningUrlInfo" }, "type": "array", "title": "Signingurls", "default": [] } }, "type": "object", "required": [ "id", "firmaId", "documentType", "status", "signerEmail" ], "title": "FirmaCreateDocumentResponse", "description": "Response after creating and sending a signing request." }, "FirmaSignerInfo": { "properties": { "firstName": { "type": "string", "title": "Firstname" }, "lastName": { "type": "string", "title": "Lastname" }, "email": { "type": "string", "title": "Email" } }, "type": "object", "required": [ "firstName", "lastName", "email" ], "title": "FirmaSignerInfo", "description": "Signer information for a signing request." }, "FirmaSigningUrlInfo": { "properties": { "email": { "type": "string", "title": "Email" }, "signingUrl": { "type": "string", "title": "Signingurl" } }, "type": "object", "required": [ "email", "signingUrl" ], "title": "FirmaSigningUrlInfo", "description": "Signing URL for embedding in iframe." }, "GenerateContractDocumentResponse": { "properties": { "type": { "$ref": "#/components/schemas/ContractDocumentTemplateType" }, "markdown": { "type": "string", "title": "Markdown" }, "html": { "type": "string", "title": "Html" }, "htmlPreview": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Htmlpreview" }, "fields": { "anyOf": [ { "$ref": "#/components/schemas/EmployerContractPreviewFields" }, { "$ref": "#/components/schemas/ServiceContractPreviewFields" }, { "$ref": "#/components/schemas/ContractorContractPreviewFields" }, { "$ref": "#/components/schemas/CustomContractPreviewFields" }, { "type": "null" } ], "title": "Fields" }, "missingFields": { "items": { "type": "string" }, "type": "array", "title": "Missingfields" } }, "type": "object", "required": [ "type", "markdown", "html" ], "title": "GenerateContractDocumentResponse" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "IBANAccountDetails-Input": { "properties": { "bankName": { "type": "string", "title": "Bankname" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Currency" }, "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] }, "paymentReference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paymentreference" }, "accountType": { "type": "string", "enum": [ "sepa", "uaefts" ], "title": "Accounttype", "default": "sepa" }, "ibanNumber": { "type": "string", "title": "Ibannumber" }, "bic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bic" } }, "type": "object", "required": [ "bankName", "accountHolderType", "ibanNumber" ], "title": "IBANAccountDetails", "description": "IBAN (SEPA) external account." }, "IBANAccountDetails-Output": { "properties": { "bankName": { "type": "string", "title": "Bankname" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Currency" }, "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] }, "paymentReference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paymentreference" }, "accountType": { "type": "string", "enum": [ "sepa", "uaefts" ], "title": "Accounttype", "default": "sepa" }, "ibanNumber": { "type": "string", "title": "Ibannumber" }, "bic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bic" }, "beneficiaryName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Beneficiaryname", "description": "Frontend-only alias derived from account holder fields.", "readOnly": true } }, "type": "object", "required": [ "bankName", "accountHolderType", "ibanNumber", "beneficiaryName" ], "title": "IBANAccountDetails", "description": "IBAN (SEPA) external account." }, "IBANStatus": { "type": "string", "enum": [ "not_started", "requested", "document_requested", "approved", "pending_kyc", "pending", "active", "hidden", "frozen", "closed", "rejected" ], "title": "IBANStatus", "description": "IBAN account status.\n\nState machine:\n``not_started`` \u2192 ``requested`` \u2192 ``document_requested`` \u2192 ``approved`` \u2192 ``pending`` \u2192 ``active``\n\n- ``not_started`` \u2014 default for every rail until the user opts in.\n- ``requested`` \u2014 user asked for this rail via /pre-approve; awaiting KYC.\n- ``document_requested``\u2014 admin asked the user for more documents (KYB).\n- ``approved`` \u2014 KYB passed, account ready to be created at provider.\n- ``pending_kyc`` \u2014 provider rejected creation until KYC is approved.\n- ``pending`` \u2014 provider accepted/created the account, waiting.\n- ``active`` \u2014 real bank details are attached to the row.\n- ``frozen`` / ``closed``\u2014 terminal/blocked states." }, "InvoiceContractInfo": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "type": { "$ref": "#/components/schemas/ContractType" }, "status": { "$ref": "#/components/schemas/ContractStatus" }, "period": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Period" }, "isRecurring": { "type": "boolean", "title": "Isrecurring" }, "activationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Activationat" }, "expirationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Expirationat" } }, "type": "object", "required": [ "id", "type", "status", "isRecurring" ], "title": "InvoiceContractInfo", "description": "Minimal contract info embedded in invoice response." }, "InvoiceDocumentInfo": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "key": { "type": "string", "title": "Key" } }, "type": "object", "required": [ "id", "name", "key" ], "title": "InvoiceDocumentInfo", "description": "Document attached to an invoice.\n\n`key` is a short-lived signed token. To download call\nGET /documents/download/{id}?key={key}." }, "InvoiceListResponse": { "properties": { "invoices": { "items": { "$ref": "#/components/schemas/InvoiceResponse" }, "type": "array", "title": "Invoices" } }, "type": "object", "required": [ "invoices" ], "title": "InvoiceListResponse", "description": "List of invoices." }, "InvoiceParticipant": { "properties": { "email": { "type": "string", "title": "Email" }, "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] } }, "type": "object", "required": [ "email" ], "title": "InvoiceParticipant", "description": "Minimal participant info for invoice response." }, "InvoiceResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "onchainTransactionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Onchaintransactionid" }, "transaction": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceTransactionInfo" }, { "type": "null" } ] }, "amount": { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "title": "Amount" }, "discount": { "anyOf": [ { "type": "string", "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$" }, { "type": "null" } ], "title": "Discount" }, "currency": { "$ref": "#/components/schemas/Currency" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" }, "emailMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Emailmessage" }, "invoiceNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invoicenumber" }, "periodNumber": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Periodnumber" }, "issuedDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Issueddate" }, "dueDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Duedate" }, "items": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Items" }, "paymentMethods": { "items": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "$ref": "#/components/schemas/ContactWalletResponse" }, { "$ref": "#/components/schemas/EmailAccountInput" } ] }, "type": "array", "title": "Paymentmethods" }, "status": { "$ref": "#/components/schemas/InvoiceStatus" }, "client": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceParticipant" }, { "type": "null" } ] }, "contractor": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceParticipant" }, { "type": "null" } ] }, "contract": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceContractInfo" }, { "type": "null" } ] }, "invoiceLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invoicelink" }, "documents": { "items": { "$ref": "#/components/schemas/InvoiceDocumentInfo" }, "type": "array", "title": "Documents" }, "paidAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Paidat" }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" }, "updatedAt": { "type": "string", "format": "date-time", "title": "Updatedat" } }, "type": "object", "required": [ "id", "amount", "currency", "status", "createdAt", "updatedAt" ], "title": "InvoiceResponse", "description": "Invoice response." }, "InvoiceStatus": { "type": "string", "enum": [ "draft", "sent", "paid", "cancelled", "client_paid", "client_declined" ], "title": "InvoiceStatus", "description": "Invoice status." }, "InvoiceTransactionInfo": { "properties": { "onchainTransactionId": { "type": "string", "title": "Onchaintransactionid" }, "amount": { "type": "number", "title": "Amount" }, "txHash": { "type": "string", "title": "Txhash" }, "type": { "type": "string", "title": "Type" }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" } }, "type": "object", "required": [ "onchainTransactionId", "amount", "txHash", "type", "createdAt" ], "title": "InvoiceTransactionInfo", "description": "Minimal transaction info embedded in invoice response." }, "IssueCardRequest": { "properties": { "format": { "$ref": "#/components/schemas/CardFormat", "default": "virtual" } }, "type": "object", "title": "IssueCardRequest", "description": "Request to issue a new card." }, "KybDocumentUpload": { "properties": { "base64": { "type": "string", "title": "Base64" }, "type": { "$ref": "#/components/schemas/SlxDocumentType" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "originName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Originname" }, "context": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Context" } }, "type": "object", "required": [ "base64", "type" ], "title": "KybDocumentUpload", "description": "Document upload for draft." }, "KybDraftRequest": { "properties": { "businessData": { "anyOf": [ { "$ref": "#/components/schemas/BusinessUserCreateRequest-Input" }, { "type": "null" } ] }, "documentIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Documentids" }, "shareholders": { "anyOf": [ { "items": { "$ref": "#/components/schemas/FiatShareholder" }, "type": "array" }, { "type": "null" } ], "title": "Shareholders" } }, "type": "object", "title": "KybDraftRequest", "description": "Draft request. Documents are uploaded separately via POST /kyb/draft/documents." }, "KybDraftResponse": { "properties": { "kybStatusByRails": { "additionalProperties": { "$ref": "#/components/schemas/KycStatus" }, "propertyNames": { "$ref": "#/components/schemas/BankRail" }, "type": "object", "title": "Kybstatusbyrails", "description": "KYB status for each activated bank rail" }, "kybStatus": { "$ref": "#/components/schemas/KycStatus" }, "businessData": { "anyOf": [ { "$ref": "#/components/schemas/BusinessUserCreateRequest-Output" }, { "type": "null" } ] }, "companyDocuments": { "items": { "$ref": "#/components/schemas/DocumentDraftInfo" }, "type": "array", "title": "Companydocuments" }, "shareholders": { "items": { "$ref": "#/components/schemas/ShareholderDraftResponse" }, "type": "array", "title": "Shareholders" }, "isReadyForSubmission": { "type": "boolean", "title": "Isreadyforsubmission", "default": false }, "missingFields": { "items": { "type": "string" }, "type": "array", "title": "Missingfields" }, "requiredDocuments": { "items": { "type": "string" }, "type": "array", "title": "Requireddocuments", "description": "Required document types for this company's jurisdiction" }, "requiredShareholderDocuments": { "items": { "type": "string" }, "type": "array", "title": "Requiredshareholderdocuments", "description": "Required document types for each shareholder" }, "swipeluxCustomerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Swipeluxcustomerid" }, "rails": { "items": { "$ref": "#/components/schemas/FiatRailResponse" }, "type": "array", "title": "Rails", "description": "All fiat rails for this user" }, "updatedAt": { "type": "string", "format": "date-time", "title": "Updatedat" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" } }, "type": "object", "required": [ "kybStatus", "updatedAt" ], "title": "KybDraftResponse", "description": "Full draft response." }, "KycLinkResponse": { "properties": { "link": { "type": "string", "title": "Link" } }, "type": "object", "required": [ "link" ], "title": "KycLinkResponse", "description": "KYC verification link." }, "KycStatus": { "type": "string", "enum": [ "not_started", "requested", "incorporating", "pending", "under_review", "in_review", "approved", "rejected" ], "title": "KycStatus", "description": "KYC verification status." }, "KycStatusResponse": { "properties": { "provider": { "$ref": "#/components/schemas/FiatProvider" }, "externalUserId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Externaluserid" }, "email": { "type": "string", "title": "Email" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/KycStatus" }, { "type": "null" } ] }, "kycStatus": { "$ref": "#/components/schemas/KycStatus" }, "firstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Firstname" }, "lastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lastname" }, "entityName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Entityname" }, "kycLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Kyclink" }, "kycUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Kycurl" }, "contactSupportLink": { "type": "string", "title": "Contactsupportlink", "default": "https://app.gethevn.com/chat" } }, "type": "object", "required": [ "provider", "email", "kycStatus" ], "title": "KycStatusResponse", "description": "Response schema for KYC status check." }, "McpTransactionResponse": { "properties": { "txHash": { "type": "string", "title": "Txhash" }, "amount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Amount" }, "receiverEmail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Receiveremail" }, "receiverAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Receiveraddress" }, "transactionLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Transactionlink" }, "time": { "type": "string", "format": "date-time", "title": "Time" } }, "type": "object", "required": [ "txHash", "time" ], "title": "McpTransactionResponse" }, "OnchainAccountInput": { "properties": { "accountType": { "type": "string", "const": "onchain", "title": "Accounttype", "default": "onchain" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "walletAddress": { "type": "string", "title": "Walletaddress" }, "chainId": { "$ref": "#/components/schemas/OneClickChain" }, "currency": { "type": "string", "title": "Currency" } }, "type": "object", "required": [ "walletAddress", "chainId", "currency" ], "title": "OnchainAccountInput", "description": "Onchain wallet contact input." }, "OneClickChain": { "type": "string", "enum": [ "eth", "bsc", "avax", "op", "arb", "pol", "sol", "base", "gnosis", "tron", "xrp", "zec", "doge", "ltc", "btc", "cardano", "bera", "sui", "near", "near_intents", "xlayer", "plasma", "ton", "stellar", "monad", "starknet", "aptos", "adi", "bch" ], "title": "OneClickChain", "description": "1click chain codes." }, "PayinQuoteRequest": { "properties": { "amount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Amount" }, "currency": { "type": "string", "title": "Currency" }, "originChainId": { "$ref": "#/components/schemas/OneClickChain" }, "swapType": { "$ref": "#/components/schemas/SwapType", "default": "FLEX_INPUT" } }, "type": "object", "required": [ "currency", "originChainId" ], "title": "PayinQuoteRequest", "description": "Request for cross-chain payin quote." }, "PayoutQuoteRequest": { "properties": { "contactId": { "type": "string", "format": "uuid", "title": "Contactid" }, "amount": { "type": "number", "title": "Amount" }, "swapType": { "$ref": "#/components/schemas/SwapType", "default": "FLEX_INPUT" } }, "type": "object", "required": [ "contactId", "amount" ], "title": "PayoutQuoteRequest", "description": "Request for payout quote to contact." }, "PublicInvoiceContractInfo": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "documentName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Documentname" }, "documentLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Documentlink" } }, "type": "object", "required": [ "id" ], "title": "PublicInvoiceContractInfo" }, "PublicInvoiceItem": { "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "quantity": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Quantity" }, "price": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Price" } }, "type": "object", "title": "PublicInvoiceItem" }, "PublicInvoiceResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "amount": { "type": "number", "title": "Amount" }, "currency": { "type": "string", "title": "Currency" }, "comment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Comment" }, "invoiceNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invoicenumber" }, "issuedDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Issueddate" }, "dueDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Duedate" }, "status": { "$ref": "#/components/schemas/InvoiceStatus" }, "client": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceParticipant" }, { "type": "null" } ] }, "contractor": { "anyOf": [ { "$ref": "#/components/schemas/InvoiceParticipant" }, { "type": "null" } ] }, "items": { "items": { "$ref": "#/components/schemas/PublicInvoiceItem" }, "type": "array", "title": "Items" }, "paymentMethods": { "items": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "$ref": "#/components/schemas/ContactWalletResponse" }, { "$ref": "#/components/schemas/EmailAccountInput" } ] }, "type": "array", "title": "Paymentmethods", "default": [] }, "contract": { "anyOf": [ { "$ref": "#/components/schemas/PublicInvoiceContractInfo" }, { "type": "null" } ] }, "invoiceLink": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invoicelink" }, "documents": { "items": { "$ref": "#/components/schemas/InvoiceDocumentInfo" }, "type": "array", "title": "Documents", "default": [] }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" } }, "type": "object", "required": [ "id", "amount", "currency", "status", "items", "createdAt" ], "title": "PublicInvoiceResponse" }, "RateResponse": { "properties": { "bankTransfer": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Banktransfer" }, "card": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Card" }, "usdRate": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Usdrate" } }, "type": "object", "title": "RateResponse", "description": "Combined FX rate response." }, "ReferrerInfo": { "properties": { "name": { "type": "string", "title": "Name" }, "email": { "type": "string", "title": "Email" }, "avatarUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Avatarurl" } }, "type": "object", "required": [ "name", "email" ], "title": "ReferrerInfo", "description": "Lightweight info about the user who referred this user." }, "SepaAccountInput": { "properties": { "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountType": { "type": "string", "const": "sepa", "title": "Accounttype", "default": "sepa" }, "iban": { "type": "string", "title": "Iban" }, "bic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bic" }, "country": { "type": "string", "title": "Country" }, "currency": { "type": "string", "title": "Currency", "default": "EUR" }, "bankName": { "type": "string", "title": "Bankname" }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] } }, "type": "object", "required": [ "accountHolderType", "iban", "country", "bankName" ], "title": "SepaAccountInput", "description": "SEPA bank contact input." }, "ServiceContractPreviewFields": { "properties": { "effectiveDate": { "type": "string", "title": "Effectivedate" }, "clientName": { "type": "string", "title": "Clientname" }, "serviceProviderName": { "type": "string", "title": "Serviceprovidername" }, "services": { "type": "string", "title": "Services" }, "paymentTerms": { "type": "string", "title": "Paymentterms" }, "invoiceCycle": { "type": "string", "title": "Invoicecycle" }, "paymentDue": { "type": "string", "title": "Paymentdue" }, "confidentialityTerms": { "type": "string", "title": "Confidentialityterms" }, "intellectualPropertyTerms": { "type": "string", "title": "Intellectualpropertyterms" } }, "type": "object", "required": [ "effectiveDate", "clientName", "serviceProviderName", "services", "paymentTerms", "invoiceCycle", "paymentDue", "confidentialityTerms", "intellectualPropertyTerms" ], "title": "ServiceContractPreviewFields" }, "SetCardLabelRequest": { "properties": { "label": { "anyOf": [ { "type": "string", "maxLength": 64 }, { "type": "null" } ], "title": "Label", "description": "Label/nickname (null to clear)" } }, "type": "object", "title": "SetCardLabelRequest", "description": "Request to set a user-defined card label." }, "SetCardLimitRequest": { "properties": { "dailyLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Dailylimit", "description": "Daily limit. Set to -1 to disable." }, "monthlyLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Monthlylimit", "description": "Monthly limit. Set to -1 to disable." }, "lifetimeLimit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Lifetimelimit", "description": "Lifetime limit. Set to -1 to disable." }, "currency": { "type": "string", "title": "Currency", "description": "Limit currency.", "default": "EUR" } }, "type": "object", "title": "SetCardLimitRequest", "description": "Request to set card spending limits." }, "ShareKybLinkRequest": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "ShareKybLinkRequest", "description": "Request schema for sharing a KYB link via email." }, "ShareholderDraftResponse": { "properties": { "localId": { "type": "string", "title": "Localid" }, "firstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Firstname" }, "lastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lastname" }, "birthDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Birthdate" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Phone" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title" }, "taxId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Taxid" }, "ownershipPercentage": { "anyOf": [ { "type": "number", "maximum": 100, "minimum": 0 }, { "type": "null" } ], "title": "Ownershippercentage" }, "hasControl": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Hascontrol" }, "isSigner": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Issigner" }, "isDirector": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isdirector" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/FiatShareholderAddress" }, { "type": "null" } ] }, "identityDocuments": { "anyOf": [ { "items": { "$ref": "#/components/schemas/FiatIdentityDocument" }, "type": "array" }, { "type": "null" } ], "title": "Identitydocuments" }, "documentIds": { "items": { "type": "string" }, "type": "array", "title": "Documentids" }, "documents": { "items": { "$ref": "#/components/schemas/DocumentDraftInfo" }, "type": "array", "title": "Documents" }, "swipeluxId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Swipeluxid" } }, "type": "object", "required": [ "localId" ], "title": "ShareholderDraftResponse", "description": "Shareholder in response with resolved documents. All fields optional for partial filling." }, "SlxDocumentType": { "type": "string", "enum": [ "certificate_of_incorporation", "formation_document", "power_of_attorney", "corporate_structure", "director_structure", "proof_of_address", "annual_financial_statements", "articles_of_association", "audit_report", "bank_reference_letter", "bank_statement", "banking_details", "birth_certificate", "business_license", "business_plan", "certificate_of_good_standing", "credit_report", "criminal_record_check", "cv_resume", "driving_license", "education_certificate", "financial_projections", "insurance_policy", "lease_agreement", "list_of_authorized_signatories", "marriage_certificate", "national_id", "operating_agreement", "partnership_agreement", "professional_license", "reference_letter", "register_of_members", "residence_permit", "shareholding_structure", "social_security_document", "source_of_funds_declaration", "tax_identification_document", "tax_returns", "trade_references", "vat_registration", "vendor_contracts", "visa", "wealth_statement", "contract", "invoice", "loan_agreement", "passport_front", "passport_back", "id_card_front", "id_card_back", "drivers_license_front", "drivers_license_back", "other" ], "title": "SlxDocumentType", "description": "Document types for upload." }, "SortOrder": { "type": "string", "enum": [ "asc", "desc" ], "title": "SortOrder", "description": "Sort direction." }, "SwapType": { "type": "string", "enum": [ "EXACT_INPUT", "EXACT_OUTPUT", "FLEX_INPUT", "ANY_INPUT" ], "title": "SwapType", "description": "Type of swap quote." }, "SwiftAccountDetails-Input": { "properties": { "bankName": { "type": "string", "title": "Bankname" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Currency" }, "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] }, "paymentReference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paymentreference" }, "accountType": { "type": "string", "const": "swift", "title": "Accounttype", "default": "swift" }, "swift": { "$ref": "#/components/schemas/SwiftDetails" } }, "type": "object", "required": [ "bankName", "accountHolderType", "swift" ], "title": "SwiftAccountDetails", "description": "SWIFT (international wire) external account." }, "SwiftAccountDetails-Output": { "properties": { "bankName": { "type": "string", "title": "Bankname" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Currency" }, "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] }, "paymentReference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paymentreference" }, "accountType": { "type": "string", "const": "swift", "title": "Accounttype", "default": "swift" }, "swift": { "$ref": "#/components/schemas/SwiftDetails" }, "beneficiaryName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Beneficiaryname", "description": "Frontend-only alias derived from account holder fields.", "readOnly": true } }, "type": "object", "required": [ "bankName", "accountHolderType", "swift", "beneficiaryName" ], "title": "SwiftAccountDetails", "description": "SWIFT (international wire) external account." }, "SwiftAccountInput": { "properties": { "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountType": { "type": "string", "const": "swift", "title": "Accounttype", "default": "swift" }, "bic": { "type": "string", "title": "Bic" }, "bankName": { "type": "string", "title": "Bankname" }, "accountNumber": { "type": "string", "title": "Accountnumber" }, "country": { "type": "string", "title": "Country" }, "currency": { "type": "string", "title": "Currency", "default": "USD" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "routingNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Routingnumber" }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] } }, "type": "object", "required": [ "accountHolderType", "bic", "bankName", "accountNumber", "country" ], "title": "SwiftAccountInput", "description": "SWIFT bank contact input." }, "SwiftDetails": { "properties": { "accountNumber": { "type": "string", "title": "Accountnumber" }, "routingNumber": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Routingnumber" }, "bic": { "type": "string", "title": "Bic" } }, "type": "object", "required": [ "accountNumber", "bic" ], "title": "SwiftDetails", "description": "SWIFT (international wire) account details." }, "TemplateDescriptor": { "properties": { "type": { "$ref": "#/components/schemas/ContractDocumentTemplateType" }, "title": { "type": "string", "title": "Title" }, "description": { "type": "string", "title": "Description" }, "requiresDocument": { "type": "boolean", "title": "Requiresdocument", "default": false }, "supportsContractGeneration": { "type": "boolean", "title": "Supportscontractgeneration", "default": false }, "supportsInvoicing": { "type": "boolean", "title": "Supportsinvoicing", "default": false }, "fields": { "items": { "$ref": "#/components/schemas/TemplateField" }, "type": "array", "title": "Fields" } }, "type": "object", "required": [ "type", "title", "description" ], "title": "TemplateDescriptor", "description": "Describes a document template and the fields a client must fill." }, "TemplateField": { "properties": { "key": { "type": "string", "title": "Key" }, "label": { "type": "string", "title": "Label" }, "type": { "$ref": "#/components/schemas/TemplateFieldType", "default": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "required": { "type": "boolean", "title": "Required", "default": false }, "multiline": { "type": "boolean", "title": "Multiline", "default": false }, "source": { "$ref": "#/components/schemas/TemplateFieldSource", "default": "user" }, "party": { "anyOf": [ { "type": "string", "enum": [ "client", "contractor" ] }, { "type": "null" } ], "title": "Party" }, "options": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Options" }, "fields": { "anyOf": [ { "items": { "$ref": "#/components/schemas/TemplateField" }, "type": "array" }, { "type": "null" } ], "title": "Fields" }, "item": { "anyOf": [ { "$ref": "#/components/schemas/TemplateField" }, { "type": "null" } ] } }, "type": "object", "required": [ "key", "label" ], "title": "TemplateField", "description": "Single field of a document template, for dynamic discovery.\n\nClients should prompt the user for ``USER`` fields, and for ``PROFILE`` fields only\nwhen the referenced party's value is not already available. ``required`` means the\nfinal document needs a non-empty value, regardless of who provides it.\n\nDescriptors are built from a template's annotated input model by\n``TemplateFieldBuilder``; composite fields nest their shape in :attr:`fields`\n(objects), :attr:`item` (arrays) or :attr:`options` (enums)." }, "TemplateFieldSource": { "type": "string", "enum": [ "user", "profile", "computed", "default" ], "title": "TemplateFieldSource", "description": "Where a template field's value comes from.\n\n* ``USER`` \u2014 must be entered by the user.\n* ``PROFILE`` \u2014 taken from a party's profile when available; if the profile is\n incomplete or the party is not registered yet, it must be collected from the user.\n* ``COMPUTED`` \u2014 generated server-side (current date, reference, derived legal terms).\n* ``DEFAULT`` \u2014 filled with a boilerplate default; no input required." }, "TemplateFieldType": { "type": "string", "enum": [ "string", "text", "number", "decimal", "date", "datetime", "boolean", "enum", "object", "array" ], "title": "TemplateFieldType", "description": "Structural type of a template field, so clients can render the right input.\n\nComposite types carry their shape: ``OBJECT`` populates :attr:`TemplateField.fields`,\n``ARRAY`` populates :attr:`TemplateField.item`, and ``ENUM`` populates\n:attr:`TemplateField.options`." }, "TemplateListResponse": { "properties": { "templates": { "items": { "$ref": "#/components/schemas/TemplateDescriptor" }, "type": "array", "title": "Templates" } }, "type": "object", "required": [ "templates" ], "title": "TemplateListResponse", "description": "List of fillable document templates." }, "TransactionAmountDetail": { "properties": { "currency": { "type": "string", "title": "Currency" }, "amount": { "type": "number", "title": "Amount" }, "usdRate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Usdrate" }, "source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Source" } }, "type": "object", "required": [ "currency", "amount" ], "title": "TransactionAmountDetail", "description": "Currency / amount / rate leg of a transaction." }, "TransactionBreakdownGranularity": { "type": "string", "enum": [ "day", "week", "month" ], "title": "TransactionBreakdownGranularity", "description": "Time bucket size for the breakdown series." }, "TransactionBreakdownItem": { "properties": { "key": { "type": "string", "title": "Key" }, "volumeUsd": { "type": "number", "title": "Volumeusd" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": [ "key", "volumeUsd", "count" ], "title": "TransactionBreakdownItem", "description": "One bucket in a breakdown \u2014 volume + count for a tag/type value." }, "TransactionBreakdownResponse": { "properties": { "groupBy": { "$ref": "#/components/schemas/TransactionGroupBy" }, "items": { "items": { "$ref": "#/components/schemas/TransactionBreakdownItem" }, "type": "array", "title": "Items" } }, "type": "object", "required": [ "groupBy", "items" ], "title": "TransactionBreakdownResponse", "description": "Volume + count grouped by tag or type, with the same filters as the list." }, "TransactionBreakdownSeriesBucket": { "properties": { "bucketStart": { "type": "string", "format": "date-time", "title": "Bucketstart" }, "bucketEnd": { "type": "string", "format": "date-time", "title": "Bucketend" }, "items": { "items": { "$ref": "#/components/schemas/TransactionBreakdownItem" }, "type": "array", "title": "Items" } }, "type": "object", "required": [ "bucketStart", "bucketEnd", "items" ], "title": "TransactionBreakdownSeriesBucket", "description": "One time-bucket in a breakdown series, with the per-key items inside it." }, "TransactionBreakdownSeriesResponse": { "properties": { "groupBy": { "$ref": "#/components/schemas/TransactionGroupBy" }, "granularity": { "$ref": "#/components/schemas/TransactionBreakdownGranularity" }, "buckets": { "items": { "$ref": "#/components/schemas/TransactionBreakdownSeriesBucket" }, "type": "array", "title": "Buckets" } }, "type": "object", "required": [ "groupBy", "granularity", "buckets" ], "title": "TransactionBreakdownSeriesResponse", "description": "Time-bucketed volume + count grouped by tag or type.\n\nGranularity is auto-picked from the fromDate/toDate range: months for ranges\nlonger than 6 months, weeks for >30 days, days otherwise. The response\nalways includes every bucket in the range (zero-filled when empty) so the\nfrontend gets a complete x-axis." }, "TransactionCardDetail": { "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Label" }, "merchant": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Merchant" }, "merchantIcon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Merchanticon" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Category" } }, "type": "object", "title": "TransactionCardDetail", "description": "Card and merchant info for card transactions." }, "TransactionExportFormat": { "type": "string", "enum": [ "csv", "xlsx" ], "title": "TransactionExportFormat" }, "TransactionGroupBy": { "type": "string", "enum": [ "tag", "type" ], "title": "TransactionGroupBy", "description": "Field to group breakdown analytics by." }, "TransactionSortBy": { "type": "string", "enum": [ "date", "amount" ], "title": "TransactionSortBy", "description": "Field to sort the transaction list by." }, "TransactionStatus": { "type": "string", "enum": [ "pending", "success", "failed", "refunded" ], "title": "TransactionStatus", "description": "Unified transaction status." }, "TransactionSummary": { "properties": { "inflowUsd": { "type": "number", "title": "Inflowusd" }, "inflowCount": { "type": "integer", "title": "Inflowcount" }, "outflowUsd": { "type": "number", "title": "Outflowusd" }, "outflowCount": { "type": "integer", "title": "Outflowcount" }, "pendingInflowUsd": { "type": "number", "title": "Pendinginflowusd" }, "pendingInflowCount": { "type": "integer", "title": "Pendinginflowcount" }, "pendingOutflowUsd": { "type": "number", "title": "Pendingoutflowusd" }, "pendingOutflowCount": { "type": "integer", "title": "Pendingoutflowcount" } }, "type": "object", "required": [ "inflowUsd", "inflowCount", "outflowUsd", "outflowCount", "pendingInflowUsd", "pendingInflowCount", "pendingOutflowUsd", "pendingOutflowCount" ], "title": "TransactionSummary", "description": "Aggregate volumes and counts over the filtered transaction set.\n\nComputed without LIMIT/OFFSET \u2014 represents the entire filtered scope,\nnot just the current page. Returned only on the first page (offset=0);\nsubsequent pages omit it since it doesn't change with pagination." }, "TransactionType": { "type": "string", "enum": [ "sepa", "swift", "ach", "uaefts", "fedwire", "swift-usd", "swift-eur", "wire", "pix", "crypto", "card", "internal", "refund" ], "title": "TransactionType", "description": "Transaction type - payment rail.\n\nIncludes all ``FiatPaymentType`` values (sepa/swift/ach/uaefts) plus\nextended fiat variants (wire/swift-usd/swift-eur/fedwire/pix) and\nnon-fiat rails (crypto/card/internal/refund)." }, "TransactionWalletDetail": { "properties": { "address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address" }, "chainId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Chainid" } }, "type": "object", "title": "TransactionWalletDetail", "description": "Wallet details for transaction list/detail views." }, "USAccountDetails": { "properties": { "accountNumber": { "type": "string", "title": "Accountnumber" }, "routingNumber": { "type": "string", "title": "Routingnumber" } }, "type": "object", "required": [ "accountNumber", "routingNumber" ], "title": "USAccountDetails", "description": "US domestic account details (ACH)." }, "USExternalAccountDetails-Input": { "properties": { "bankName": { "type": "string", "title": "Bankname" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Currency" }, "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] }, "paymentReference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paymentreference" }, "accountType": { "type": "string", "enum": [ "ach", "fedwire" ], "title": "Accounttype", "default": "ach" }, "us": { "$ref": "#/components/schemas/USAccountDetails" } }, "type": "object", "required": [ "bankName", "accountHolderType", "us" ], "title": "USExternalAccountDetails", "description": "US domestic (ACH) external account." }, "USExternalAccountDetails-Output": { "properties": { "bankName": { "type": "string", "title": "Bankname" }, "bankAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bankaddress" }, "currency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Currency" }, "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] }, "paymentReference": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paymentreference" }, "accountType": { "type": "string", "enum": [ "ach", "fedwire" ], "title": "Accounttype", "default": "ach" }, "us": { "$ref": "#/components/schemas/USAccountDetails" }, "beneficiaryName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Beneficiaryname", "description": "Frontend-only alias derived from account holder fields.", "readOnly": true } }, "type": "object", "required": [ "bankName", "accountHolderType", "us", "beneficiaryName" ], "title": "USExternalAccountDetails", "description": "US domestic (ACH) external account." }, "UaeAccountInput": { "properties": { "accountHolderType": { "$ref": "#/components/schemas/AlignAccountHolderType" }, "accountHolderFirstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderfirstname" }, "accountHolderLastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderlastname" }, "accountHolderBusinessName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accountholderbusinessname" }, "accountType": { "type": "string", "const": "uaefts", "title": "Accounttype", "default": "uaefts" }, "bankName": { "type": "string", "title": "Bankname" }, "currency": { "type": "string", "title": "Currency", "default": "AED" }, "accountHolderAddress": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "ibanNumber": { "type": "string", "title": "Ibannumber" }, "bic": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Bic" }, "relationship": { "anyOf": [ { "$ref": "#/components/schemas/app__schemas__base__ContactRelationship" }, { "type": "null" } ] } }, "type": "object", "required": [ "accountHolderType", "bankName", "ibanNumber" ], "title": "UaeAccountInput", "description": "UAE FTS bank contact input." }, "UnifiedTransactionItem": { "properties": { "onchainTransactionId": { "type": "string", "title": "Onchaintransactionid" }, "txHash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Txhash" }, "type": { "type": "string", "title": "Type" }, "name": { "type": "string", "title": "Name" }, "time": { "type": "string", "format": "date-time", "title": "Time" }, "status": { "$ref": "#/components/schemas/TransactionStatus" }, "isIncome": { "type": "boolean", "title": "Isincome" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tag" }, "from": { "$ref": "#/components/schemas/TransactionAmountDetail" }, "to": { "anyOf": [ { "$ref": "#/components/schemas/TransactionAmountDetail" }, { "type": "null" } ] }, "fee": { "anyOf": [ { "$ref": "#/components/schemas/TransactionAmountDetail" }, { "type": "null" } ] }, "destinationChainId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Destinationchainid" }, "usdBalanceAfter": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Usdbalanceafter" }, "card": { "anyOf": [ { "$ref": "#/components/schemas/TransactionCardDetail" }, { "type": "null" } ] }, "userFrom": { "anyOf": [ { "$ref": "#/components/schemas/UserPreview" }, { "type": "null" } ] }, "userTo": { "anyOf": [ { "$ref": "#/components/schemas/UserPreview" }, { "type": "null" } ] }, "walletFrom": { "anyOf": [ { "$ref": "#/components/schemas/TransactionWalletDetail" }, { "type": "null" } ] }, "walletTo": { "anyOf": [ { "$ref": "#/components/schemas/TransactionWalletDetail" }, { "type": "null" } ] }, "ibanFrom": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "type": "null" } ], "title": "Ibanfrom" }, "ibanTo": { "anyOf": [ { "$ref": "#/components/schemas/IBANAccountDetails-Output" }, { "$ref": "#/components/schemas/USExternalAccountDetails-Output" }, { "$ref": "#/components/schemas/SwiftAccountDetails-Output" }, { "type": "null" } ], "title": "Ibanto" }, "approved": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Approved" }, "hasAttachments": { "type": "boolean", "title": "Hasattachments", "default": false } }, "type": "object", "required": [ "onchainTransactionId", "type", "name", "time", "status", "isIncome", "from" ], "title": "UnifiedTransactionItem", "description": "Unified transaction item for the transaction list.\n\nLegacy directional fields are still included for compatibility." }, "UnifiedTransactionListResponse": { "properties": { "transactions": { "items": { "$ref": "#/components/schemas/UnifiedTransactionItem" }, "type": "array", "title": "Transactions" }, "summary": { "anyOf": [ { "$ref": "#/components/schemas/TransactionSummary" }, { "type": "null" } ] } }, "type": "object", "required": [ "transactions" ], "title": "UnifiedTransactionListResponse", "description": "Unified transaction list response." }, "UniversalQuoteResponse": { "properties": { "quoteId": { "type": "string", "title": "Quoteid" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Provider" }, "paymentChannel": { "type": "string", "title": "Paymentchannel" }, "fromAmount": { "type": "number", "title": "Fromamount" }, "fromCurrency": { "type": "string", "title": "Fromcurrency" }, "toAmount": { "type": "number", "title": "Toamount" }, "depositMemo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Depositmemo" }, "toCurrency": { "type": "string", "title": "Tocurrency" }, "feeAmount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Feeamount" }, "feeCurrency": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Feecurrency" }, "rate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rate" }, "expiresAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Expiresat" }, "maskedIban": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Maskediban" }, "depositAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Depositaddress" }, "recipientAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Recipientaddress" }, "originChainId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Originchainid" }, "destinationChainId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Destinationchainid" }, "transactionRequest": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Transactionrequest" } }, "type": "object", "required": [ "quoteId", "paymentChannel", "fromAmount", "fromCurrency", "toAmount", "toCurrency" ], "title": "UniversalQuoteResponse", "description": "Universal quote response." }, "UpdateContractPaymentMethodsRequest": { "properties": { "paymentMethods": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Paymentmethods" } }, "type": "object", "title": "UpdateContractPaymentMethodsRequest", "description": "Payment methods selected by the contractor for this contract." }, "UpdateContractRequest": { "properties": { "label": { "anyOf": [ { "type": "string", "maxLength": 200 }, { "type": "null" } ], "title": "Label" }, "period": { "anyOf": [ { "$ref": "#/components/schemas/ContractPeriod" }, { "type": "null" } ] }, "activationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Activationat" }, "expirationAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Expirationat" }, "fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Fields" }, "priorityMethods": { "anyOf": [ { "items": { "$ref": "#/components/schemas/TransactionType" }, "type": "array" }, { "type": "null" } ], "title": "Prioritymethods" } }, "type": "object", "title": "UpdateContractRequest", "description": "Request to update creator-owned contract terms and schedule." }, "UpdateInvoiceRequest": { "properties": { "onchainTransactionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Onchaintransactionid" }, "status": { "$ref": "#/components/schemas/InvoiceStatus" } }, "type": "object", "required": [ "status" ], "title": "UpdateInvoiceRequest", "description": "Request to update an invoice." }, "UploadedDocumentListResponse": { "properties": { "documents": { "items": { "$ref": "#/components/schemas/DocumentDraftInfo" }, "type": "array", "title": "Documents" } }, "type": "object", "required": [ "documents" ], "title": "UploadedDocumentListResponse", "description": "Response for user-uploaded documents list." }, "UserAddress": { "properties": { "streetAddress": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Streetaddress" }, "addressLine2": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Addressline2" }, "city": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "City" }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" }, "country": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "zip": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Zip" } }, "type": "object", "title": "UserAddress", "description": "Address schema for user.\n\nCanonical field names: street_address, address_line_2, city, state, country, zip.\nAccepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code)\nfor backward compatibility with existing JSONB data." }, "UserCreateRequest": { "properties": { "firstName": { "anyOf": [ { "type": "string", "maxLength": 100, "minLength": 1 }, { "type": "null" } ], "title": "Firstname" }, "lastName": { "anyOf": [ { "type": "string", "maxLength": 100, "minLength": 1 }, { "type": "null" } ], "title": "Lastname" }, "country": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "jurisdiction": { "anyOf": [ { "$ref": "#/components/schemas/CountryCode" }, { "type": "null" } ] }, "birthDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Birthdate", "description": "Birth date in ISO format" }, "isBusiness": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isbusiness" }, "entityName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Entityname" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Phone" }, "website": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Website" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "avatarUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Avatarurl" }, "contactInfo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contactinfo" }, "inviteCode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invitecode", "description": "Invite code from referrer" } }, "type": "object", "title": "UserCreateRequest", "description": "Request schema for creating a user." }, "UserPreview": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "email": { "type": "string", "title": "Email" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "avatarUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Avatarurl" }, "address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address" } }, "type": "object", "required": [ "id", "email" ], "title": "UserPreview", "description": "Lightweight user preview (for transaction participants, etc.)." }, "UserResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "email": { "type": "string", "title": "Email" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Phone" }, "avatarUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Avatarurl" }, "contactInfo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Contactinfo" }, "firstName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Firstname" }, "middleName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Middlename" }, "lastName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lastname" }, "entityName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Entityname" }, "birthDate": { "anyOf": [ { "type": "string", "format": "date" }, { "type": "null" } ], "title": "Birthdate" }, "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Country" }, "jurisdiction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Jurisdiction" }, "address": { "anyOf": [ { "$ref": "#/components/schemas/UserAddress" }, { "type": "null" } ] }, "fiatRails": { "items": { "$ref": "#/components/schemas/FiatRailResponse" }, "type": "array", "title": "Fiatrails", "default": [] }, "isBusiness": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isbusiness" }, "plan": { "type": "string", "title": "Plan", "default": "free" }, "referrer": { "anyOf": [ { "$ref": "#/components/schemas/ReferrerInfo" }, { "type": "null" } ] }, "createdAt": { "type": "string", "format": "date-time", "title": "Createdat" }, "updatedAt": { "type": "string", "format": "date-time", "title": "Updatedat" }, "pushNotificationAllowed": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Pushnotificationallowed" }, "myIp": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Myip" }, "bankRequested": { "$ref": "#/components/schemas/BankRequestedSettings-Output" } }, "type": "object", "required": [ "id", "email", "phone", "avatarUrl", "createdAt", "updatedAt" ], "title": "UserResponse", "description": "Schema for user response." }, "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" }, "WalletType": { "type": "string", "enum": [ "omni", "base-main", "swipelux", "mcp", "base-aa-wallet", "wirex" ], "title": "WalletType" }, "app__schemas__base__ContactRelationship": { "type": "string", "enum": [ "charity", "commercial_investment", "corporate_card", "credit_card", "dividend", "family", "financial_services", "good_sold", "goods_bought", "government", "insurance", "intergroup_transfer", "intra_group_dividends", "information_technology", "leasing", "loan_charges", "merchant_settlement", "mobile_wallet", "none", "non_resident_transfer_between_accounts", "pension", "personal_expenses", "prepaid_cards", "professional", "rental", "resident_transfer_between_accounts", "salaries", "telecommunications", "travel", "utility_bill" ], "title": "ContactRelationship", "description": "Unified contact relationship / transfer purpose.\n\nValues match Align AlignTransferPurpose (the more granular set).\nMapped to Swipelux AccountHolderRelationship via ``swipelux_relationship``." }, "app__schemas__routers__user__contact__ContactRelationship": { "type": "string", "enum": [ "self", "external" ], "title": "ContactRelationship", "description": "Relationship between the current user and the contact." } }, "securitySchemes": { "HTTPBearer": { "type": "http", "scheme": "bearer", "x-default": "Bearer " }, "ApiKeyAuth": { "type": "apiKey", "in": "header", "name": "x-api-key", "description": "Alternative HEVN API key header. The CLI defaults to Authorization Bearer unless configured with HEVN_API_KEY_HEADER=X-Api-Key." } } }, "servers": [ { "url": "https://api.hevn.finance", "description": "Production" } ] }