{"openapi":"3.1.0","info":{"title":"Identity API","description":"Registration, verification and management of CFX identities associated with financial transactions on the CFX network.","termsOfService":"","contact":{"name":"API Owner","email":"api@cfxlabs.com"},"license":{"name":"","url":""},"version":"@VERSION@","summary":"CFX Identity API"},"components":{"securitySchemes":{"ApiKeyAuth":{"name":"x-api-key","type":"apiKey","in":"header"},"ApiSecretAuth":{"name":"x-api-secret","type":"apiKey","in":"header"}},"schemas":{}},"paths":{"/v1/identity/{identityId}/instrument":{"post":{"summary":"Create Payment Instrument","tags":["Identity","Instruments"],"description":"Create a payment instrument that will be associated with a CFX identity.","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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"address":{"type":"string","description":"Blockchain address or account."}},"title":"WALLET"},{"type":"object","required":["type","accountName","clabeId"],"properties":{"type":{"type":"string","title":"MX_CLABE","description":"Type of payment instrument.","enum":["MX_CLABE"]},"accountName":{"type":"string","description":"Name associated with the bank account","examples":["Sofia Rodriguez"]},"clabeId":{"type":"string","description":"Clabe ID for the bank account","examples":["138061000000012349"]}},"title":"MX_CLABE"},{"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","country","bankName","accountNumber","accountHolderName","networkId"],"properties":{"type":{"type":"string","title":"AF_BANK","description":"Type of payment instrument.","enum":["AF_BANK"]},"country":{"type":"string"},"bankName":{"type":"string"},"accountNumber":{"type":"string"},"accountHolderName":{"type":"string"},"networkId":{"type":"string","description":"Bank network ID"}},"title":"AF_BANK"},{"type":"object","required":["type","country","firstName","lastName","mobileNumber","mobileProvider","networkId"],"properties":{"type":{"type":"string","title":"AF_MOMO","description":"Type of payment instrument.","enum":["AF_MOMO"]},"country":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"mobileNumber":{"type":"string","description":"Users mobile number including country code"},"mobileProvider":{"type":"string","description":"Mobile provider name"},"networkId":{"type":"string","description":"Bank network ID"}},"title":"AF_MOMO"},{"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"},{"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"}],"discriminator":{"propertyName":"type"}}}}},"parameters":[{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"identityId","required":true,"description":"The unique Identity ID provided upon identity 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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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","accountName"],"properties":{"type":{"type":"string","title":"MX_CLABE","description":"Type of payment instrument.","enum":["MX_CLABE"]},"tag":{"type":"string","description":"Tag associated with the Clabe","examples":["ABC CAPITAL"]},"bank":{"type":"string","description":"Bank associated with the Clabe","examples":["ABC CAPITAL"]},"city":{"type":"string","description":"City associated with the Clabe","examples":["Abasolo MX-COA"]},"account":{"type":"string","description":"Account number associated with the Clabe","examples":["032180000118359719"]},"bankCode":{"type":"string","description":"Bank code associated with the Clabe","examples":["138"]},"cityCode":{"type":"string","description":"City code associated with the Clabe","examples":["061"]},"accountName":{"type":"string","description":"Name associated with the bank account","examples":["Sofia Rodriguez"]}},"description":"Clabe payment instrument","title":"Clabe"}]},{"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","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","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","country","bankName","accountNumber","accountHolderName","networkId","channels"],"properties":{"type":{"type":"string","title":"AF_BANK","description":"Type of payment instrument.","enum":["AF_BANK"]},"country":{"type":"string"},"bankName":{"type":"string"},"accountNumber":{"type":"string"},"accountHolderName":{"type":"string"},"networkId":{"type":"string","description":"Bank network ID"},"channels":{"type":"array","items":{"type":"string","description":"The channels available for this payment network"}}},"description":"Af Bank payment instrument","title":"AF BANK"}]},{"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","country","firstName","lastName","mobileNumber","mobileProvider","networkId","channels"],"properties":{"type":{"type":"string","title":"AF_MOMO","description":"Type of payment instrument.","enum":["AF_MOMO"]},"country":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"mobileNumber":{"type":"string","description":"Users mobile number including country code"},"mobileProvider":{"type":"string","description":"Mobile provider name"},"networkId":{"type":"string","description":"Bank network ID"},"channels":{"type":"array","items":{"type":"string","description":"The channels available for this payment network"}}},"description":"Af Bank payment instrument","title":"AF MOMO"}]}]}}}},"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":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"A similar instrument already exists for this identity"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_CLABE"]},"message":{"type":"string"}},"title":"INVALID_CLABE","description":"CLABE number is invalid"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["missingAccountHolderName"]},"message":{"type":"string"}},"title":"missingAccountHolderName","description":"Account holder name is required"},{"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":["instrumentAlreadyExistsForAddress"]},"message":{"type":"string"}},"title":"instrumentAlreadyExistsForAddress","description":"A wallet instrument already exists for this address"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["tooManyWallets"]},"message":{"type":"string"}},"title":"tooManyWallets","description":"Too many wallet instruments for this identity"}]}]}}}},"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":["Identity","Instruments"],"description":"Retrieve the list of payment instruments associated with the CFX identity.","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":"identityId","required":true,"description":"The unique Identity ID provided upon identity 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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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","accountName"],"properties":{"type":{"type":"string","title":"MX_CLABE","description":"Type of payment instrument.","enum":["MX_CLABE"]},"tag":{"type":"string","description":"Tag associated with the Clabe","examples":["ABC CAPITAL"]},"bank":{"type":"string","description":"Bank associated with the Clabe","examples":["ABC CAPITAL"]},"city":{"type":"string","description":"City associated with the Clabe","examples":["Abasolo MX-COA"]},"account":{"type":"string","description":"Account number associated with the Clabe","examples":["032180000118359719"]},"bankCode":{"type":"string","description":"Bank code associated with the Clabe","examples":["138"]},"cityCode":{"type":"string","description":"City code associated with the Clabe","examples":["061"]},"accountName":{"type":"string","description":"Name associated with the bank account","examples":["Sofia Rodriguez"]}},"description":"Clabe payment instrument","title":"Clabe"}]},{"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","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","country","bankName","accountNumber","accountHolderName","networkId","channels"],"properties":{"type":{"type":"string","title":"AF_BANK","description":"Type of payment instrument.","enum":["AF_BANK"]},"country":{"type":"string"},"bankName":{"type":"string"},"accountNumber":{"type":"string"},"accountHolderName":{"type":"string"},"networkId":{"type":"string","description":"Bank network ID"},"channels":{"type":"array","items":{"type":"string","description":"The channels available for this payment network"}}},"description":"Af Bank payment instrument","title":"AF BANK"}]},{"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","country","firstName","lastName","mobileNumber","mobileProvider","networkId","channels"],"properties":{"type":{"type":"string","title":"AF_MOMO","description":"Type of payment instrument.","enum":["AF_MOMO"]},"country":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"mobileNumber":{"type":"string","description":"Users mobile number including country code"},"mobileProvider":{"type":"string","description":"Mobile provider name"},"networkId":{"type":"string","description":"Bank network ID"},"channels":{"type":"array","items":{"type":"string","description":"The channels available for this payment network"}}},"description":"Af Bank payment instrument","title":"AF MOMO"}]},{"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","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"}]},{"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"}]}]}}}}}}},"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/identity/{identityId}/instrument/{instrumentId}":{"get":{"summary":"Get Payment Instrument","tags":["Identity","Instruments"],"description":"Retrieve details for a specific payment instrument.","parameters":[{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"identityId","required":true,"description":"The unique Identity ID provided upon identity 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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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","accountName"],"properties":{"type":{"type":"string","title":"MX_CLABE","description":"Type of payment instrument.","enum":["MX_CLABE"]},"tag":{"type":"string","description":"Tag associated with the Clabe","examples":["ABC CAPITAL"]},"bank":{"type":"string","description":"Bank associated with the Clabe","examples":["ABC CAPITAL"]},"city":{"type":"string","description":"City associated with the Clabe","examples":["Abasolo MX-COA"]},"account":{"type":"string","description":"Account number associated with the Clabe","examples":["032180000118359719"]},"bankCode":{"type":"string","description":"Bank code associated with the Clabe","examples":["138"]},"cityCode":{"type":"string","description":"City code associated with the Clabe","examples":["061"]},"accountName":{"type":"string","description":"Name associated with the bank account","examples":["Sofia Rodriguez"]}},"description":"Clabe payment instrument","title":"Clabe"}]},{"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","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","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","country","bankName","accountNumber","accountHolderName","networkId","channels"],"properties":{"type":{"type":"string","title":"AF_BANK","description":"Type of payment instrument.","enum":["AF_BANK"]},"country":{"type":"string"},"bankName":{"type":"string"},"accountNumber":{"type":"string"},"accountHolderName":{"type":"string"},"networkId":{"type":"string","description":"Bank network ID"},"channels":{"type":"array","items":{"type":"string","description":"The channels available for this payment network"}}},"description":"Af Bank payment instrument","title":"AF BANK"}]},{"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","country","firstName","lastName","mobileNumber","mobileProvider","networkId","channels"],"properties":{"type":{"type":"string","title":"AF_MOMO","description":"Type of payment instrument.","enum":["AF_MOMO"]},"country":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"mobileNumber":{"type":"string","description":"Users mobile number including country code"},"mobileProvider":{"type":"string","description":"Mobile provider name"},"networkId":{"type":"string","description":"Bank network ID"},"channels":{"type":"array","items":{"type":"string","description":"The channels available for this payment network"}}},"description":"Af Bank payment instrument","title":"AF MOMO"}]}]}}}},"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":["Identity","Instruments"],"description":"Delete a payment instrument.","parameters":[{"schema":{"type":"string"},"example":"id_HYFDutVuh5oWCu266VdmC","in":"path","name":"identityId","required":true,"description":"The unique Identity ID provided upon identity 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/{organizationId}/instrument":{"post":{"summary":"Create Payment Instrument","tags":["Organization","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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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_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":["Organization","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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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":["Organization","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":{"anyOf":[{"type":"string","enum":["SOLANA"]},{"type":"string","enum":["ETHEREUM"]},{"type":"string","enum":["BASE"]}]},"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":["Organization","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/identity":{"post":{"summary":"Create a new identity","tags":["Identity"],"description":"An individual/person must be registered and verified as an identity before it can perform transactions on this platform.\n\nIf you have an agreement to verify an identity yourself, please provide `customerVerification`. Otherwise, a KYC process will be initiated for this identity.\nThe identity will remain in `PENDING_VERIFICATION` until the compliance checks have successfully completed.","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["countryOfResidence","email","phone"],"properties":{"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"countryOfResidence":{"type":"string","description":"ISO-3166-1 Alpha-2 country code where the identity resides","examples":["US","AU"]},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","examples":["+12125551234"]},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"}}},{"type":"object","required":["name","dateOfBirth"],"properties":{"name":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"description":"Legal name of the person"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","examples":["1980-10-23"]}}}]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","status","countryOfResidence","email","phone","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for this identity","example":"id_....."},"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"status":{"type":"string","enum":["ACTIVE","PENDING_VERIFICATION","REVIEW","DISABLED","BLOCKED","DELETED"],"description":"* `ACTIVE`: Identity can transact\n* `PENDING_VERIFICATION`: Waiting for verification to complete before it can transact\n* `REVIEW`: Identity is being reviewed for compliance\n* `DISABLED`: Identity has been disabled by the customer\n* `BLOCKED`: Identity has been blocked from transacting due to compliance\n* `DELETED`: The identity has been deleted and cannot be used"},"name":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"description":"Legal name of the person"},"countryOfResidence":{"type":"string","description":"ISO-3166-1 Alpha-2 country code where the identity resides","example":"US"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","example":"1980-10-23"},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","example":"+12125551234"},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"},"amlVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Anti-money laundering verification"},"identityDocumentVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Identity document, e.g. passport, government ID card, etc. verification"},"createdAt":{"type":"string","format":"date-time","description":"When this record was created"},"updatedAt":{"type":"string","format":"date-time","description":"When this record was last updated"},"deletedAt":{"type":"string","format":"date-time","description":"When this record was deleted"}}}}}},"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_COUNTRY"]},"message":{"type":"string"}},"title":"INVALID_COUNTRY","description":"Invalid country code. Please provide an ISO-3166-1 Alpha-2 country code."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"Invalid phone number. Please provide an E.164 format contact phone number."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"Invalid email address"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_DATE_OF_BIRTH"]},"message":{"type":"string"}},"title":"INVALID_DATE_OF_BIRTH","description":"Invalid date of birth. Please provide an ISO-8601 data (`yyyy-MM-dd`)."},{"allOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"An identity with this email or phone number has already been registered."},{"type":"object","required":["duplicateIds"],"properties":{"duplicateIds":{"type":"array","items":{"type":"string"}}}}]}],"title":"Validation Error"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["CANNOT_BYO_KYC"]},"message":{"type":"string"}},"title":"CANNOT_BYO_KYC","description":"You are not configured to skip the verification process"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["PRODUCT_INACTIVE"]},"message":{"type":"string"}},"title":"PRODUCT_INACTIVE","description":"You are not configured to skip the verification process"}]}]}}}},"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 identities","tags":["Identity"],"description":"If no results are found, an empty array is returned.\n\nTo return deleted identities, `DELETED` status must be supplied explicitly for `statuses` query param.","parameters":[{"schema":{"type":"string"},"in":"query","name":"ids","required":false,"description":"Return all identities matching these IDs (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"referenceIds","required":false,"description":"Return all identities matching these customer reference IDs (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"statuses","required":false,"description":"Return all identities matching these statuses (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"countriesOfResidence","required":false,"description":"Return all identities matching these countries of residence (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"emails","required":false,"description":"Return all identities matching these emails (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"phones","required":false,"description":"Return all identities matching these phone numbers (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"nameLike","required":false,"description":"Return all identities whose name partially matches first name, middle name, last name or full name (case-insensitive)."},{"schema":{"type":"string"},"in":"query","name":"referenceIdLike","required":false,"description":"Return all identities whose customer reference ID partially matches this value (case-insensitive)."},{"schema":{"type":"string"},"in":"query","name":"emailLike","required":false,"description":"Return all identities whose email partially matches this value (case-insensitive)."},{"schema":{"type":"string"},"in":"query","name":"phoneLike","required":false,"description":"Return all identities whose phone number partially matches this value (case-insensitive)."},{"schema":{"type":"boolean"},"in":"query","name":"hasCustomerVerification","required":false,"description":"Return only identities that have customer verification or don't. Omit to return identities regardless of customer verification."},{"schema":{"type":"string"},"in":"query","name":"amlVerificationStatuses","required":false,"description":"Anti-money laundering verification statuses (comma-separated list)."},{"schema":{"type":"string"},"in":"query","name":"identityDocumentVerificationStatuses","required":false,"description":"Identity document verification statuses (comma-separated list)."},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"createdBefore","required":false,"description":"Filter identities created before the specified date-time"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"createdAfter","required":false,"description":"Filter identities created after the specified date-time"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"updatedBefore","required":false,"description":"Filter identities updated before the specified date-time"},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"updatedAfter","required":false,"description":"Filter identities updated after the specified date-time"},{"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":50},"in":"query","name":"pageSize","required":false,"description":"Items per page to return"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["items","hasNext"],"properties":{"items":{"type":"array","items":{"type":"object","required":["id","status","countryOfResidence","email","phone","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for this identity","example":"id_....."},"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"status":{"type":"string","enum":["ACTIVE","PENDING_VERIFICATION","REVIEW","DISABLED","BLOCKED","DELETED"],"description":"* `ACTIVE`: Identity can transact\n* `PENDING_VERIFICATION`: Waiting for verification to complete before it can transact\n* `REVIEW`: Identity is being reviewed for compliance\n* `DISABLED`: Identity has been disabled by the customer\n* `BLOCKED`: Identity has been blocked from transacting due to compliance\n* `DELETED`: The identity has been deleted and cannot be used"},"name":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"description":"Legal name of the person"},"countryOfResidence":{"type":"string","description":"ISO-3166-1 Alpha-2 country code where the identity resides","example":"US"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","example":"1980-10-23"},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","example":"+12125551234"},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"},"amlVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Anti-money laundering verification"},"identityDocumentVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Identity document, e.g. passport, government ID card, etc. verification"},"createdAt":{"type":"string","format":"date-time","description":"When this record was created"},"updatedAt":{"type":"string","format":"date-time","description":"When this record was last updated"},"deletedAt":{"type":"string","format":"date-time","description":"When this record was deleted"}}}},"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"}}}},"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/identity/{id}":{"get":{"summary":"Get an identity","tags":["Identity"],"parameters":[{"schema":{"type":"string"},"example":"id_.....","in":"path","name":"id","required":true,"description":"Unique identifier for this identity"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","status","countryOfResidence","email","phone","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for this identity","example":"id_....."},"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"status":{"type":"string","enum":["ACTIVE","PENDING_VERIFICATION","REVIEW","DISABLED","BLOCKED","DELETED"],"description":"* `ACTIVE`: Identity can transact\n* `PENDING_VERIFICATION`: Waiting for verification to complete before it can transact\n* `REVIEW`: Identity is being reviewed for compliance\n* `DISABLED`: Identity has been disabled by the customer\n* `BLOCKED`: Identity has been blocked from transacting due to compliance\n* `DELETED`: The identity has been deleted and cannot be used"},"name":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"description":"Legal name of the person"},"countryOfResidence":{"type":"string","description":"ISO-3166-1 Alpha-2 country code where the identity resides","example":"US"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","example":"1980-10-23"},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","example":"+12125551234"},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"},"amlVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Anti-money laundering verification"},"identityDocumentVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Identity document, e.g. passport, government ID card, etc. verification"},"createdAt":{"type":"string","format":"date-time","description":"When this record was created"},"updatedAt":{"type":"string","format":"date-time","description":"When this record was last updated"},"deletedAt":{"type":"string","format":"date-time","description":"When this record was deleted"}}}}}},"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 an identity","tags":["Identity"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ACTIVE","DISABLED"]},"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","example":"1980-10-23"},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","example":"+12125551234"},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"}}}}}},"parameters":[{"schema":{"type":"string"},"example":"id_.....","in":"path","name":"id","required":true,"description":"Unique identifier for this identity"},{"schema":{"type":"string"},"in":"header","name":"Idempotency-Key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","status","countryOfResidence","email","phone","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for this identity","example":"id_....."},"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"status":{"type":"string","enum":["ACTIVE","PENDING_VERIFICATION","REVIEW","DISABLED","BLOCKED","DELETED"],"description":"* `ACTIVE`: Identity can transact\n* `PENDING_VERIFICATION`: Waiting for verification to complete before it can transact\n* `REVIEW`: Identity is being reviewed for compliance\n* `DISABLED`: Identity has been disabled by the customer\n* `BLOCKED`: Identity has been blocked from transacting due to compliance\n* `DELETED`: The identity has been deleted and cannot be used"},"name":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"description":"Legal name of the person"},"countryOfResidence":{"type":"string","description":"ISO-3166-1 Alpha-2 country code where the identity resides","example":"US"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","example":"1980-10-23"},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","example":"+12125551234"},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"},"amlVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Anti-money laundering verification"},"identityDocumentVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Identity document, e.g. passport, government ID card, etc. verification"},"createdAt":{"type":"string","format":"date-time","description":"When this record was created"},"updatedAt":{"type":"string","format":"date-time","description":"When this record was last updated"},"deletedAt":{"type":"string","format":"date-time","description":"When this record was deleted"}}}}}},"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_COUNTRY"]},"message":{"type":"string"}},"title":"INVALID_COUNTRY","description":"Invalid country code. Please provide an ISO-3166-1 Alpha-2 country code."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_PHONE"]},"message":{"type":"string"}},"title":"INVALID_PHONE","description":"Invalid phone number. Please provide an E.164 format contact phone number."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_EMAIL"]},"message":{"type":"string"}},"title":"INVALID_EMAIL","description":"Invalid email address"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_DATE_OF_BIRTH"]},"message":{"type":"string"}},"title":"INVALID_DATE_OF_BIRTH","description":"Invalid date of birth. Please provide an ISO-8601 data (`yyyy-MM-dd`)."},{"allOf":[{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["DUPLICATE"]},"message":{"type":"string"}},"title":"DUPLICATE","description":"An identity with this email or phone number has already been registered."},{"type":"object","required":["duplicateIds"],"properties":{"duplicateIds":{"type":"array","items":{"type":"string"}}}}]}],"title":"Validation Error"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["CANNOT_BYO_KYC"]},"message":{"type":"string"}},"title":"CANNOT_BYO_KYC","description":"You are not configured to skip the verification process"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["INVALID_STATUS"]},"message":{"type":"string"}},"title":"INVALID_STATUS","description":"You can only toggle between `ACTIVE` and `DISABLED` statuses."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["MISSING_NAME"]},"message":{"type":"string"}},"title":"MISSING_NAME","description":"This is a legacy identity that lacks a legal name. It cannot be updated any further unless the request also includes the legal name."},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["CANNOT_UPDATE_NAME"]},"message":{"type":"string"}},"title":"CANNOT_UPDATE_NAME","description":"The legal name cannot be updated once it is set."}]}]}}}},"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 an identity","tags":["Identity"],"description":"You can no longer use a deleted identity to transact. However, you can still retrieve it by ID.","parameters":[{"schema":{"type":"string"},"example":"id_.....","in":"path","name":"id","required":true,"description":"Unique identifier for this identity"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","status","countryOfResidence","email","phone","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for this identity","example":"id_....."},"referenceId":{"type":"string","description":"Customer's unique identifier for this identity"},"status":{"type":"string","enum":["ACTIVE","PENDING_VERIFICATION","REVIEW","DISABLED","BLOCKED","DELETED"],"description":"* `ACTIVE`: Identity can transact\n* `PENDING_VERIFICATION`: Waiting for verification to complete before it can transact\n* `REVIEW`: Identity is being reviewed for compliance\n* `DISABLED`: Identity has been disabled by the customer\n* `BLOCKED`: Identity has been blocked from transacting due to compliance\n* `DELETED`: The identity has been deleted and cannot be used"},"name":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"middleName":{"type":"string"},"lastName":{"type":"string"}},"description":"Legal name of the person"},"countryOfResidence":{"type":"string","description":"ISO-3166-1 Alpha-2 country code where the identity resides","example":"US"},"dateOfBirth":{"type":"string","description":"Date of birth in ISO-8601 format: `yyyy-MM-dd`","example":"1980-10-23"},"email":{"type":"string","description":"Email to contact the identity"},"phone":{"type":"string","description":"E.164 format contact phone number for the identity","example":"+12125551234"},"customerVerification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for KYC in the customer system. This reference will be used when requiring compliance information."}},"description":"Customer provides their own verification"},"amlVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Anti-money laundering verification"},"identityDocumentVerification":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["PENDING","REVIEW","APPROVED","DECLINED"]}},"description":"Identity document, e.g. passport, government ID card, etc. verification"},"createdAt":{"type":"string","format":"date-time","description":"When this record was created"},"updatedAt":{"type":"string","format":"date-time","description":"When this record was last updated"},"deletedAt":{"type":"string","format":"date-time","description":"When this record was deleted"}}}}}},"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/identity/{id}/verification-url":{"post":{"summary":"Get the verification URL for an identity","tags":["Identity"],"description":"This URL can be send to a person to fill out. Currently, the verification only covers identity documents.","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":"id_.....","in":"path","name":"id","required":true,"description":"Unique identifier for this identity"},{"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 identity'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/identity/{identityId}/ledger-accounts/{accountId}/deposit-memos":{"post":{"summary":"Create a deposit memo for an identity's ledger account","tags":["Identity","Ledger Account","Deposit Memo"],"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":{"enum":["metcap","greendot","dart"]},"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":"id_xxxxxxxxxx","in":"path","name":"identityId","required":true,"description":"The unique identifier for the identity 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_IDENTITY"]},"message":{"type":"string"}},"title":"INVALID_IDENTITY","description":"The identity 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 identity","tags":["Identity","Ledger Account","Deposit Memo"],"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":"id_xxxxxxxxxx","in":"path","name":"identityId","required":true,"description":"The unique identifier for the identity 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/identity/{identityId}/ledger-accounts/{accountId}/deposit-memos/{memo}":{"get":{"summary":"Get a deposit memo details for an identity's ledger account","tags":["Identity","Ledger Account","Deposit Memo"],"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":"id_xxxxxxxxxx","in":"path","name":"identityId","required":true,"description":"The unique identifier for the identity 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/identity/{identityId}/ledger-accounts":{"post":{"summary":"Create a ledger account of an identity","tags":["Identity","Ledger Account"],"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":"id_xxxxxxxxxx","in":"path","name":"identityId","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_IDENTITY"]},"message":{"type":"string"}},"title":"INVALID_IDENTITY","description":"The identity 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 identity","tags":["Identity","Ledger Account"],"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":"id_xxxxxxxxxx","in":"path","name":"identityId","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/identity/{identityId}/ledger-accounts/{id}":{"put":{"summary":"Update a ledger account of an identity","tags":["Identity","Ledger Account"],"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":"id_xxxxxxxxxx","in":"path","name":"identityId","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_IDENTITY"]},"message":{"type":"string"}},"title":"INVALID_IDENTITY","description":"The identity 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 identity","tags":["Identity","Ledger 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":"id_xxxxxxxxxx","in":"path","name":"identityId","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/identity/{identityId}/products":{"get":{"summary":"List products available to an identity","tags":["Identity","Product"],"description":"Returns every product configured for this customer with the identity'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":"id_xxxxxxxxxx","in":"path","name":"identityId","required":true,"description":"The unique identifier for the identity"}],"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/ledger-accounts":{"get":{"summary":"Search for ledger accounts","tags":["Ledger Account"],"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","title":"Identity"},"in":"query","name":"identityIds","required":false,"description":"Comma-separated list of matching identity IDs"},{"schema":{"type":"string","title":"Organization"},"in":"query","name":"organizationIds","required":false,"description":"Comma-separated list of matching organization IDs"}],"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":["id","balance","address","visibility","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for a ledger account, in `redwal_...` format","examples":["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"}}},{"anyOf":[{"type":"object","required":["identityId"],"properties":{"identityId":{"type":"string","examples":["id_xxxxxx"]}},"title":"Identity"},{"type":"object","required":["organizationId"],"properties":{"organizationId":{"type":"string","examples":["org_xxxxxx"]}},"title":"Organization"}]}]}}}}}}},"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/ledger-accounts/{id}":{"get":{"summary":"Get a ledger account details","tags":["Ledger Account"],"parameters":[{"schema":{"type":"string"},"example":"redwal_xxxxxxxx","in":"path","name":"id","required":true,"description":"The unique identifier for the account"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["id","balance","address","visibility","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"Unique identifier for a ledger account, in `redwal_...` format","examples":["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"}}},{"anyOf":[{"type":"object","required":["identityId"],"properties":{"identityId":{"type":"string","examples":["id_xxxxxx"]}},"title":"Identity"},{"type":"object","required":["organizationId"],"properties":{"organizationId":{"type":"string","examples":["org_xxxxxx"]}},"title":"Organization"}]}]}}}},"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":["Organization","Ledger Account","Deposit Memo"],"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":{"enum":["metcap","greendot","dart"]},"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":["Organization","Ledger Account","Deposit Memo"],"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":["Organization","Ledger Account","Deposit Memo"],"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}/ledger-accounts":{"post":{"summary":"Create a ledger account of an organization","tags":["Organization","Ledger Account"],"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":["Organization","Ledger Account"],"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":["Organization","Ledger Account"],"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":["Organization","Ledger 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"}}}}}},"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":["Organization","Product"],"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"}}}}}}}},"servers":[{"url":"https://api.dev.cfx.to","description":"Customer Sandbox"},{"url":"https://api.cfx.to","description":"Production"}],"security":[{"ApiKeyAuth":[],"ApiSecretAuth":[]}],"externalDocs":{"description":"Find out more about CFX","url":"https://www.cfxlabs.com/"}}