{"openapi":"3.1.0","info":{"title":"Organization API","description":"Interact with Organizations","termsOfService":"","contact":{"name":"API Owner","email":"api@cfxlabs.com"},"license":{"name":"","url":""},"version":"@VERSION@","summary":"CFX Organization API"},"components":{"securitySchemes":{"ApiKeyAuth":{"name":"x-api-key","type":"apiKey","in":"header"},"ApiSecretAuth":{"name":"x-api-secret","type":"apiKey","in":"header"}},"schemas":{}},"paths":{"/v1/organization/{organizationId}/instrument":{"post":{"summary":"Create Payment Instrument","tags":["Payment Instruments"],"description":"Create a payment instrument that will be associated with a CFX organization.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","oneOf":[{"type":"object","required":["type","chain","address"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["WALLET"]},"chain":{"type":"string","description":"Canonical chain key from the chain registry (e.g. \"solana\", \"ethereum\")."},"address":{"type":"string","description":"Blockchain address or account."}},"title":"WALLET"},{"type":"object","required":["type","accountName","routingNumber","accountNumber"],"properties":{"accountHolderName":{"type":"string","description":"The Name Of the Account Holder (required for individuals)","examples":["Jane Doe","Acme Inc"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"type":{"type":"string","description":"Type of payment instrument.","enum":["US_ACH"]},"accountName":{"type":"string","description":"Bank account name","examples":["My Bank Account 123"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountType":{"anyOf":[{"type":"string","enum":["CHECKING"]},{"type":"string","enum":["SAVING"]}],"description":"The Account Type, defaults to 'CHECKING'"}},"title":"US_ACH"},{"type":"object","required":["type","routingNumber","accountNumber"],"properties":{"accountHolderName":{"type":"string","description":"The Name Of the Account Holder (required for individuals)","examples":["Jane Doe","Acme Inc"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"type":{"type":"string","description":"Type of payment instrument.","enum":["US_INSTANT"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]}},"title":"US_INSTANT"},{"type":"object","required":["type","accountNumber","routingNumber","beneficiary","financialInstitution"],"properties":{"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"type":{"type":"string","description":"Type of payment instrument.","enum":["US_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"ABA routing number"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","state","postalCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postalCode":{"type":"string"}}}}}},"title":"US_WIRE"},{"type":"object","required":["type","beneficiary"],"properties":{"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"type":{"type":"string","description":"Type of payment instrument.","enum":["SWIFT_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"BIC/SWIFT code"},"intermediaryRoutingNumber":{"type":"string","description":"Intermediary bank BIC/SWIFT code"},"localAccountNumber":{"type":"string","description":"Local Account Number at the beneficiary's bank"},"localBankCode":{"type":"string","description":"Local Bank Code Ex. BSB, Institution-Transit, IFSN"},"iban":{"type":"string","description":"IBAN"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]}},"title":"SWIFT_WIRE"}],"discriminator":{"propertyName":"type"}}}}},"parameters":[{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","address","chain"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["WALLET"]},"address":{"type":"string","description":"Blockchain address or account."},"chain":{"type":"string","description":"Canonical chain key from the chain registry (e.g. \"solana\", \"ethereum\")."},"staticMemo":{"type":"string","description":"Memo line for making deposits (solana only)"}},"description":"Wallet payment instrument","title":"WALLET"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","originatorName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["EXTERNAL_US_ACH"]},"originatorName":{"type":"string","description":"Name of the ACH originator","examples":["Acme Corp"]}},"description":"External US ACH debit payment instrument (originator name only)","title":"External US ACH"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","beneficiary","financialInstitution"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["SWIFT_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"BIC/SWIFT code"},"intermediaryRoutingNumber":{"type":"string","description":"Intermediary bank BIC/SWIFT code"},"localAccountNumber":{"type":"string","description":"Local Account Number at the beneficiary's bank"},"localBankCode":{"type":"string","description":"Local Bank Code Ex. BSB, Institution-Transit, IFSN"},"iban":{"type":"string","description":"IBAN"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","code","branch","address"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"branch":{"type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"}}},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},"intermediaryFinancialInstitution":{"type":"object","required":["name","code","branch","address"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"branch":{"type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"}}},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}}},"description":"SWIFT Wire payment instrument","title":"SWIFT Wire"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","routingNumber","accountNumber","accountHolderName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_INSTANT"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountHolderName":{"type":"string","description":"The Name Of the Account Holder","examples":["Jane Doe","Acme Inc"]}},"description":"US Instant (FedNow or RTP) Payment Instrument","title":"US_INSTANT"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","accountName","routingNumber","accountNumber","accountHolderName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_ACH"]},"accountName":{"type":"string","description":"Bank account name","examples":["My Bank Account 123"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountHolderName":{"type":"string","description":"The Name Of the Account Holder","examples":["Jane Doe","Acme Inc"]},"accountType":{"anyOf":[{"type":"string","enum":["CHECKING"]},{"type":"string","enum":["SAVING"]}],"description":"The Account Type, defaults to 'CHECKING'"}},"description":"US Automated Clearing House payment instrument","title":"US ACH"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","accountNumber","routingNumber","beneficiary","financialInstitution"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"ABA routing number"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","state","postalCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postalCode":{"type":"string"}}}}}},"description":"US Wire payment instrument","title":"US Wire"}]}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ENTITY"]},"message":{"type":"string"}},"title":"INVALID_ENTITY","description":"The organization is not valid or active."},{"allOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["LIMIT_EXCEEDED"]},"message":{"type":"string"}},"title":"LIMIT_EXCEEDED","description":"No more instruments of this type can be created"},{"type":"object","required":["limit","existing"],"properties":{"limit":{"type":"number"},"existing":{"type":"number"}}}]},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_CHAIN"]},"message":{"type":"string"}},"title":"INVALID_CHAIN","description":"The wallet chain is not supported."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"Invalid email"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"Invalid phone. Must be E.146 format."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"A similar instrument already exists"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_BANK"]},"message":{"type":"string"}},"title":"INVALID_BANK","description":"Provided Bank Routing Number Doesn't support RTP / FedNow Payments"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ADDRESS_COUNTRY"]},"message":{"type":"string"}},"title":"INVALID_ADDRESS_COUNTRY","description":"Invalid country for the beneficiary address"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ADDRESS_REGION"]},"message":{"type":"string"}},"title":"INVALID_ADDRESS_REGION","description":"Invalid region for the beneficiary address"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ADDRESS_ZIP_CODE"]},"message":{"type":"string"}},"title":"INVALID_ADDRESS_ZIP_CODE","description":"Invalid zip code for the beneficiary address"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IBAN_ACCOUNT_NUMBER_ROUTING_NUMBER_MISSING"]},"message":{"type":"string"}},"title":"IBAN_ACCOUNT_NUMBER_ROUTING_NUMBER_MISSING","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["LOCAL_BANK_CODE_MISSING"]},"message":{"type":"string"}},"title":"LOCAL_BANK_CODE_MISSING","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["PROHIBITED_BENEFICIARY_COUNTRY"]},"message":{"type":"string"}},"title":"PROHIBITED_BENEFICIARY_COUNTRY","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["PROHIBITED_BANK_COUNTRY"]},"message":{"type":"string"}},"title":"PROHIBITED_BANK_COUNTRY","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["PROHIBITED_INTERMEDIARY_BANK_COUNTRY"]},"message":{"type":"string"}},"title":"PROHIBITED_INTERMEDIARY_BANK_COUNTRY","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_IBAN"]},"message":{"type":"string"}},"title":"INVALID_IBAN","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_BIC"]},"message":{"type":"string"}},"title":"INVALID_BIC","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_IBAN_ROUTING_NUMBER"]},"message":{"type":"string"}},"title":"INVALID_IBAN_ROUTING_NUMBER","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_BSB_CODE"]},"message":{"type":"string"}},"title":"INVALID_BSB_CODE","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_IFSC_CODE"]},"message":{"type":"string"}},"title":"INVALID_IFSC_CODE","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_INSTITUTION_TRANSIT_CODE"]},"message":{"type":"string"}},"title":"INVALID_INSTITUTION_TRANSIT_CODE","description":"A service error has occurred"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_INTERMEDIARY_ROUTING_NUMBER"]},"message":{"type":"string"}},"title":"INVALID_INTERMEDIARY_ROUTING_NUMBER","description":"A service error has occurred"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"Search Payment Instruments","tags":["Payment Instruments"],"description":"Retrieve the list of payment instruments associated with the CFX organization.","parameters":[{"schema":{"anyOf":[{"type":"string","description":"Type of payment instrument.","enum":["WALLET"]},{"type":"string","title":"MX_CLABE","description":"Type of payment instrument.","enum":["MX_CLABE"]},{"type":"string","description":"Type of payment instrument.","enum":["EXTERNAL_US_ACH"]},{"type":"string","description":"Type of payment instrument.","enum":["US_ACH"]},{"type":"string","title":"AF_BANK","description":"Type of payment instrument.","enum":["AF_BANK"]},{"type":"string","title":"AF_MOMO","description":"Type of payment instrument.","enum":["AF_MOMO"]},{"type":"string","description":"Type of payment instrument.","enum":["SWIFT_WIRE"]},{"type":"string","description":"Type of payment instrument.","enum":["US_WIRE"]},{"type":"string","description":"Type of payment instrument.","enum":["US_INSTANT"]}]},"in":"query","name":"type","required":false},{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["results"],"properties":{"results":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","address","chain"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["WALLET"]},"address":{"type":"string","description":"Blockchain address or account."},"chain":{"type":"string","description":"Canonical chain key from the chain registry (e.g. \"solana\", \"ethereum\")."},"staticMemo":{"type":"string","description":"Memo line for making deposits (solana only)"}},"description":"Wallet payment instrument","title":"WALLET"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","originatorName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["EXTERNAL_US_ACH"]},"originatorName":{"type":"string","description":"Name of the ACH originator","examples":["Acme Corp"]}},"description":"External US ACH debit payment instrument (originator name only)","title":"External US ACH"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","beneficiary","financialInstitution"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["SWIFT_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"BIC/SWIFT code"},"intermediaryRoutingNumber":{"type":"string","description":"Intermediary bank BIC/SWIFT code"},"localAccountNumber":{"type":"string","description":"Local Account Number at the beneficiary's bank"},"localBankCode":{"type":"string","description":"Local Bank Code Ex. BSB, Institution-Transit, IFSN"},"iban":{"type":"string","description":"IBAN"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","code","branch","address"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"branch":{"type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"}}},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},"intermediaryFinancialInstitution":{"type":"object","required":["name","code","branch","address"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"branch":{"type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"}}},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}}},"description":"SWIFT Wire payment instrument","title":"SWIFT Wire"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","routingNumber","accountNumber","accountHolderName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_INSTANT"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountHolderName":{"type":"string","description":"The Name Of the Account Holder","examples":["Jane Doe","Acme Inc"]}},"description":"US Instant (FedNow or RTP) Payment Instrument","title":"US_INSTANT"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","accountName","routingNumber","accountNumber","accountHolderName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_ACH"]},"accountName":{"type":"string","description":"Bank account name","examples":["My Bank Account 123"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountHolderName":{"type":"string","description":"The Name Of the Account Holder","examples":["Jane Doe","Acme Inc"]},"accountType":{"anyOf":[{"type":"string","enum":["CHECKING"]},{"type":"string","enum":["SAVING"]}],"description":"The Account Type, defaults to 'CHECKING'"}},"description":"US Automated Clearing House payment instrument","title":"US ACH"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","accountNumber","routingNumber","beneficiary","financialInstitution"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"ABA routing number"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","state","postalCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postalCode":{"type":"string"}}}}}},"description":"US Wire payment instrument","title":"US Wire"}]}]}}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/instrument/{instrumentId}":{"get":{"summary":"Get Payment Instrument","tags":["Payment Instruments"],"description":"Retrieve details for a specific payment instrument.","parameters":[{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"pi_JITym5MfDBJ4jOqiji2hP","in":"path","name":"instrumentId","required":true,"description":"The unique instrument ID provided when creating an instrument"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","address","chain"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["WALLET"]},"address":{"type":"string","description":"Blockchain address or account."},"chain":{"type":"string","description":"Canonical chain key from the chain registry (e.g. \"solana\", \"ethereum\")."},"staticMemo":{"type":"string","description":"Memo line for making deposits (solana only)"}},"description":"Wallet payment instrument","title":"WALLET"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","originatorName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["EXTERNAL_US_ACH"]},"originatorName":{"type":"string","description":"Name of the ACH originator","examples":["Acme Corp"]}},"description":"External US ACH debit payment instrument (originator name only)","title":"External US ACH"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","beneficiary","financialInstitution"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["SWIFT_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"BIC/SWIFT code"},"intermediaryRoutingNumber":{"type":"string","description":"Intermediary bank BIC/SWIFT code"},"localAccountNumber":{"type":"string","description":"Local Account Number at the beneficiary's bank"},"localBankCode":{"type":"string","description":"Local Bank Code Ex. BSB, Institution-Transit, IFSN"},"iban":{"type":"string","description":"IBAN"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","code","branch","address"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"branch":{"type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"}}},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},"intermediaryFinancialInstitution":{"type":"object","required":["name","code","branch","address"],"properties":{"name":{"type":"string"},"code":{"type":"string"},"branch":{"type":"object","required":["name","code"],"properties":{"name":{"type":"string"},"code":{"type":"string"}}},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}}},"description":"SWIFT Wire payment instrument","title":"SWIFT Wire"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","routingNumber","accountNumber","accountHolderName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_INSTANT"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountHolderName":{"type":"string","description":"The Name Of the Account Holder","examples":["Jane Doe","Acme Inc"]}},"description":"US Instant (FedNow or RTP) Payment Instrument","title":"US_INSTANT"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","accountName","routingNumber","accountNumber","accountHolderName"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_ACH"]},"accountName":{"type":"string","description":"Bank account name","examples":["My Bank Account 123"]},"routingNumber":{"type":"string","description":"Routing number for the account","examples":["123456789"]},"accountNumber":{"type":"string","description":"Bank account number","examples":["123456789"]},"accountHolderName":{"type":"string","description":"The Name Of the Account Holder","examples":["Jane Doe","Acme Inc"]},"accountType":{"anyOf":[{"type":"string","enum":["CHECKING"]},{"type":"string","enum":["SAVING"]}],"description":"The Account Type, defaults to 'CHECKING'"}},"description":"US Automated Clearing House payment instrument","title":"US ACH"}]},{"allOf":[{"type":"object","required":["id","status","providerId"],"properties":{"id":{"type":"string","description":"Unique identifier for the payment instrument","examples":["pi_D29OrS7YFGuCUG3pbgSoU"]},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","BLOCKED","DELETED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this payment instrument"},"providerId":{"type":"string","description":"Unique ID provider by a CFX Network partner"}}},{"type":"object","required":["type","accountNumber","routingNumber","beneficiary","financialInstitution"],"properties":{"type":{"type":"string","description":"Type of payment instrument.","enum":["US_WIRE"]},"accountNumber":{"type":"string","description":"Account number"},"routingNumber":{"type":"string","description":"ABA routing number"},"beneficiary":{"allOf":[{"type":"object","required":["address"],"properties":{"email":{"type":"string"},"phone":{"type":"string"},"reference":{"type":"string"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}},{"type":"object","oneOf":[{"type":"object","required":["type","name"],"properties":{"type":{"type":"string","enum":["BUSINESS"]},"name":{"type":"string"}},"title":"BUSINESS"},{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["PERSON"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"title":"PERSON"}],"discriminator":{"propertyName":"type"}}]},"financialInstitution":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","state","postalCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postalCode":{"type":"string"}}}}}},"description":"US Wire payment instrument","title":"US Wire"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"delete":{"summary":"Delete Payment Instrument","tags":["Payment Instruments"],"description":"Delete a payment instrument.","parameters":[{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"pi_JITym5MfDBJ4jOqiji2hP","in":"path","name":"instrumentId","required":true,"description":"The unique instrument ID provided when creating an instrument"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Status message","example":"OK"}}}}}},"400":{"description":"The service cannot understand the request","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization":{"post":{"summary":"Register Organization","tags":["Organization"],"description":"Register an Organization within the CFX platform. Organizations must provide an Employer Identification Number (EIN).","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["name","countryOfIncorporation","taxId","legalEntityType"],"properties":{"name":{"type":"string","description":"The Name Of the Organization provided upon registration.","examples":["CFX Labs Inc."]},"referenceId":{"type":"string","description":"Reference identifier within the B2B customer system provided when registering the organization.","examples":["+15555551234"]},"description":{"type":"string","description":"Optional description of the organization provided upon registration.","examples":["Org X is a financial services company."]},"countryOfIncorporation":{"type":"string","description":"The two letter ISO code for the country where the organization is incorporated.","examples":["US"]},"taxId":{"type":"string","description":"The Tax ID of the organization provided upon registration. For The US, this is the EIN.","examples":["12-3456789"]},"legalEntityType":{"type":"string","description":"The Entity Type of the organization provided upon registration.","examples":["LLC","C-Corp","S-Corp"]},"email":{"type":"string"},"phone":{"type":"string","description":"E164-formatted phone number","examples":["+13334445555"]},"websiteUrl":{"type":"string","examples":["https://example.com"]}}},{"type":"object","required":["address"],"properties":{"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, such as US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}}]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","name","status","countryOfIncorporation","taxId","legalEntityType"],"properties":{"id":{"type":"string","description":"The unique Organization ID provided upon Organization registration","example":"org_VfsdSMtd8UdgxCgTnz0tm"},"name":{"type":"string","description":"The Name Of the Organization provided upon registration.","example":"CFX Labs Inc."},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","DISABLED"]},"referenceId":{"type":"string","description":"Reference identifier within the B2B customer system provided when registering the organization.","example":"+15555551234"},"description":{"type":"string","description":"Optional description of the organization provided upon registration.","example":"Org X is a financial services company."},"countryOfIncorporation":{"type":"string","description":"The two letter ISO code for the country where the organization is incorporated.","example":"US"},"taxId":{"type":"string","description":"The Tax ID of the organization provided upon registration. For The US, this is the EIN.","example":"12-3456789"},"legalEntityType":{"type":"string","description":"The Entity Type of the organization provided upon registration.","example":"LLC"},"email":{"type":"string"},"phone":{"type":"string","description":"E164-formatted phone number","example":"+13334445555"},"websiteUrl":{"type":"string","example":"https://example.com"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, such as US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}},"createdAt":{"type":"string","description":"Datetime the organization was created.","example":"2023-10-23T06:20:04.366+00:00"},"updatedAt":{"type":"string","description":"Datetime the organization was last updated.","example":"2023-10-23T06:20:04.366+00:00"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"Invalid phone number"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"Invalid email"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_WEBSITE_URL"]},"message":{"type":"string"}},"title":"INVALID_WEBSITE_URL","description":"Invalid website URL. Please provide a valid HTTPS URL."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"Duplicate organization"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["PRODUCT_INACTIVE"]},"message":{"type":"string"}},"title":"PRODUCT_INACTIVE","description":"Organization registration is not permitted"}],"title":"Validation Error"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"Search Organizations","tags":["Organization"],"description":"Search to retrieve organizations associated with the provided customer `referenceId`.","parameters":[{"schema":{"type":"string"},"in":"query","name":"referenceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","name","status","countryOfIncorporation","taxId","legalEntityType"],"properties":{"id":{"type":"string","description":"The unique Organization ID provided upon Organization registration","example":"org_VfsdSMtd8UdgxCgTnz0tm"},"name":{"type":"string","description":"The Name Of the Organization provided upon registration.","example":"CFX Labs Inc."},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","DISABLED"]},"referenceId":{"type":"string","description":"Reference identifier within the B2B customer system provided when registering the organization.","example":"+15555551234"},"description":{"type":"string","description":"Optional description of the organization provided upon registration.","example":"Org X is a financial services company."},"countryOfIncorporation":{"type":"string","description":"The two letter ISO code for the country where the organization is incorporated.","example":"US"},"taxId":{"type":"string","description":"The Tax ID of the organization provided upon registration. For The US, this is the EIN.","example":"12-3456789"},"legalEntityType":{"type":"string","description":"The Entity Type of the organization provided upon registration.","example":"LLC"},"email":{"type":"string"},"phone":{"type":"string","description":"E164-formatted phone number","example":"+13334445555"},"websiteUrl":{"type":"string","example":"https://example.com"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, such as US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}},"createdAt":{"type":"string","description":"Datetime the organization was created.","example":"2023-10-23T06:20:04.366+00:00"},"updatedAt":{"type":"string","description":"Datetime the organization was last updated.","example":"2023-10-23T06:20:04.366+00:00"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}":{"get":{"summary":"Get Organization","tags":["Organization"],"description":"Retrieve an organization by nominating a specific `organizationId`.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon Organization registration"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","name","status","countryOfIncorporation","taxId","legalEntityType"],"properties":{"id":{"type":"string","description":"The unique Organization ID provided upon Organization registration","example":"org_VfsdSMtd8UdgxCgTnz0tm"},"name":{"type":"string","description":"The Name Of the Organization provided upon registration.","example":"CFX Labs Inc."},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","DISABLED"]},"referenceId":{"type":"string","description":"Reference identifier within the B2B customer system provided when registering the organization.","example":"+15555551234"},"description":{"type":"string","description":"Optional description of the organization provided upon registration.","example":"Org X is a financial services company."},"countryOfIncorporation":{"type":"string","description":"The two letter ISO code for the country where the organization is incorporated.","example":"US"},"taxId":{"type":"string","description":"The Tax ID of the organization provided upon registration. For The US, this is the EIN.","example":"12-3456789"},"legalEntityType":{"type":"string","description":"The Entity Type of the organization provided upon registration.","example":"LLC"},"email":{"type":"string"},"phone":{"type":"string","description":"E164-formatted phone number","example":"+13334445555"},"websiteUrl":{"type":"string","example":"https://example.com"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, such as US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}},"createdAt":{"type":"string","description":"Datetime the organization was created.","example":"2023-10-23T06:20:04.366+00:00"},"updatedAt":{"type":"string","description":"Datetime the organization was last updated.","example":"2023-10-23T06:20:04.366+00:00"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"patch":{"summary":"Update Organization","tags":["Organization"],"description":"Update an organization.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"referenceId":{"type":"string","description":"Reference identifier within the B2B customer system provided when registering the organization.","example":"+15555551234"},"description":{"type":"string","description":"Optional description of the organization provided upon registration.","example":"Org X is a financial services company."},"countryOfIncorporation":{"type":"string","description":"The two letter ISO code for the country where the organization is incorporated.","example":"US"},"taxId":{"type":"string","description":"The Tax ID of the organization provided upon registration. For The US, this is the EIN.","example":"12-3456789"},"legalEntityType":{"type":"string","description":"The Entity Type of the organization provided upon registration.","example":"LLC"},"email":{"type":"string"},"phone":{"type":"string","description":"E164-formatted phone number","example":"+13334445555"},"websiteUrl":{"type":"string","example":"https://example.com"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, such as US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}}}}}}},"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon Organization registration"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","name","status","countryOfIncorporation","taxId","legalEntityType"],"properties":{"id":{"type":"string","description":"The unique Organization ID provided upon Organization registration","example":"org_VfsdSMtd8UdgxCgTnz0tm"},"name":{"type":"string","description":"The Name Of the Organization provided upon registration.","example":"CFX Labs Inc."},"status":{"type":"string","enum":["PENDING_VERIFICATION","ACTIVE","DISABLED"]},"referenceId":{"type":"string","description":"Reference identifier within the B2B customer system provided when registering the organization.","example":"+15555551234"},"description":{"type":"string","description":"Optional description of the organization provided upon registration.","example":"Org X is a financial services company."},"countryOfIncorporation":{"type":"string","description":"The two letter ISO code for the country where the organization is incorporated.","example":"US"},"taxId":{"type":"string","description":"The Tax ID of the organization provided upon registration. For The US, this is the EIN.","example":"12-3456789"},"legalEntityType":{"type":"string","description":"The Entity Type of the organization provided upon registration.","example":"LLC"},"email":{"type":"string"},"phone":{"type":"string","description":"E164-formatted phone number","example":"+13334445555"},"websiteUrl":{"type":"string","example":"https://example.com"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, such as US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string"}}},"createdAt":{"type":"string","description":"Datetime the organization was created.","example":"2023-10-23T06:20:04.366+00:00"},"updatedAt":{"type":"string","description":"Datetime the organization was last updated.","example":"2023-10-23T06:20:04.366+00:00"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"Invalid phone number"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"Invalid email"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_WEBSITE_URL"]},"message":{"type":"string"}},"title":"INVALID_WEBSITE_URL","description":"Invalid website URL. Please provide a valid HTTPS URL."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"Duplicate organization"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["PRODUCT_INACTIVE"]},"message":{"type":"string"}},"title":"PRODUCT_INACTIVE","description":"Organization registration is not permitted"}],"title":"Validation Error"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"delete":{"summary":"Delete Organization","tags":["Organization"],"description":"Delete an organization.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon Organization registration"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Status message","example":"OK"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{id}/verification-url":{"post":{"summary":"Get the verification URL for an organization","tags":["Organization"],"description":"This URL can be sent to an organization to fill out.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"The URL to redirect to, once the verification is completed"}}}}}},"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"id","required":true,"description":"The unique Organization ID provided upon Organization registration"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The verification URL"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_VERIFIED"]},"message":{"type":"string"}},"title":"NOT_VERIFIED","description":"This organizations's verification is not managed by this platform"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/ledger-accounts/{accountId}/deposit-memos":{"post":{"summary":"Create a deposit memo for an organization's ledger account","tags":["Deposit Memos"],"description":"Include this memo in your deposit and the funds will be sent to the given ledger account.\n\nOnly one recurring memo can be created for the same method and currency type.\n\n**Important:** When using the instructions, ensure all fields match the instruction values exactly so the funds are routed correctly. Do no add any other information but what is provided into memo/reference/message field when making a deposit.","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["sourceCurrency","method"],"properties":{"name":{"type":"string","description":"Human-readable name for the memo"},"sourceCurrency":{"anyOf":[{"type":"string","description":"US Dollar","enum":["USD"]},{"type":"string","description":"Australian Dollar","enum":["AUD"]},{"type":"string","description":"Hong Kong Dollar","enum":["HKD"]},{"type":"string","description":"Japanese Yen","enum":["JPY"]},{"type":"string","description":"Mexico Peso","enum":["MXN"]},{"type":"string","description":"New Zealand Dollar","enum":["NZD"]},{"type":"string","description":"Singapore Dollar","enum":["SGD"]},{"type":"string","description":"Swedish Krona","enum":["SEK"]},{"type":"string","description":"Swiss Franc","enum":["CHF"]},{"type":"string","description":"Canadian Dollar","enum":["CAD"]},{"type":"string","description":"British Pound","enum":["GBP"]},{"type":"string","description":"Czech Koruna","enum":["CZK"]},{"type":"string","description":"Danish Krone","enum":["DKK"]},{"type":"string","description":"Euro","enum":["EUR"]}],"description":"ISO currency code for the funds that will be deposited. Non-USD currencies only apply to SWIFT wire."},"method":{"anyOf":[{"type":"string","enum":["US_WIRE"]},{"type":"string","enum":["SWIFT_WIRE"]}]}}},{"type":"object","properties":{"bankPartner":{"type":"string","description":"Bank partner slug; must be one of the customer's enabled bank partners.","examples":["example-bank"]},"frequency":{"type":"string","enum":["ONE_TIME","RECURRING"],"description":"Whether the memo is one-use only (consumed and unusable after first use) or if it can be used in multiple deposits","default":"RECURRING"}}}]}}}},"parameters":[{"schema":{"type":"string"},"example":"redwal_xxxxxxxx","in":"path","name":"accountId","required":true,"description":"The unique identifier for the account"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["memo","status","sourceCurrency","frequency","createdAt","updatedAt"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"status":{"type":"string","enum":["ACTIVE","DISABLED","CONSUMED"],"description":"Whether the memo is active or disabled. One-time memos can also be `CONSUMED` after use."},"name":{"type":"string","description":"Human-readable name for the memo"},"sourceCurrency":{"anyOf":[{"type":"string","description":"US Dollar","enum":["USD"]},{"type":"string","description":"Australian Dollar","enum":["AUD"]},{"type":"string","description":"Hong Kong Dollar","enum":["HKD"]},{"type":"string","description":"Japanese Yen","enum":["JPY"]},{"type":"string","description":"Mexico Peso","enum":["MXN"]},{"type":"string","description":"New Zealand Dollar","enum":["NZD"]},{"type":"string","description":"Singapore Dollar","enum":["SGD"]},{"type":"string","description":"Swedish Krona","enum":["SEK"]},{"type":"string","description":"Swiss Franc","enum":["CHF"]},{"type":"string","description":"Canadian Dollar","enum":["CAD"]},{"type":"string","description":"British Pound","enum":["GBP"]},{"type":"string","description":"Czech Koruna","enum":["CZK"]},{"type":"string","description":"Danish Krone","enum":["DKK"]},{"type":"string","description":"Euro","enum":["EUR"]}],"description":"ISO currency code for the funds that will be deposited. Non-USD currencies only apply to SWIFT wire."},"frequency":{"type":"string","enum":["ONE_TIME","RECURRING"],"description":"Whether the memo is one-use only (consumed and unusable after first use) or if it can be used in multiple deposits"},"consumedAt":{"type":"string","format":"date-time","description":"The timestamp of when this one-time memo was consumed"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this memo was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this memo was last updated"}}},{"anyOf":[{"type":"object","required":["method","instructions"],"properties":{"method":{"type":"string","enum":["US_WIRE"]},"instructions":{"type":"object","required":["memo","routingNumber","accountNumber","bank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"routingNumber":{"type":"string"},"accountNumber":{"type":"string"},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}}}},"title":"US Wire"},{"type":"object","required":["method","instructions"],"properties":{"method":{"type":"string","enum":["SWIFT_WIRE"]},"instructions":{"anyOf":[{"type":"object","required":["memo","swiftCode","accountNumber","swiftField70","bank","intermediaryBank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"swiftCode":{"type":"string"},"accountNumber":{"type":"string"},"swiftField70":{"type":"array","items":{"type":"string"}},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"intermediaryBank":{"type":"object","required":["name","swiftCode","address"],"properties":{"name":{"type":"string"},"swiftCode":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","accountNumber","address"],"properties":{"name":{"type":"string"},"accountNumber":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}},"title":"International SWIFT instructions"},{"allOf":[{"type":"object","required":["memo","swiftCode","accountNumber","swiftField70","bank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"swiftCode":{"type":"string"},"accountNumber":{"type":"string"},"swiftField70":{"type":"array","items":{"type":"string"}},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","accountNumber","address"],"properties":{"name":{"type":"string"},"accountNumber":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}}},{"type":"object","required":["routingNumber"],"properties":{"routingNumber":{"type":"string"}}}],"description":"USD SWIFT instructions"}]}},"title":"SWIFT Wire"}]}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_METHOD"]},"message":{"type":"string"}},"title":"INVALID_METHOD","description":"This method is not available for the provided configuration."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ORGANIZATION"]},"message":{"type":"string"}},"title":"INVALID_ORGANIZATION","description":"The organization is not allowed to create a deposit memo"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"The provide method and currency combination already has a memo."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_CURRENCY"]},"message":{"type":"string"}},"title":"INVALID_CURRENCY","description":"This currency is not available for the provided configuration."}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"Search for deposit memos for a ledger account of an organization","tags":["Deposit Memos"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"methods","required":false,"description":"Comma-separated list of deposit methods. Possible values: `SWIFT_WIRE`, `US_WIRE`."},{"schema":{"type":"string"},"in":"query","name":"statuses","required":false,"description":"Comma-separated list of deposit methods. Possible values: `ACTIVE`, `CONSUMED`, `DISABLED`."},{"schema":{"type":"string"},"in":"query","name":"sourceCurrencies","required":false,"description":"Comma-separated list of ISO currency codes"},{"schema":{"type":"string"},"in":"query","name":"frequencies","required":false,"description":"Comma-separated list of frequency types. Possible values: `ONE_TIME`, `RECURRING`."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"createdBefore","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"createdAfter","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"updatedBefore","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"updatedAfter","required":false},{"schema":{"type":"string"},"in":"query","name":"orderBy","required":false,"description":"Comma-separated list of fields and directions to order the results by.\n\nFormat: `<field name>:<direction>,...`\n\n* `<field name>`: `createdAt`, `updatedAt`\n* `<direction>`: `ASC`, `DESC`"},{"schema":{"type":"integer","default":1},"in":"query","name":"page","required":false,"description":"Result page number to return, starting from 1"},{"schema":{"type":"integer","default":10,"maximum":100},"in":"query","name":"pageSize","required":false,"description":"Items per page to return"},{"schema":{"type":"string"},"example":"redwal_xxxxxxxx","in":"path","name":"accountId","required":true,"description":"The unique identifier for the account"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["hasNext","items"],"properties":{"hasNext":{"type":"boolean","description":"Whether there are more pages for this search result"},"items":{"type":"array","items":{"allOf":[{"type":"object","required":["memo","status","sourceCurrency","frequency","createdAt","updatedAt"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"status":{"type":"string","enum":["ACTIVE","DISABLED","CONSUMED"],"description":"Whether the memo is active or disabled. One-time memos can also be `CONSUMED` after use."},"name":{"type":"string","description":"Human-readable name for the memo"},"sourceCurrency":{"anyOf":[{"type":"string","description":"US Dollar","enum":["USD"]},{"type":"string","description":"Australian Dollar","enum":["AUD"]},{"type":"string","description":"Hong Kong Dollar","enum":["HKD"]},{"type":"string","description":"Japanese Yen","enum":["JPY"]},{"type":"string","description":"Mexico Peso","enum":["MXN"]},{"type":"string","description":"New Zealand Dollar","enum":["NZD"]},{"type":"string","description":"Singapore Dollar","enum":["SGD"]},{"type":"string","description":"Swedish Krona","enum":["SEK"]},{"type":"string","description":"Swiss Franc","enum":["CHF"]},{"type":"string","description":"Canadian Dollar","enum":["CAD"]},{"type":"string","description":"British Pound","enum":["GBP"]},{"type":"string","description":"Czech Koruna","enum":["CZK"]},{"type":"string","description":"Danish Krone","enum":["DKK"]},{"type":"string","description":"Euro","enum":["EUR"]}],"description":"ISO currency code for the funds that will be deposited. Non-USD currencies only apply to SWIFT wire."},"frequency":{"type":"string","enum":["ONE_TIME","RECURRING"],"description":"Whether the memo is one-use only (consumed and unusable after first use) or if it can be used in multiple deposits"},"consumedAt":{"type":"string","format":"date-time","description":"The timestamp of when this one-time memo was consumed"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this memo was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this memo was last updated"}}},{"anyOf":[{"type":"object","required":["method","instructions"],"properties":{"method":{"type":"string","enum":["US_WIRE"]},"instructions":{"type":"object","required":["memo","routingNumber","accountNumber","bank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"routingNumber":{"type":"string"},"accountNumber":{"type":"string"},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}}}},"title":"US Wire"},{"type":"object","required":["method","instructions"],"properties":{"method":{"type":"string","enum":["SWIFT_WIRE"]},"instructions":{"anyOf":[{"type":"object","required":["memo","swiftCode","accountNumber","swiftField70","bank","intermediaryBank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"swiftCode":{"type":"string"},"accountNumber":{"type":"string"},"swiftField70":{"type":"array","items":{"type":"string"}},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"intermediaryBank":{"type":"object","required":["name","swiftCode","address"],"properties":{"name":{"type":"string"},"swiftCode":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","accountNumber","address"],"properties":{"name":{"type":"string"},"accountNumber":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}},"title":"International SWIFT instructions"},{"allOf":[{"type":"object","required":["memo","swiftCode","accountNumber","swiftField70","bank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"swiftCode":{"type":"string"},"accountNumber":{"type":"string"},"swiftField70":{"type":"array","items":{"type":"string"}},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","accountNumber","address"],"properties":{"name":{"type":"string"},"accountNumber":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}}},{"type":"object","required":["routingNumber"],"properties":{"routingNumber":{"type":"string"}}}],"description":"USD SWIFT instructions"}]}},"title":"SWIFT Wire"}]}]}}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/ledger-accounts/{accountId}/deposit-memos/{memo}":{"get":{"summary":"Get a deposit memo details for an organization's ledger account","tags":["Deposit Memos"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"memo","required":true,"description":"The memo"},{"schema":{"type":"string"},"example":"redwal_xxxxxxxx","in":"path","name":"accountId","required":true,"description":"The unique identifier for the account"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["memo","status","sourceCurrency","frequency","createdAt","updatedAt"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"status":{"type":"string","enum":["ACTIVE","DISABLED","CONSUMED"],"description":"Whether the memo is active or disabled. One-time memos can also be `CONSUMED` after use."},"name":{"type":"string","description":"Human-readable name for the memo"},"sourceCurrency":{"anyOf":[{"type":"string","description":"US Dollar","enum":["USD"]},{"type":"string","description":"Australian Dollar","enum":["AUD"]},{"type":"string","description":"Hong Kong Dollar","enum":["HKD"]},{"type":"string","description":"Japanese Yen","enum":["JPY"]},{"type":"string","description":"Mexico Peso","enum":["MXN"]},{"type":"string","description":"New Zealand Dollar","enum":["NZD"]},{"type":"string","description":"Singapore Dollar","enum":["SGD"]},{"type":"string","description":"Swedish Krona","enum":["SEK"]},{"type":"string","description":"Swiss Franc","enum":["CHF"]},{"type":"string","description":"Canadian Dollar","enum":["CAD"]},{"type":"string","description":"British Pound","enum":["GBP"]},{"type":"string","description":"Czech Koruna","enum":["CZK"]},{"type":"string","description":"Danish Krone","enum":["DKK"]},{"type":"string","description":"Euro","enum":["EUR"]}],"description":"ISO currency code for the funds that will be deposited. Non-USD currencies only apply to SWIFT wire."},"frequency":{"type":"string","enum":["ONE_TIME","RECURRING"],"description":"Whether the memo is one-use only (consumed and unusable after first use) or if it can be used in multiple deposits"},"consumedAt":{"type":"string","format":"date-time","description":"The timestamp of when this one-time memo was consumed"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this memo was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this memo was last updated"}}},{"anyOf":[{"type":"object","required":["method","instructions"],"properties":{"method":{"type":"string","enum":["US_WIRE"]},"instructions":{"type":"object","required":["memo","routingNumber","accountNumber","bank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"routingNumber":{"type":"string"},"accountNumber":{"type":"string"},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}}}},"title":"US Wire"},{"type":"object","required":["method","instructions"],"properties":{"method":{"type":"string","enum":["SWIFT_WIRE"]},"instructions":{"anyOf":[{"type":"object","required":["memo","swiftCode","accountNumber","swiftField70","bank","intermediaryBank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"swiftCode":{"type":"string"},"accountNumber":{"type":"string"},"swiftField70":{"type":"array","items":{"type":"string"}},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"intermediaryBank":{"type":"object","required":["name","swiftCode","address"],"properties":{"name":{"type":"string"},"swiftCode":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","accountNumber","address"],"properties":{"name":{"type":"string"},"accountNumber":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}},"title":"International SWIFT instructions"},{"allOf":[{"type":"object","required":["memo","swiftCode","accountNumber","swiftField70","bank","beneficiary"],"properties":{"memo":{"type":"string","description":"The memo, to be entered into memo/reference/message field when making a deposit.\n\n*Important:** Do not add any other information but what is provided in this field to ensure funds are routed correctly."},"swiftCode":{"type":"string"},"accountNumber":{"type":"string"},"swiftField70":{"type":"array","items":{"type":"string"}},"bank":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}},"beneficiary":{"type":"object","required":["name","accountNumber","address"],"properties":{"name":{"type":"string"},"accountNumber":{"type":"string"},"address":{"type":"object","required":["line1","city","region","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"Region, e.g. US state"},"postalCode":{"type":"string","description":"Postal code or zip code"},"countryCode":{"type":"string","description":"ISO country code"}}}}}}},{"type":"object","required":["routingNumber"],"properties":{"routingNumber":{"type":"string"}}}],"description":"USD SWIFT instructions"}]}},"title":"SWIFT Wire"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/documents":{"post":{"summary":"Initiate an organization document upload","tags":["Organization Documents"],"description":"Reserve a presigned PUT URL for uploading an organization document. After the client uploads the bytes, call the complete endpoint.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["fileName","fileType","fileSize","type"],"properties":{"fileName":{"type":"string","description":"Original filename of the document","example":"registration.pdf"},"fileType":{"type":"string","description":"MIME type — must match the Content-Type header used when uploading to the presigned URL","example":"application/pdf"},"fileSize":{"type":"integer","minimum":1,"description":"Size in bytes — must match the Content-Length used when uploading to the presigned URL","example":102400},"description":{"type":"string","description":"Optional free-form description of the document. Required when `type` is `OTHER`.","example":"Shareholder agreement"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","CHAMBER_OF_COMMERCE_CERTIFICATE","CAC_CERTIFICATE","ARTICLES_OF_INCORPORATION","AML_POLICY","FINANCIAL_CONDUCT_AUTHORITY_AUTHORIZATION","DIRECTORS_REGISTRY","CORPORATE_CHART","SHAREHOLDERS_REGISTRY","BALANCE_SHEET","REPORTING_ENTITY_REGISTRATION_DOCUMENT","COMPANY_CONSTITUTION","MEMORANDUM_OF_ASSOCIATION","PARTNERSHIP_DEED","CERTIFIED_ANNUAL_RETURNS_STATEMENT","COMPANY_PROFILE","AUDITED_ACCOUNTS","ANTI_BRIBERY_POLICY","DATA_PROTECTION_POLICY","INVOICE","PEP_FORM"]}},"title":"InitiateOrganizationDocumentUploadRequest","description":"Reserve a presigned upload slot for an organization document."}}},"description":"Reserve a presigned upload slot for an organization document."},"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["uploadId","uploadUrl","expiresAt"],"properties":{"uploadId":{"type":"string","description":"Upload identifier. Use this as the document ID on the complete endpoint.","example":"doc_JITym5MfDBJ4jOqiji2hP"},"uploadUrl":{"type":"string","description":"Presigned S3 PUT URL. Upload bytes with `Content-Type` and `Content-Length` matching the initiate request before it expires."},"expiresAt":{"type":"string","format":"date-time","description":"ISO-8601 timestamp after which the presigned URL is no longer valid."}},"title":"InitiateDocumentUploadResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_FILE_TYPE"]},"message":{"type":"string"}},"title":"INVALID_FILE_TYPE","description":"The provided `fileType` is not in the allowed MIME type list."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_FILE_SIZE"]},"message":{"type":"string"}},"title":"INVALID_FILE_SIZE","description":"The provided `fileSize` is zero or exceeds the maximum allowed size."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DESCRIPTION_REQUIRED"]},"message":{"type":"string"}},"title":"DESCRIPTION_REQUIRED","description":"`description` is required when `type` is `OTHER`."}],"title":"InitiateOrganizationDocumentUploadError"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"List organization documents","tags":["Organization Documents"],"description":"List all documents associated with an organization.","parameters":[{"schema":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","CHAMBER_OF_COMMERCE_CERTIFICATE","CAC_CERTIFICATE","ARTICLES_OF_INCORPORATION","AML_POLICY","FINANCIAL_CONDUCT_AUTHORITY_AUTHORIZATION","DIRECTORS_REGISTRY","CORPORATE_CHART","SHAREHOLDERS_REGISTRY","BALANCE_SHEET","REPORTING_ENTITY_REGISTRATION_DOCUMENT","COMPANY_CONSTITUTION","MEMORANDUM_OF_ASSOCIATION","PARTNERSHIP_DEED","CERTIFIED_ANNUAL_RETURNS_STATEMENT","COMPANY_PROFILE","AUDITED_ACCOUNTS","ANTI_BRIBERY_POLICY","DATA_PROTECTION_POLICY","INVOICE","PEP_FORM"]},"in":"query","name":"type","required":false},{"schema":{"type":"integer","minimum":1,"default":1},"in":"query","name":"page","required":false,"description":"Result page number to return, starting from 1"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"pageSize","required":false,"description":"Items per page to return"},{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["items","hasNext"],"properties":{"items":{"type":"array","items":{"type":"object","required":["id","type","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The unique document ID","example":"doc_JITym5MfDBJ4jOqiji2hP"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","CHAMBER_OF_COMMERCE_CERTIFICATE","CAC_CERTIFICATE","ARTICLES_OF_INCORPORATION","AML_POLICY","FINANCIAL_CONDUCT_AUTHORITY_AUTHORIZATION","DIRECTORS_REGISTRY","CORPORATE_CHART","SHAREHOLDERS_REGISTRY","BALANCE_SHEET","REPORTING_ENTITY_REGISTRATION_DOCUMENT","COMPANY_CONSTITUTION","MEMORANDUM_OF_ASSOCIATION","PARTNERSHIP_DEED","CERTIFIED_ANNUAL_RETURNS_STATEMENT","COMPANY_PROFILE","AUDITED_ACCOUNTS","ANTI_BRIBERY_POLICY","DATA_PROTECTION_POLICY","INVOICE","PEP_FORM"]},"status":{"type":"string","enum":["ACTIVE","DELETED"]},"fileName":{"type":"string"},"description":{"type":"string"},"downloadUrl":{"type":"string","description":"Presigned download URL (valid for a short window). Returned on single-document GET."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"OrganizationDocument"}},"hasNext":{"type":"boolean"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/documents/{uploadId}/complete":{"post":{"summary":"Complete an organization document upload","tags":["Organization Documents"],"description":"Call after the client has uploaded the file bytes to the presigned `uploadUrl`. Verifies the upload landed and activates the document.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"doc_JITym5MfDBJ4jOqiji2hP","in":"path","name":"uploadId","required":true,"description":"The upload ID returned by the initiate endpoint"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The unique document ID","example":"doc_JITym5MfDBJ4jOqiji2hP"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","CHAMBER_OF_COMMERCE_CERTIFICATE","CAC_CERTIFICATE","ARTICLES_OF_INCORPORATION","AML_POLICY","FINANCIAL_CONDUCT_AUTHORITY_AUTHORIZATION","DIRECTORS_REGISTRY","CORPORATE_CHART","SHAREHOLDERS_REGISTRY","BALANCE_SHEET","REPORTING_ENTITY_REGISTRATION_DOCUMENT","COMPANY_CONSTITUTION","MEMORANDUM_OF_ASSOCIATION","PARTNERSHIP_DEED","CERTIFIED_ANNUAL_RETURNS_STATEMENT","COMPANY_PROFILE","AUDITED_ACCOUNTS","ANTI_BRIBERY_POLICY","DATA_PROTECTION_POLICY","INVOICE","PEP_FORM"]},"status":{"type":"string","enum":["ACTIVE","DELETED"]},"fileName":{"type":"string"},"description":{"type":"string"},"downloadUrl":{"type":"string","description":"Presigned download URL (valid for a short window). Returned on single-document GET."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"OrganizationDocument"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UPLOAD_NOT_FOUND"]},"message":{"type":"string"}},"title":"UPLOAD_NOT_FOUND","description":"No object was found in S3 for this upload ID. The client may not have completed the upload or the URL expired."}],"title":"CompleteOrganizationDocumentUploadError"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/documents/{documentId}":{"get":{"summary":"Get an organization document","tags":["Organization Documents"],"description":"Fetch a single document. The response includes a short-lived presigned `downloadUrl`.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"doc_JITym5MfDBJ4jOqiji2hP","in":"path","name":"documentId","required":true,"description":"The unique document ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The unique document ID","example":"doc_JITym5MfDBJ4jOqiji2hP"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","CHAMBER_OF_COMMERCE_CERTIFICATE","CAC_CERTIFICATE","ARTICLES_OF_INCORPORATION","AML_POLICY","FINANCIAL_CONDUCT_AUTHORITY_AUTHORIZATION","DIRECTORS_REGISTRY","CORPORATE_CHART","SHAREHOLDERS_REGISTRY","BALANCE_SHEET","REPORTING_ENTITY_REGISTRATION_DOCUMENT","COMPANY_CONSTITUTION","MEMORANDUM_OF_ASSOCIATION","PARTNERSHIP_DEED","CERTIFIED_ANNUAL_RETURNS_STATEMENT","COMPANY_PROFILE","AUDITED_ACCOUNTS","ANTI_BRIBERY_POLICY","DATA_PROTECTION_POLICY","INVOICE","PEP_FORM"]},"status":{"type":"string","enum":["ACTIVE","DELETED"]},"fileName":{"type":"string"},"description":{"type":"string"},"downloadUrl":{"type":"string","description":"Presigned download URL (valid for a short window). Returned on single-document GET."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"OrganizationDocument"}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"delete":{"summary":"Delete an organization document","tags":["Organization Documents"],"description":"Soft-delete a document and remove the underlying S3 object.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"doc_JITym5MfDBJ4jOqiji2hP","in":"path","name":"documentId","required":true,"description":"The unique document ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Status message","example":"OK"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/ledger-accounts":{"post":{"summary":"Create a ledger account of an organization","tags":["Ledger Accounts"],"description":"Ledger accounts can hold MoveUSD and be used in transactions.","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"referenceId":{"type":"string","description":"Customer's reference ID for this account"},"name":{"type":"string","description":"Human-readable label for this account"}}},{"type":"object","properties":{"visibility":{"type":"string","enum":["PRIVATE","PUBLIC"],"description":"Visibility of the account across MoveUSD network. **WARNING: `PUBLIC` wallets are visible to all customers.**","default":"PRIVATE"}}}]}}}},"parameters":[{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","balance","address","visibility","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for a ledger account, in `redwal_...` format","example":"redwal_xxxxxxxx"},"referenceId":{"type":"string","description":"Customer's reference ID for this account"},"balance":{"type":"string","description":"The balance of the ledger account"},"name":{"type":"string","description":"Human-readable label for this account"},"address":{"type":"string","description":"Base-58 address to the underlying Solana account"},"visibility":{"type":"string","enum":["PRIVATE","PUBLIC"],"description":"Visibility of the account across MoveUSD network. **WARNING: `PUBLIC` wallets are visible to all customers.**"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was last updated"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ORGANIZATION"]},"message":{"type":"string"}},"title":"INVALID_ORGANIZATION","description":"The organization is not allowed to create a ledger account"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"Search for ledger accounts of an organization","tags":["Ledger Accounts"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"addresses","required":false,"description":"Comma-separated list of base-58 addresses for the underlying Solana account"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"createdBefore","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"createdAfter","required":false},{"schema":{"type":"string"},"in":"query","name":"orderBy","required":false,"description":"Comma-separated list of fields and directions to order the results by.\n\nFormat: `<field name>:<direction>,...`\n\n* `<field name>`: `createdAt`\n* `<direction>`: `ASC`, `DESC`"},{"schema":{"type":"integer","default":1},"in":"query","name":"page","required":false,"description":"Result page number to return, starting from 1"},{"schema":{"type":"integer","default":10,"maximum":100},"in":"query","name":"pageSize","required":false,"description":"Items per page to return"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["hasNext","items"],"properties":{"hasNext":{"type":"boolean","description":"Whether there are more pages for this search result"},"items":{"type":"array","items":{"type":"object","required":["id","balance","address","visibility","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for a ledger account, in `redwal_...` format","example":"redwal_xxxxxxxx"},"referenceId":{"type":"string","description":"Customer's reference ID for this account"},"balance":{"type":"string","description":"The balance of the ledger account"},"name":{"type":"string","description":"Human-readable label for this account"},"address":{"type":"string","description":"Base-58 address to the underlying Solana account"},"visibility":{"type":"string","enum":["PRIVATE","PUBLIC"],"description":"Visibility of the account across MoveUSD network. **WARNING: `PUBLIC` wallets are visible to all customers.**"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was last updated"}}}}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ADDRESSES"]},"message":{"type":"string"}},"title":"INVALID_ADDRESSES","description":"Invalid `addresses` query"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/ledger-accounts/{id}":{"put":{"summary":"Update a ledger account of an organization","tags":["Ledger Accounts"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"referenceId":{"type":"string","description":"Customer's reference ID for this account"},"name":{"type":"string","description":"Human-readable label for this account"}}}}}},"parameters":[{"schema":{"type":"string"},"example":"redwal_xxxxxxxx","in":"path","name":"id","required":true,"description":"The unique identifier for the account"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","balance","address","visibility","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for a ledger account, in `redwal_...` format","example":"redwal_xxxxxxxx"},"referenceId":{"type":"string","description":"Customer's reference ID for this account"},"balance":{"type":"string","description":"The balance of the ledger account"},"name":{"type":"string","description":"Human-readable label for this account"},"address":{"type":"string","description":"Base-58 address to the underlying Solana account"},"visibility":{"type":"string","enum":["PRIVATE","PUBLIC"],"description":"Visibility of the account across MoveUSD network. **WARNING: `PUBLIC` wallets are visible to all customers.**"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was last updated"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_ORGANIZATION"]},"message":{"type":"string"}},"title":"INVALID_ORGANIZATION","description":"The organization is not allowed to update a ledger account"}]}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"Get a ledger account details, belonging to an organization","tags":["Ledger Accounts"],"parameters":[{"schema":{"type":"string"},"example":"redwal_xxxxxxxx","in":"path","name":"id","required":true,"description":"The unique identifier for the account"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization that owns the account"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","balance","address","visibility","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for a ledger account, in `redwal_...` format","example":"redwal_xxxxxxxx"},"referenceId":{"type":"string","description":"Customer's reference ID for this account"},"balance":{"type":"string","description":"The balance of the ledger account"},"name":{"type":"string","description":"Human-readable label for this account"},"address":{"type":"string","description":"Base-58 address to the underlying Solana account"},"visibility":{"type":"string","enum":["PRIVATE","PUBLIC"],"description":"Visibility of the account across MoveUSD network. **WARNING: `PUBLIC` wallets are visible to all customers.**"},"createdAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was created"},"updatedAt":{"type":"string","format":"date-time","description":"The timestamp of when this account was last updated"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/products":{"get":{"summary":"List products available to an organization","tags":["Products"],"description":"Returns every product configured for this customer with the organization's effective activation status.\n\nUse this for product menus and route gates. For limits and usage, call `GET /v1/{deposit,withdrawal}/usage` — limits and current usage are returned together per product.","parameters":[{"schema":{"type":"string"},"in":"query","name":"countryCode","required":false,"description":"ISO-3166-1 Alpha-2 country override for activation evaluation. Defaults to the entity's country of residence."},{"schema":{"type":"string"},"in":"query","name":"regionCode","required":false,"description":"ISO-3166-2 region/state override"},{"schema":{"type":"string"},"example":"org_xxxxxxxxxx","in":"path","name":"organizationId","required":true,"description":"The unique identifier for the organization"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"type":"object","required":["name","status"],"properties":{"name":{"type":"string","enum":["organization.v1","identity.v1","card.physical_card.v1","card.virtual_card.v1","deposit.us_cash.v1","deposit.rtp.v1","deposit.us_bank_ach.v1","deposit.ach_credit.v1","deposit.us_wire.v1","deposit.swift_wire.v1","transfer.redemption.v1","swap.v1","withdraw.blockchain.v1","withdraw.ke_bank.v1","withdraw.ke_momo.v1","withdraw.mx_bank_spei.v1","withdraw.swift_wire.v1","withdraw.tg_momo.v1","withdraw.us_bank_ach.v1","withdraw.us_instant.v1","withdraw.us_wire.v1","withdraw.ach_pull.v1","withdraw.us_wire_drawdown.v1","account.virtual-account.v1"]},"status":{"type":"string","enum":["ACTIVE","DENIED","INACTIVE"],"description":"Whether this product is currently usable by the entity.\n\n* `ACTIVE`: at least one route resolves and no DENY rule matches\n* `DENIED`: a customer-tier or admin DENY activation rule matches (e.g. country/region block, customer opt-out)\n* `INACTIVE`: no eligible route exists for this entity at all"},"denyReason":{"type":"string","description":"Human-readable reason when status is `DENIED`. Stable identifiers come from the matched activation-rule's `label`."},"supportedCurrencies":{"type":"array","items":{"type":"string"},"description":"ISO 4217 currency codes this product accepts as source.\n\nAbsent when the product imposes no source-currency restriction at the rail level, or when no enumerable list could be derived (e.g. `card.*` products that don't transact in a currency, or routes with unbounded matchers). Never empty."},"supportedCountries":{"type":"array","items":{"type":"string"},"description":"ISO-3166-1 Alpha-2 country codes this product is available in.\n\nDerived from the rail's ADMIN `APPROVE` activation rules. Absent when the product has no country restriction at the rail level, or when no enumerable list could be derived (rule matcher is `ALWAYS` or unbounded). Never empty."}}}}}}}}},"400":{"description":"The service cannot understand the request","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/related-person":{"post":{"summary":"Add a related person to an organization","tags":["Related Persons"],"description":"Register a control person or beneficial owner against an organization. The person is forwarded to the KYB provider and attached to the organization's verification profile.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","firstName","lastName"],"properties":{"type":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"},"countryOfResidence":{"type":"string","description":"alpha-2 ISO-3166-1","example":"US"},"email":{"type":"string","example":"jane@example.com"},"phone":{"type":"string","description":"E.164 format","example":"+13334445555"},"dateOfBirth":{"type":"string","description":"yyyy-MM-dd","example":"1984-01-21"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"e.g. US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string","description":"alpha-2 ISO-3166-1, e.g. US"}},"title":"RelatedPersonAddress"},"ownershipPercent":{"type":"number"},"sharesAllocated":{"type":"number"},"title":{"type":"string"}},"title":"CreateRelatedPersonRequest"}}}},"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","firstName","lastName","status","createdAt","updatedAt"],"properties":{"id":{"type":"string","example":"rp_VfsdSMtd8UdgxCgTnz0tm"},"type":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"},"countryOfResidence":{"type":"string","description":"alpha-2 ISO-3166-1","example":"US"},"email":{"type":"string","example":"jane@example.com"},"phone":{"type":"string","description":"E.164 format","example":"+13334445555"},"dateOfBirth":{"type":"string","description":"yyyy-MM-dd","example":"1984-01-21"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"e.g. US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string","description":"alpha-2 ISO-3166-1, e.g. US"}},"title":"RelatedPersonAddress"},"ownershipPercent":{"type":"number","description":"Beneficial ownership stake (0-100). For BENEFICIAL_OWNER."},"sharesAllocated":{"type":"number"},"title":{"type":"string","description":"Role/title. For CONTROL persons."},"status":{"type":"string","enum":["ACTIVE"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"RelatedPerson"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"`phone` is not a valid E.164 phone number."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"`email` is not valid."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_COUNTRY"]},"message":{"type":"string"}},"title":"INVALID_COUNTRY","description":"`countryOfResidence` is not alpha-2 ISO-3166-1."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_DATE_OF_BIRTH"]},"message":{"type":"string"}},"title":"INVALID_DATE_OF_BIRTH","description":"`dateOfBirth` is not yyyy-MM-dd or out of range."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["ORGANIZATION_NOT_VERIFIED"]},"message":{"type":"string"}},"title":"ORGANIZATION_NOT_VERIFIED","description":"The organization has no verification profile, so a related person cannot be attached."}],"title":"RelatedPersonWriteError"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"List an organization's related persons","tags":["Related Persons"],"parameters":[{"schema":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"in":"query","name":"type","required":false},{"schema":{"type":"integer","minimum":1,"default":1},"in":"query","name":"page","required":false,"description":"Result page number to return, starting from 1"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"pageSize","required":false,"description":"Items per page to return"},{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["items","hasNext","total"],"properties":{"items":{"type":"array","items":{"type":"object","required":["id","type","firstName","lastName","status","createdAt","updatedAt"],"properties":{"id":{"type":"string","example":"rp_VfsdSMtd8UdgxCgTnz0tm"},"type":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"},"countryOfResidence":{"type":"string","description":"alpha-2 ISO-3166-1","example":"US"},"email":{"type":"string","example":"jane@example.com"},"phone":{"type":"string","description":"E.164 format","example":"+13334445555"},"dateOfBirth":{"type":"string","description":"yyyy-MM-dd","example":"1984-01-21"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"e.g. US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string","description":"alpha-2 ISO-3166-1, e.g. US"}},"title":"RelatedPersonAddress"},"ownershipPercent":{"type":"number","description":"Beneficial ownership stake (0-100). For BENEFICIAL_OWNER."},"sharesAllocated":{"type":"number"},"title":{"type":"string","description":"Role/title. For CONTROL persons."},"status":{"type":"string","enum":["ACTIVE"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"RelatedPerson"}},"hasNext":{"type":"boolean"},"total":{"type":"integer"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/related-person/{relatedPersonId}":{"get":{"summary":"Get a related person","tags":["Related Persons"],"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","firstName","lastName","status","createdAt","updatedAt"],"properties":{"id":{"type":"string","example":"rp_VfsdSMtd8UdgxCgTnz0tm"},"type":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"},"countryOfResidence":{"type":"string","description":"alpha-2 ISO-3166-1","example":"US"},"email":{"type":"string","example":"jane@example.com"},"phone":{"type":"string","description":"E.164 format","example":"+13334445555"},"dateOfBirth":{"type":"string","description":"yyyy-MM-dd","example":"1984-01-21"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"e.g. US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string","description":"alpha-2 ISO-3166-1, e.g. US"}},"title":"RelatedPersonAddress"},"ownershipPercent":{"type":"number","description":"Beneficial ownership stake (0-100). For BENEFICIAL_OWNER."},"sharesAllocated":{"type":"number"},"title":{"type":"string","description":"Role/title. For CONTROL persons."},"status":{"type":"string","enum":["ACTIVE"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"RelatedPerson"}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"patch":{"summary":"Update a related person","tags":["Related Persons"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"},"countryOfResidence":{"type":"string","description":"alpha-2 ISO-3166-1","example":"US"},"email":{"type":"string","example":"jane@example.com"},"phone":{"type":"string","description":"E.164 format","example":"+13334445555"},"dateOfBirth":{"type":"string","description":"yyyy-MM-dd","example":"1984-01-21"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"e.g. US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string","description":"alpha-2 ISO-3166-1, e.g. US"}},"title":"RelatedPersonAddress"},"ownershipPercent":{"type":"number"},"sharesAllocated":{"type":"number"},"title":{"type":"string"}},"title":"UpdateRelatedPersonRequest"}}}},"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","firstName","lastName","status","createdAt","updatedAt"],"properties":{"id":{"type":"string","example":"rp_VfsdSMtd8UdgxCgTnz0tm"},"type":{"type":"string","enum":["CONTROL","BENEFICIAL_OWNER"]},"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"},"countryOfResidence":{"type":"string","description":"alpha-2 ISO-3166-1","example":"US"},"email":{"type":"string","example":"jane@example.com"},"phone":{"type":"string","description":"E.164 format","example":"+13334445555"},"dateOfBirth":{"type":"string","description":"yyyy-MM-dd","example":"1984-01-21"},"address":{"type":"object","required":["line1","city","postalCode","countryCode"],"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"region":{"type":"string","description":"e.g. US state"},"postalCode":{"type":"string"},"countryCode":{"type":"string","description":"alpha-2 ISO-3166-1, e.g. US"}},"title":"RelatedPersonAddress"},"ownershipPercent":{"type":"number","description":"Beneficial ownership stake (0-100). For BENEFICIAL_OWNER."},"sharesAllocated":{"type":"number"},"title":{"type":"string","description":"Role/title. For CONTROL persons."},"status":{"type":"string","enum":["ACTIVE"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"RelatedPerson"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"`phone` is not a valid E.164 phone number."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"`email` is not valid."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_COUNTRY"]},"message":{"type":"string"}},"title":"INVALID_COUNTRY","description":"`countryOfResidence` is not alpha-2 ISO-3166-1."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_DATE_OF_BIRTH"]},"message":{"type":"string"}},"title":"INVALID_DATE_OF_BIRTH","description":"`dateOfBirth` is not yyyy-MM-dd or out of range."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["ORGANIZATION_NOT_VERIFIED"]},"message":{"type":"string"}},"title":"ORGANIZATION_NOT_VERIFIED","description":"The organization has no verification profile, so a related person cannot be attached."}],"title":"RelatedPersonWriteError"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"delete":{"summary":"Remove a related person","tags":["Related Persons"],"description":"Soft-delete the related person and remove the association from the KYB provider.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"OK"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/related-person/{relatedPersonId}/document":{"post":{"summary":"Initiate a related person document upload","tags":["Related Person Documents"],"description":"Reserve a presigned PUT URL for uploading a related person's identity document. After the client uploads the bytes, call the complete endpoint.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["fileName","fileType","fileSize","type"],"properties":{"fileName":{"type":"string","description":"Original filename of the document","example":"passport-front.pdf"},"fileType":{"type":"string","description":"MIME type — must match the Content-Type header used when uploading to the presigned URL","example":"application/pdf"},"fileSize":{"type":"integer","minimum":1,"description":"Size in bytes — must match the Content-Length used when uploading to the presigned URL","example":102400},"description":{"type":"string","description":"Optional free-form description of the document. Required when `type` is `OTHER`.","example":"Shareholder agreement"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","PASSPORT","DRIVER_LICENSE","NATIONAL_ID","ID_CARD","VOTER_ID_CARD","RESIDENT_CARD","VISA_DOCUMENT","USER_SELFIE","TAX_CERTIFICATE"]},"side":{"type":"string","enum":["FRONT","BACK"]}},"title":"InitiateIdentityDocumentUploadRequest","description":"Reserve a presigned upload slot for an identity document. `side` is required for two-sided document types (PASSPORT, DRIVER_LICENSE, NATIONAL_ID, ID_CARD, VOTER_ID_CARD, RESIDENT_CARD) and rejected for all others."}}},"description":"Reserve a presigned upload slot for an identity document. `side` is required for two-sided document types (PASSPORT, DRIVER_LICENSE, NATIONAL_ID, ID_CARD, VOTER_ID_CARD, RESIDENT_CARD) and rejected for all others."},"parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["uploadId","uploadUrl","expiresAt"],"properties":{"uploadId":{"type":"string","description":"Upload identifier. Use this as the document ID on the complete endpoint.","example":"doc_JITym5MfDBJ4jOqiji2hP"},"uploadUrl":{"type":"string","description":"Presigned S3 PUT URL. Upload bytes with `Content-Type` and `Content-Length` matching the initiate request before it expires."},"expiresAt":{"type":"string","format":"date-time","description":"ISO-8601 timestamp after which the presigned URL is no longer valid."}},"title":"InitiateDocumentUploadResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_FILE_TYPE"]},"message":{"type":"string"}},"title":"INVALID_FILE_TYPE","description":"The provided `fileType` is not in the allowed MIME type list."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_FILE_SIZE"]},"message":{"type":"string"}},"title":"INVALID_FILE_SIZE","description":"The provided `fileSize` is zero or exceeds the maximum allowed size."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["SIDE_REQUIRED"]},"message":{"type":"string"}},"title":"SIDE_REQUIRED","description":"`side` is required for two-sided document types."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["SIDE_NOT_ALLOWED"]},"message":{"type":"string"}},"title":"SIDE_NOT_ALLOWED","description":"`side` is only valid for two-sided document types."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DESCRIPTION_REQUIRED"]},"message":{"type":"string"}},"title":"DESCRIPTION_REQUIRED","description":"`description` is required when `type` is `OTHER`."}],"title":"InitiateRelatedPersonDocumentUploadError"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"get":{"summary":"List a related person's documents","tags":["Related Person Documents"],"parameters":[{"schema":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","PASSPORT","DRIVER_LICENSE","NATIONAL_ID","ID_CARD","VOTER_ID_CARD","RESIDENT_CARD","VISA_DOCUMENT","USER_SELFIE","TAX_CERTIFICATE"]},"in":"query","name":"type","required":false},{"schema":{"type":"integer","minimum":1,"default":1},"in":"query","name":"page","required":false,"description":"Result page number to return, starting from 1"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"in":"query","name":"pageSize","required":false,"description":"Items per page to return"},{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["items","hasNext","total"],"properties":{"items":{"type":"array","items":{"type":"object","required":["id","type","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The unique document ID","example":"doc_JITym5MfDBJ4jOqiji2hP"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","PASSPORT","DRIVER_LICENSE","NATIONAL_ID","ID_CARD","VOTER_ID_CARD","RESIDENT_CARD","VISA_DOCUMENT","USER_SELFIE","TAX_CERTIFICATE"]},"side":{"type":"string","enum":["FRONT","BACK"]},"status":{"type":"string","enum":["ACTIVE","DELETED"]},"fileName":{"type":"string"},"description":{"type":"string"},"downloadUrl":{"type":"string","description":"Presigned download URL (valid for a short window). Returned on single-document GET."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"IdentityDocument"}},"hasNext":{"type":"boolean"},"total":{"type":"integer"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/related-person/{relatedPersonId}/document/{documentId}":{"get":{"summary":"Get a related person document","tags":["Related Person Documents"],"description":"Fetch a single document. The response includes a short-lived presigned `downloadUrl`.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"},{"schema":{"type":"string"},"example":"doc_JITym5MfDBJ4jOqiji2hP","in":"path","name":"documentId","required":true,"description":"The unique document ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The unique document ID","example":"doc_JITym5MfDBJ4jOqiji2hP"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","PASSPORT","DRIVER_LICENSE","NATIONAL_ID","ID_CARD","VOTER_ID_CARD","RESIDENT_CARD","VISA_DOCUMENT","USER_SELFIE","TAX_CERTIFICATE"]},"side":{"type":"string","enum":["FRONT","BACK"]},"status":{"type":"string","enum":["ACTIVE","DELETED"]},"fileName":{"type":"string"},"description":{"type":"string"},"downloadUrl":{"type":"string","description":"Presigned download URL (valid for a short window). Returned on single-document GET."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"IdentityDocument"}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}},"delete":{"summary":"Delete a related person document","tags":["Related Person Documents"],"description":"Soft-delete a document and remove the underlying S3 object.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"},{"schema":{"type":"string"},"example":"doc_JITym5MfDBJ4jOqiji2hP","in":"path","name":"documentId","required":true,"description":"The unique document ID"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"OK"}}}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}},"/v1/organization/{organizationId}/related-person/{relatedPersonId}/document/{uploadId}/complete":{"post":{"summary":"Complete a related person document upload","tags":["Related Person Documents"],"description":"Call after the client has uploaded the file bytes to the presigned `uploadUrl`. Verifies the upload landed and activates the document.","parameters":[{"schema":{"type":"string"},"example":"org_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"organizationId","required":true,"description":"The unique Organization ID provided upon organization registration"},{"schema":{"type":"string"},"example":"rp_VfsdSMtd8UdgxCgTnz0tm","in":"path","name":"relatedPersonId","required":true,"description":"The unique related person ID"},{"schema":{"type":"string"},"example":"doc_JITym5MfDBJ4jOqiji2hP","in":"path","name":"uploadId","required":true,"description":"The upload ID returned by the initiate endpoint"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","type","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The unique document ID","example":"doc_JITym5MfDBJ4jOqiji2hP"},"type":{"type":"string","enum":["BANK_STATEMENT_DOCUMENT","OPERATING_LICENSE_DOCUMENT","SOURCE_OF_FUNDS_DOCUMENT","BUSINESS_REGISTRATION_DOCUMENT","ADDRESS_PROOF_DOCUMENT","FRAUD_CHECK_DOCUMENT","BANK_ACCOUNT_DETAILS","OTHER","PASSPORT","DRIVER_LICENSE","NATIONAL_ID","ID_CARD","VOTER_ID_CARD","RESIDENT_CARD","VISA_DOCUMENT","USER_SELFIE","TAX_CERTIFICATE"]},"side":{"type":"string","enum":["FRONT","BACK"]},"status":{"type":"string","enum":["ACTIVE","DELETED"]},"fileName":{"type":"string"},"description":{"type":"string"},"downloadUrl":{"type":"string","description":"Presigned download URL (valid for a short window). Returned on single-document GET."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"title":"IdentityDocument"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_IDEMPOTENCY_KEY"]},"message":{"type":"string"}},"title":"MISSING_IDEMPOTENCY_KEY","description":"Missing required idempotency key header"},{"anyOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_REQUEST"]},"message":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"title":"INVALID_REQUEST","description":"The service cannot understand the request"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UPLOAD_NOT_FOUND"]},"message":{"type":"string"}},"title":"UPLOAD_NOT_FOUND","description":"No object was found in S3 for this upload ID. The client may not have completed the upload or the URL expired."}],"title":"CompleteRelatedPersonDocumentUploadError"}]}}}},"401":{"description":"The access to this resource has been denied","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["UNAUTHORIZED"]},"message":{"type":"string"}},"title":"UNAUTHORIZED","description":"The access to this resource has been denied"}}}},"404":{"description":"The resource was not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["NOT_FOUND"]},"message":{"type":"string"}},"title":"NOT_FOUND","description":"The resource was not found"}}}},"409":{"description":"A duplicate request with this idempotency key is already in progress","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_IN_PROGRESS"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_IN_PROGRESS","description":"A duplicate request with this idempotency key is already in progress"}}}},"422":{"description":"Another request with this idempotency key was made using a different body","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["IDEMPOTENCY_KEY_REUSED"]},"message":{"type":"string"}},"title":"IDEMPOTENCY_KEY_REUSED","description":"Another request with this idempotency key was made using a different body"}}}},"default":{"description":"Catch-all error response for any unexpected internal errors","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INTERNAL"]},"message":{"type":"string","enum":["An unexpected internal error has occurred"]}},"title":"INTERNAL","description":"Catch-all error response for any unexpected internal errors"}}}}}}}},"servers":[{"url":"https://api.dev.cfx.to","description":"Customer Sandbox"},{"url":"https://api.cfx.to","description":"Production"}],"security":[{"ApiKeyAuth":[],"ApiSecretAuth":[]}],"tags":[{"name":"Organization","description":"Register, retrieve, update, and verify organizations."},{"name":"Payment Instruments","description":"Bank accounts and wallets an organization can send to or receive from."},{"name":"Ledger Accounts","description":"MoveUSD-denominated accounts owned by an organization."},{"name":"Deposit Memos","description":"Memos that route inbound deposits to a ledger account."},{"name":"Organization Documents","description":"Upload and manage KYB documents for an organization."},{"name":"Related Persons","description":"Control persons and beneficial owners attached to an organization."},{"name":"Related Person Documents","description":"Upload and manage identity documents for a related person."},{"name":"Products","description":"Products available to an organization and their activation status."}],"externalDocs":{"description":"Find out more about CFX","url":"https://www.cfxlabs.com/"}}