openapi: 3.0.1 info: description: | ## Terms and Definitions Throughout this document and the Velo platform the following terms are used: * **Payor.** An entity (typically a corporation) which wishes to pay funds to one or more payees via a payout. * **Payee.** The recipient of funds paid out by a payor. * **Payment.** A single transfer of funds from a payor to a payee. * **Payout.** A batch of Payments, typically used by a payor to logically group payments (e.g. by business day). Technically there need be no relationship between the payments in a payout - a single payout can contain payments to multiple payees and/or multiple payments to a single payee. * **Sandbox.** An integration environment provided by Velo Payments which offers a similar API experience to the production environment, but all funding and payment events are simulated, along with many other services such as OFAC sanctions list checking. ## Overview The Velo Payments API allows a payor to perform a number of operations. The following is a list of the main capabilities in a natural order of execution: * Authenticate with the Velo platform * Maintain a collection of payees * Query the payor’s current balance of funds within the platform and perform additional funding * Issue payments to payees * Query the platform for a history of those payments This document describes the main concepts and APIs required to get up and running with the Velo Payments platform. It is not an exhaustive API reference. For that, please see the separate Velo Payments API Reference. ## API Considerations The Velo Payments API is REST based and uses the JSON format for requests and responses. Most calls are secured using OAuth 2 security and require a valid authentication access token for successful operation. See the Authentication section for details. Where a dynamic value is required in the examples below, the {token} format is used, suggesting that the caller needs to supply the appropriate value of the token in question (without including the { or } characters). Where curl examples are given, the –d @filename.json approach is used, indicating that the request body should be placed into a file named filename.json in the current directory. Each of the curl examples in this document should be considered a single line on the command-line, regardless of how they appear in print. ## Authenticating with the Velo Platform Once Velo backoffice staff have added your organization as a payor within the Velo platform sandbox, they will create you a payor Id, an API key and an API secret and share these with you in a secure manner. You will need to use these values to authenticate with the Velo platform in order to gain access to the APIs. The steps to take are explained in the following: create a string comprising the API key (e.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8) and API secret (e.g. c396b26b-137a-44fd-87f5-34631f8fd529) with a colon between them. E.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8:c396b26b-137a-44fd-87f5-34631f8fd529 base64 encode this string. E.g.: NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ== create an HTTP **Authorization** header with the value set to e.g. Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ== perform the Velo authentication REST call using the HTTP header created above e.g. via curl: ``` curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==" \ 'https://api.sandbox.velopayments.com/v1/authenticate?grant_type=client_credentials' ``` If successful, this call will result in a **200** HTTP status code and a response body such as: ``` { "access_token":"19f6bafd-93fd-4747-b229-00507bbc991f", "token_type":"bearer", "expires_in":1799, "scope":"..." } ``` ## API access following authentication Following successful authentication, the value of the access_token field in the response (indicated in green above) should then be presented with all subsequent API calls to allow the Velo platform to validate that the caller is authenticated. This is achieved by setting the HTTP Authorization header with the value set to e.g. Bearer 19f6bafd-93fd-4747-b229-00507bbc991f such as the curl example below: ``` -H "Authorization: Bearer 19f6bafd-93fd-4747-b229-00507bbc991f " ``` If you make other Velo API calls which require authorization but the Authorization header is missing or invalid then you will get a **401** HTTP status response. license: name: Apache License 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: Velo Payments APIs version: 2.14.85 x-logo: url: https://velopayments.com/images/velo-logo.svg servers: - description: Velo Payments Sandbox for testing url: https://api.sandbox.velopayments.com/ security: - OAuth2: [] tags: - description: | A payee is a person you wish to transfer money to. In this section you will find API opertions for working with Payees. name: Payees - description: Payee invitation is a process of inviting individual payees to the Velo platform. In this sction you will find APIs for working with Payee Invitations. name: Payee Invitation - description: A Payor is the entity which is sending money. Here you will find the available APIs for working with Payors. name: Payors - description: Payout Service APIs allow you to create and instruct payouts to payees. name: Payouts - description: Payment Audit Service APIs allow you to see payment history to payees. name: Payments - description: APIs which allows you to work with payees invited to the Velo Platform. name: Invites - description: |
This document, including all counts herein, and the Velo Payments API are the intellectual property of Velo Payments. The Velo Payment API and your use of the Velo Payment API, is goverend by and subject to the Velo Payments Terms of Use
© Velo Payments, Inc.
name: Legal paths: /v1/payors/{payorId}: get: deprecated: true description: | Get a Single Payor by Id. operationId: getPayorById parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/Payor' description: Get Payor Details x-contracts: - contractId: 1 headers: Content-Type: application/json;charset=UTF-8 body: payorId: 0a818933-087d-47f2-ad83-2f986ed087eb payorName: Joe address: line1: 101 California Street city: San Francisco zipOrPostcode: "94111" country: US primaryContactName: Joe primaryContactPhone: 1231231234 primaryContactEmail: foo@example.com kycState: PASSED_KYC manualLockout: false payeeGracePeriodProcessingEnabled: true payeeGracePeriodDays: 90 dbaName: FlyByNight, Inc allowsLanguageChoice: false reminderEmailsOptOut: false language: EN supportContact: support@example.com collectiveAlias: MyAlias 404: description: Payor Id Not Found x-contracts: - contractId: 2 headers: Content-Length: "0" summary: Get Payor tags: - Payors x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/126969bd-6a18-47ec-96e1-57559afecf32' -i -X GET \ -H 'Authorization: Bearer 3387c417-464c-41a6-b25e-6630f0a06093' \ -H 'Content-Type: application/json' x-contracts: - contractId: 1 name: Test Get Payor contractPath: /v1/payors/0a818933-087d-47f2-ad83-2f986ed087eb serviceName: payor-service - contractId: 2 name: Test Payor Not Found contractPath: /v1/payors/00000000-0000-0000-0000-000000000000 serviceName: payor-service /v2/payors/{payorId}: get: description: | Get a Single Payor by Id. operationId: getPayorByIdV2 parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/Payor_2' description: Get Payor Details x-contracts: - contractId: 1 headers: Content-Type: application/json;charset=UTF-8 body: payorId: 0a818933-087d-47f2-ad83-2f986ed087eb payorName: Joe address: line1: 101 California Street city: San Francisco zipOrPostcode: "94111" country: US primaryContactName: Joe primaryContactPhone: 1231231234 primaryContactEmail: foo@example.com kycState: PASSED_KYC manualLockout: false payeeGracePeriodProcessingEnabled: true payeeGracePeriodDays: 90 dbaName: FlyByNight, Inc allowsLanguageChoice: false reminderEmailsOptOut: false language: EN supportContact: support@example.com collectiveAlias: MyAlias 404: description: Payor Id Not Found x-contracts: - contractId: 2 headers: Content-Length: "0" summary: Get Payor tags: - Payors x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/payors/126969bd-6a18-47ec-96e1-57559afecf32' -i -X GET \ -H 'Authorization: Bearer 3387c417-464c-41a6-b25e-6630f0a06093' \ -H 'Content-Type: application/json' x-contracts: - contractId: 1 name: Test Get Payor V2 contractPath: /v2/payors/0a818933-087d-47f2-ad83-2f986ed087eb serviceName: payor-service - contractId: 2 name: Test Payor Not Found V2 contractPath: /v2/payors/00000000-0000-0000-0000-000000000000 serviceName: payor-service /v1/payors/{payorId}/payorFundingBankDetailsUpdate: post: description: | This API allows you to set or update the funding details for the given Payor ID. operationId: setPayorFundingBankDetails parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PayorFundingBankDetailsUpdate' description: Update Funding bank details of given Payor Id required: true x-contracts: - contractId: 1 headers: Content-Type: application/json body: routingNumber: "123456789" accountNumber: "12345" accountName: Robert C. Smith matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.routingNumber type: by_regex predefined: non_empty - path: $.accountNumber type: by_regex predefined: non_empty - path: $.accountName type: by_regex predefined: non_empty responses: 202: description: HTTP Accepted x-contracts: - contractId: 1 400: description: Invalid Request Body 403: description: Not Authorized 404: description: Payor Id Not Found summary: Set Funding Bank Details tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/c64b31d1-d553-4205-ac22-b57020a9c7db/payorFundingBankDetailsUpdate' -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer 1d1e3d28-0d6a-4d45-b250-9962a2c545db' \ -d '{"routingNumber":"123456789","accountNumber":"12345","accountName":"Robert C. Smith"}' x-contracts: - contractId: 1 name: Set Funding Bank Details contractPath: /v1/payors/0a818933-087d-47f2-ad83-2f986ed087eb/payorFundingBankDetailsUpdate serviceName: payor-service /v1/payors/{payorId}/applications: post: description: Create an application for the given Payor ID. Applications are programatic users which can be assigned unique keys. operationId: payorCreateApplicationRequest parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PayorCreateApplicationRequest' description: Details of application to create required: true x-contracts: - contractId: 1 headers: Content-Type: application/json body: name: foo description: a foo application matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.name type: by_regex predefined: non_empty - path: $.description type: by_regex predefined: non_empty responses: 201: description: Success headers: Location: description: location schema: type: string x-contracts: - contractId: 1 mathers: headers: - key: Location predefined: non_blank 400: description: invalid request body or payor in invalid state 404: description: Payor not found. 409: description: Application name conflict summary: Create Application tags: - Payor Applications x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/79a6fdaa-f4bb-47b7-9c1f-f6fd99c156a0/applications' -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer 93560bbb-5e79-492a-97b5-1ffbdf1cfeb8' \ -d '{"name":"foo","description":"a foo application"}' x-contracts: - contractId: 1 name: Test Create Application contractPath: /v1/payors/835ac62e-616c-4261-bf38-63366db78c0d/applications serviceName: payor-service /v1/payors/{payorId}/applications/{applicationId}/keys: post: description: Create an an API key for the given payor Id and application Id operationId: payorCreateApiKeyRequest parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string - description: Application ID in: path name: applicationId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PayorCreateApiKeyRequest' description: Details of application API key to create required: true x-contracts: - contractId: 4 headers: Content-Type: application/json body: name: Key Name description: A key description roles: - payor.admin matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.name type: by_regex predefined: non_empty - path: $.description type: by_regex predefined: non_empty - path: $.roles type: by_regex predefined: non_empty responses: 200: content: application/json: schema: $ref: '#/components/schemas/PayorCreateApiKeyResponse' description: HTTP Ok, key created x-contracts: - contractId: 4 headers: Content-Type: application/json body: apiKey: 385d4506-e7dd-446e-a092-5f30b98e7b26 apiSecret: f25767d9-342a-48ac-a788-0a7a38ae6fb3 matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.apiKey type: by_regex predefined: non_empty - path: $.apiSecret type: by_regex predefined: non_empty 400: description: Invalid Request Body or Payor in Invalid State 404: description: Payor Id Not Found summary: Create API Key tags: - Payor Applications x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/79a6fdaa-f4bb-47b7-9c1f-f6fd99c156a0/applications/ba08877f-9d96-41e4-9c26-44a872d856ae/keys' -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer 698f1609-c616-48f0-b8d5-03373e9fbd40' \ -d '{"name":"foo","description":"a foo key","roles":["foo.role"]}' x-contracts: - contractId: 4 name: Create an API key for a payor contractPath: /v1/payors/0a818933-087d-47f2-ad83-2f986ed087eb/applications/ba08877f-9d96-41e4-9c26-44a872d856ae/keys serviceName: payor-service /v1/payors/{payorId}/reminderEmailsUpdate: post: description: | Update the emailRemindersOptOut field for a Payor. This API can be used to opt out or opt into Payor Reminder emails. These emails are typically around payee events such as payees registering and onboarding. operationId: payorEmailOptOut parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PayorEmailOptOutRequest' description: Reminder Emails Opt-Out Request required: true x-contracts: - contractId: 1 headers: Content-Type: application/json body: reminderEmailsOptOut: true - contractId: 2 headers: Content-Type: application/json body: reminderEmailsOptOut: true - contractId: 3 headers: Content-Type: application/json body: reminderEmailsOptOut_BadRequest: true responses: 202: description: HTTP Accepted x-contracts: - contractId: 1 400: description: Invalid Request Body x-contracts: - contractId: 3 404: description: Payor Id Not Found x-contracts: - contractId: 2 summary: Reminder Email Opt-Out tags: - Payors x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/d8d49d3a-0712-4ad0-bb14-2e308d240233/reminderEmailsUpdate' -i -X POST \ -H 'Authorization: Bearer fc825fad-e4a7-49e5-b6d9-9b9aa47a19c8' \ -H 'Content-Type: application/json' \ -d '{"reminderEmailsOptOut":true}' x-contracts: - contractId: 1 name: Test Email Opt-Out serviceName: payor-service contractPath: /v1/payors/0a818933-087d-47f2-ad83-2f986ed087eb/reminderEmailsUpdate - contractId: 2 name: Test Not Found serviceName: payor-service contractPath: /v1/payors/00000000-0000-0000-0000-000000000000/reminderEmailsUpdate - contractId: 3 name: Test Email Opt-Out Bad Request serviceName: payor-service contractPath: /v1/payors/0a818933-087d-47f2-ad83-2f986ed087eb/reminderEmailsUpdate /v1/payors/{payorId}/branding/logos: post: description: Add Payor Logo. Logo file is used in your branding, and emails sent to payees. operationId: payorAddPayorLogo parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PayorLogoRequest' description: Image file to upload required: true responses: 204: description: No Content 400: description: Invalid Request Body 404: description: Payor Id Not Found summary: Add Logo tags: - Payors x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/450ecb66-df18-4d0c-b557-f718782775df/branding/logos' -i -X POST \ -H 'Content-Type: multipart/form-data' \ -F 'logo=@mylogo.png;type=image/png' /v1/payors/{payorId}/branding: get: description: Get the payor branding details. operationId: payorGetBranding parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/PayorBrandingResponse' description: HTTP Ok, key created x-contracts: - contractId: 1 body: payorName: Payor1 logoUrl: http://example.com collectiveAlias: customer supportContact: support@example.com dbaName: FlybyNight Inc matchers: headers: - key: Content_type regex: application/json.* body: - path: $.payorName type: by_regex predefined: non_empty - path: $.logoUrl type: by_regex predefined: non_empty - path: $.collectiveAlias type: by_regex predefined: non_empty - path: $.supportContact type: by_regex predefined: non_empty - path: $.dbaName type: by_regex predefined: non_empty 400: description: Invalid Request Body or Payor in invalid state 404: description: Payor Id Not Found x-contracts: - contractId: 2 summary: Get Branding tags: - Payors x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payors/450ecb66-df18-4d0c-b557-f718782775df/branding' -i -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer d60eef1c-bea6-4f7e-8755-e916268ad4ff' x-contracts: - contractId: 1 name: Get Payor Branding Details description: Test to get branding details for payor label: Payor_Branding priority: 10 ignored: false contractPath: /v1/payors/0a818933-087d-47f2-ad83-2f986ed087eb/branding serviceName: payor-service - contractId: 2 name: Get Payor Brandding Details - not found description: Test to not found status returned by API label: Payor_Branding priority: 20 contractPath: /v1/payors/00000000-0000-0000-0000-000000000000/branding serviceName: payor-service /v1/payorLinks: get: description: This endpoint allows you to list payor links operationId: payorLinks parameters: - description: The Payor ID from which to start the query to show all descendants in: query name: descendantsOfPayor required: true schema: format: uuid type: string - description: "List of additional Payor fields to include in the response for\ \ each Payor.\nThe values of payorId and payorName and always included for\ \ each Payor - 'fields' allows you to add to this.\nExample: ```fields=primaryContactEmail,kycState```\ \ - will include payorId+payorName+primaryContactEmail+kycState for each\ \ Payor\nDefault if not specified is to include only payorId and payorName.\n\ The supported fields are any combination of: primaryContactEmail,kycState\n\ \ \n" in: query name: fields required: false schema: type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/PayorLinksResponse' description: Details of Payor Links x-contracts: - contractId: 1 headers: Content-Type: application/json body: links: - linkId: 65514617-d18d-4bb4-8cee-09b3e7625fc9 fromPayorId: 51e93026-2f47-4dfd-a5ff-c0da0954a847 linkType: PARENT_OF toPayorId: b0b09d8a-866c-4703-833e-2ff9106e185b - linkId: 6a91b045-6f42-4f9f-a627-f97f66d39bef fromPayorId: b0b09d8a-866c-4703-833e-2ff9106e185b linkType: PARENT_OF toPayorId: 15486051-aa39-430d-8926-a4bc2fea1d04 payors: - payorId: 51e93026-2f47-4dfd-a5ff-c0da0954a847 payorName: Payor One - payorId: b0b09d8a-866c-4703-833e-2ff9106e185b payorName: Payor Two - payorId: 15486051-aa39-430d-8926-a4bc2fea1d04 payorName: Payor Three matchers: headers: - key: Content-Type regex: application/json.* - contractId: 2 headers: Content-Type: application/json body: links: - linkId: 65514617-d18d-4bb4-8cee-09b3e7625fc9 fromPayorId: 51e93026-2f47-4dfd-a5ff-c0da0954a847 linkType: PARENT_OF toPayorId: b0b09d8a-866c-4703-833e-2ff9106e185b - linkId: 6a91b045-6f42-4f9f-a627-f97f66d39bef fromPayorId: b0b09d8a-866c-4703-833e-2ff9106e185b linkType: PARENT_OF toPayorId: 15486051-aa39-430d-8926-a4bc2fea1d04 payors: - payorId: 51e93026-2f47-4dfd-a5ff-c0da0954a847 payorName: Payor One primaryContactEmail: payorone@somewhere.com kycState: FAILED_KYC - payorId: b0b09d8a-866c-4703-833e-2ff9106e185b payorName: Payor Two primaryContactEmail: payortwo@anothersite.com kycState: PASSED_KYC - payorId: 15486051-aa39-430d-8926-a4bc2fea1d04 payorName: Payor Three primaryContactEmail: payorthree@example.com kycState: REQUIRES_KYC matchers: headers: - key: Content-Type regex: application/json.* 400: description: Bad Request 404: description: Not Found 403: description: Forbidden summary: List Payor Links tags: - Payors x-contracts: - contractId: 1 name: Test List Payor Links - default Payor fields request: queryParameters: - key: descendantsOfPayor value: 0a818933-087d-47f2-ad83-2f986ed087eb serviceName: payor-service - contractId: 2 name: Test List Payor Links - all Payor fields requested request: queryParameters: - key: descendantsOfPayor value: 0a818933-087d-47f2-ad83-2f986ed087eb - key: fields value: primaryContactEmail,kycState serviceName: payor-service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payorLinks?descendantsOfPayor=0a818933-087d-47f2-ad83-2f986ed087eb' -i -X GET \ -H 'Authorization: Bearer 3387c417-464c-41a6-b25e-6630f0a06093' \ -H 'Content-Type: application/json' /v1/payees: get: description: Get a paginated response listing the payees for a payor. operationId: listPayees parameters: - description: The account owner Payor ID in: query name: payorId required: true schema: format: uuid type: string x-contracts: - contractId: 1 value: 0a818933-087d-47f2-ad83-2f986ed087eb matchers: - type: equal_to value: 0a818933-087d-47f2-ad83-2f986ed087eb - description: The ofacStatus of the payees. in: query name: ofacStatus required: false schema: $ref: '#/components/schemas/OfacStatus' - description: The onboarded status of the payees. in: query name: onboardedStatus required: false schema: $ref: '#/components/schemas/OnboardedStatus' - description: Email address in: query name: Email required: false schema: format: email type: string - description: The display name of the payees. in: query name: displayName required: false schema: type: string - description: The remote id of the payees. in: query name: remoteId required: false schema: type: string - description: The onboarded status of the payees. in: query name: payeeType required: false schema: $ref: '#/components/schemas/PayeeType' - description: The country of the payees. in: query name: payeeCountry required: false schema: type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=onboardedStatus:asc,name:asc) Default is name:asc 'name' is treated as company name for companies - last name + ',' + firstName for individuals The supported sort fields are - payeeId, displayName, payoutStatus, onboardedStatus. in: query name: sort required: false schema: default: displayName:asc pattern: '[a-zA-Z]+[:desc|:asc]' type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/PayeeResponse' description: Details of Payee x-contracts: - contractId: 1 headers: Content-Type: application/json body: page: numberOfElements: 1 totalElements: 1 totalPages: 23 page: 9, pageSize: 2 links: - rel: first href: https://api.sandbox.velopayments.com/v1/payees?payorId=1982b223-73b7-419d-a2e1-e64362b0ee8b&page=1&pageSize=2&sort=displayName:asc content: - payeeId: ee2cc9a1-34dd-4ab6-91e3-db111d08d995 matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.page.numberOfElements type: by_regex predefined: number - path: $.page.totalElements type: by_regex predefined: number - path: $.page.totalPages type: by_regex predefined: number - path: $.page.page type: by_regex predefined: number - path: $.page.pageSize type: by_regex predefined: number - path: $.links type: by_type minOccurrence: 1 maxOccurrence: 5 - path: $.links[0].href type: by_regex predefined: url - path: $.content type: by_type minOccurrence: 1 - path: $.content[0].payeeId type: by_regex predefined: uuid - path: $.content[0].email type: by_regex predefined: email - path: $.content[0].created type: by_regex value: ([\d]{4})-([\d]{2})-([\d]{2})T([\d]{2}):([\d]{2}):([\d]{2}).([\d]{1,3})Z - path: $.content[0].payorRefs[0].payorId type: by_regex predefined: uuid 400: description: Bad Request 404: description: Not Found summary: List Payees tags: - Payees x-contracts: - contractId: 1 name: Test List Payees All params headers: Content-Type: application/json request: queryParameters: - key: page value: 1 - key: pageSize value: 30 - key: ofacStatus value: PASSED - key: onboardedStatus value: CREATED - key: email value: testemail@example.com - key: displayName value: foo - key: remoteId value: 123123123asdf - key: payeeType value: Individual - key: payeeCountry value: US serviceName: payee-service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payees?pageSize=2&page=8&payorId=9cade13d-0c55-41a7-9e6d-164e8b138b40&ofacStatus=PASSED&onboardedStatus=INVITED&email=foo@example.com&displayName=Bar&remoteId=remote&payeeCountry=US&payeeType=Individual' -i -X GET \ -H 'Authorization: Bearer 6dd5e976-e329-462f-bd6b-25d463cf02fd' \ -H 'Content-Type: application/json' /v1/payees/{payeeId}: delete: description: | This API will delete Payee by Id (UUID). Deletion by ID is not allowed if: * Payee ID is not found * If Payee has not been on-boarded * If Payee is in grace period * If Payee has existing payments operationId: deletePayeeById parameters: - description: The UUID of the payee. in: path name: payeeId required: true schema: format: uuid type: string responses: 204: description: No content. Payee Id accepted for deletion. x-contracts: - contractId: 1 400: description: Bad Request. Payee Id failed validation for deletion. 404: description: Payee Id not found x-contracts: - contractId: 2 summary: Delete Payee by Id tags: - Payees x-contracts: - contractId: 1 name: Delete normal Id serviceName: payee-service contractPath: /v1/payees/0a818933-087d-47f2-ad83-2f986ed087eb - contractId: 2 name: Delete Payee Id Not Found serviceName: payee-service contractPath: /v1/payees/00000000-0000-0000-0000-000000000000 get: description: Get Payee by Id operationId: getPayeeById parameters: - description: The UUID of the payee. in: path name: payeeId required: true schema: format: uuid type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean x-contracts: - contractId: 4 value: true responses: 200: content: application/json: schema: $ref: '#/components/schemas/Payee' description: 200 response, request completed okay x-contracts: - contractId: 1 headers: Content-Type: application/json;charset=UTF-8 body: payeeId: 0a818933-087d-47f2-ad83-2f986ed087eb individual: name: title: Mr firstName: Barney lastName: Cuthbert otherNames: Grubb nationalIdentification: XXXXX4321 dateOfBirth: XXXX-XX-XX email: bob@example.com onboardedStatus: CREATED ofacStatus: PENDING address: line1: 100 Battery Street line2: line2 line3: line3 line4: line4 city: San Francisco country: US countyOrProvince: California zipOrPostcode: 94018 language: FR marketingOptIns: - optedIn: true matchers: body: - path: $.gracePeriodEndDate type: by_regex value: ([\d]{4})-([\d]{2})-([\d]{2}) - path: $.created type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.acceptTermsAndConditionsTimestamp type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.lastOfacCheckTimestamp type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.marketingOptIns[*].timestamp type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.payorRefs[*].payorId type: by_regex predefined: uuid - path: $.payorRefs[*].remoteId type: by_regex predefined: non_blank - path: $.payorRefs[*].invitationStatus type: by_regex predefined: non_blank - path: $.cellphoneNumber type: by_regex predefined: non_blank - contractId: 2 headers: Content-Type: application/json;charset=UTF-8 body: payeeId: a712d914-61ea-4623-8bd0-32c0f6545bfd company: name: WIDGET CORP taxId: 223344556 email: bob@example.com onboardedStatus: CREATED ofacStatus: PENDING address: line1: 100 Battery Street line2: line2 line3: line3 line4: line4 city: San Francisco country: US countyOrProvince: California zipOrPostcode: 94018 language: FR marketingOptIns: - optedIn: true matchers: body: - path: $.gracePeriodEndDate type: by_regex value: ([\d]{4})-([\d]{2})-([\d]{2}) - path: $.created type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.acceptTermsAndConditionsTimestamp type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.lastOfacCheckTimestamp type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.marketingOptIns[*].timestamp type: by_regex value: ([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]).* - path: $.payorRefs[*].payorId type: by_regex predefined: uuid - path: $.payorRefs[*].remoteId type: by_regex predefined: non_blank - path: $.payorRefs[*].invitationStatus type: by_regex predefined: non_blank - path: $.cellphoneNumber type: by_regex predefined: non_blank - contractId: 4 headers: Content-Type: application/json;charset=UTF-8 body: payeeId: 026cc3c8-3a0c-4083-a05b-e908048c1b08 individual: name: title: Mr firstName: Barney lastName: Cuthbert otherNames: Grubb nationalIdentification: 987654321 dateOfBirth: 1970-05-20 404: description: Payee Not found x-contracts: - contractId: 3 summary: Get Payee by Id tags: - Payees x-contracts: - contractId: 1 name: Get Individual Payee serviceName: payee-service contractPath: /v1/payees/0a818933-087d-47f2-ad83-2f986ed087eb - contractId: 2 name: Get Company Payee serviceName: payee-service contractPath: /v1/payees/a712d914-61ea-4623-8bd0-32c0f6545bfd - contractId: 3 name: Payee Id Not Found serviceName: payee-service contractPath: /v1/payees/00000000-0000-0000-0000-000000000000 - contractId: 4 name: Get Payee sensitve true serviceName: payee-service contractPath: /v1/payees/026cc3c8-3a0c-4083-a05b-e908048c1b08 /v1/deltas/payees: get: description: Get a paginated response listing payee changes. operationId: listPayeeChanges parameters: - description: The Payor ID to find associated Payees in: query name: payorId required: true schema: format: uuid type: string x-contracts: - contractId: 1 value: 0a818933-087d-47f2-ad83-2f986ed087eb matchers: - type: equal_to value: 0a818933-087d-47f2-ad83-2f986ed087eb - description: The updatedSince filter in the format YYYY-MM-DDThh:mm:ss+hh:mm in: query name: updatedSince required: true schema: format: date-time type: string x-contracts: - contractId: 1 value: 2019-01-20T09:00:00+00:00 matchers: - type: equal_to value: 2019-01-20T09:00:00+00:00 - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 100. Max allowable is 1000. in: query name: pageSize required: false schema: default: 100 format: int32 type: integer responses: 200: content: application/json: example: | { "page": { "numberOfElements": 2, "totalElements": 2, "totalPages": 1, "page": 1, "pageSize": 1000 }, "content": [ { "remoteId":"payeeA", "payeeId":"ee2cc9a1-34dd-4ab6-91e3-db111d08d995", "displayName":"pA" },{ "remoteId" : "payeeB", "payeeId":"e904966e-ae6a-4ddd-879c-fd1167c21849", "onboardedStatus":"INVITED", "email":"payeeB@example.com", "displayName":"P AyeeB" } ], "links": [ { "rel": "first", "href": "http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000" }, { "rel": "last", "href": "http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000" }, { "rel": "self", "href": "http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000" } ] } schema: $ref: '#/components/schemas/PayeeDeltaResponse' description: Details of Payee Changes x-contracts: null 400: description: Bad Request summary: List Payee Changes tags: - Payees x-contracts: - contractId: 1 name: Test List Payee Changes ignored: true request: queryParameters: - key: page value: 1 - key: pageSize value: 30 serviceName: payee-service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/deltas/payees?pageSize=2&page=8&payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00' -i -X GET \ -H 'Authorization: Bearer 6dd5e976-e329-462f-bd6b-25d463cf02fd' \ -H 'Content-Type: application/json' /v2/payees: post: description: | Initiate the process of creating 1 to 2000 payees in a batch Use the response location header to query for status (201 - Created, 400 - invalid request body, 409 - if there is a duplicate remote id within the batch / if there is a duplicate email within the batch). operationId: v2CreatePayee requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePayeesRequest' multipart/form-data: schema: properties: payorId: format: uuid type: string file: description: CSV File of payee data items: $ref: '#/components/schemas/CreatePayeesCSVRequest' type: array type: object description: Post payees to create. required: true x-contracts: - contractId: 1 headers: Content-Type: application/json body: payorId: 0a818933-087d-47f2-ad83-2f986ed087eb payees: - type: Individual remoteId: remoteId email: bob@example.com address: line1: 100 Battery Street line2: line2 line3: line3 line4: line4 city: San Francisco countyOrProvince: California zipOrPostcode: "94018" country: US paymentChannel: paymentChannelName: My Payment Channel accountNumber: "12345678" routingNumber: "123456789" countryCode: US currency: USD accountName: Foo Account individual: name: title: Mr firstName: Barney otherNames: Grubb lastName: Cuthbert nationalIdentification: "987654321" dateOfBirth: 1970-05-20 language: FR - type: Company remoteId: remoteId email: bob@example.com address: line1: 100 Battery Street line2: line2 line3: line3 line4: line4 city: San Francisco countyOrProvince: California zipOrPostcode: "94018" country: US paymentChannel: paymentChannelName: My Payment Channel accountNumber: "12345678" routingNumber: "123456789" countryCode: US currency: USD accountName: Foo Account company: name: ABC Payee Corp taxId: "223344556" language: FR matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.payorId type: by_regex predefined: uuid - path: $.payees type: by_regex predefined: non_empty - contractId: 2 headers: Content-Type: multipart/form-data multipart: params: payorId: 0a818933-087d-47f2-ad83-2f986ed087eb named: - paramName: file fileName: filename.csv fileContent: | type,remoteId,email,addressLine1,addressLine2,addressLine3,addressLine4,addressCity,addressCountyOrProvince,addressZipOrPostcode,addressCountry,individualNationalIdentification,individualDateOfBirth,individualTitle,individualFirstName,individualOtherNames,individualLastName,companyName,companyEIN,paymentChannelAccountNumber,paymentChannelRoutingNumber,paymentChannelIban,paymentChannelAccountName,paymentChannelCountryCode,paymentChannelCurrency,challengeDescription,challengeValue,payeeLanguage\n Individual,remoteId123,bob@example.com,Address line 1,Address line 2,Address line 3,Address line 4,The City,The County,The Zip,The Country,123456789,1970-02-25,Mr,Bob,Hungry,Wiggins,,,12345678,123456789,,Account name,US,USD,Challenge Description,Challenge Value,EN\n Company,remoteId1234,jim@example.com,Address line 1,Address line 2,Address line 3,Address line 4,The City,The County,The Zip,The Country,,,,,,,ABC Corp,987654321,,,1234567890123456789012345678901234,Account name,US,USD,,,FR\n responses: 201: content: application/json: schema: $ref: '#/components/schemas/CreatePayeesCSVResponse' description: HTTP Created. Body created only on CSV requests x-contracts: - contractId: 1 headers: Location: https://api.sandbox.velopayments.com/v2/payees/batch/dbe7df3a-6b75-4bcb-97c5-45d25f828267 matchers: headers: - key: Location type: by_regex predefined: url - contractId: 2 headers: Content-Type: application/json Location: https://api.sandbox.velopayments.com/v2/payees/batch/dbe7df3a-6b75-4bcb-97c5-45d25f828267 matchers: headers: - key: Location type: by_regex predefined: url - key: Content-Type regex: application/json.* 400: description: Bad Request summary: Intiate Payee Creation tags: - Payee Invitation x-contracts: - contractId: 1 name: Create Payees by JSON serviceName: payee-service - contractId: 2 name: Create Payees by CSV serviceName: payee-service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/payees' -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer 829d8ec0-00a3-4c95-8234-ad09500bb627' \ -d '{"payorId":"7ddebfed-0624-4bce-848d-40ffe818a2df","payees":[{"type":"Individual","remoteId":"remoteId", "email":"bob@example.com","address":{"line1":"100 Battery Street","line2":"line2","line3":"line3", "line4":"line4","city":"San Francisco","countyOrProvince":"California","zipOrPostcode":"94018","country":"US"}, "paymentChannel":{"paymentChannelName":"My Payment Channel","accountNumber":"12345678","routingNumber":"123456789", "countryCode":"US","currency":"USD","accountName":"Foo Account"},"individual":{"name":{"title":"Mr", "firstName":"Barney","otherNames":"Grubb","lastName":"Cuthbert"},"nationalIdentification":"987654321", "dateOfBirth":"1970-05-20"},"ofacOverride":false,"language":"FR"},{"type":"Company","remoteId":"remoteId", "email":"bob@example.com","address":{"line1":"100 Battery Street","line2":"line2","line3":"line3", "line4":"line4","city":"San Francisco","countyOrProvince":"California","zipOrPostcode":"94018","country":"US"}, "paymentChannel":{"paymentChannelName":"My Payment Channel","accountNumber":"12345678","routingNumber":"123456789", "countryCode":"US","currency":"USD","accountName":"Foo Account"},"company":{"name":"ABC Payee Corp", "taxId":"223344556"},"ofacOverride":false,"language":"FR"}]}' /v2/payees/batch/{batchId}: get: description: | Fetch the status of a specific batch of payees. The batch is fully processed when status is ACCEPTED and pendingCount is 0 ( 200 - OK, 404 - batch not found ). operationId: v2QueryBatchStatus parameters: - description: Batch Id in: path name: batchId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/QueryBatchResponse' description: Get Batch Status summary: Query Batch Status tags: - Payee Invitation x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/payees/batch/6a84cb4c-9e6e-4499-8964-2ce5fd051de2' -i -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer f01caad1-5ae5-454d-9467-5053e459fe45' /v1/payees/{payeeId}/invite: post: description: Resend an invite to the Payee The payee must have already been invited by the payor and not yet accepted or declined Any previous invites to the payee by this Payor will be invalidated operationId: resendPayeeInvite parameters: - description: The UUID of the payee. in: path name: payeeId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/InvitePayeeRequest' required: true responses: 200: content: application/json: schema: $ref: '#/components/schemas/InvitationStatusResponse' description: 200 response, request completed okay 404: description: Not Found 409: description: Conflict summary: Resend Payee Invite tags: - Payee Invitation x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payees/5032e339-2e24-4fca-bfc9-f6a66e3157dd/invite' -i -X POST \ -H 'Authorization: Bearer 5e40dde3-ff1c-4d69-94b0-3a6e96fd789e' \ -H 'Content-Type: application/json' \ -d '{"payorId":"545e29bd-75a8-4354-8192-ae68bab59d7b"}' /v1/payees/payors/{payorId}/invitationStatus: get: description: | Returns a list of payees associated with a payor, along with invitation status and grace period end date. operationId: getPayeesInvitationStatus parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/InvitationStatusResponse' description: Get Payees with Invitaion status summary: Get Payee Invitation Status tags: - Payee Invitation x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/payees/payors/77f84ae9-42df-49d7-941b-47360347f86f/invitationStatus' -i -X GET \ -H 'Authorization: Bearer ed73aa9a-b51b-44cb-a8e9-11e2fb85046b' /v2/payees/payors/{payorId}/invitationStatus: get: description: | Returns a filtered, paginated list of payees associated with a payor, along with invitation status and grace period end date. operationId: getPayeesInvitationStatusV2 parameters: - description: The account owner Payor ID in: path name: payorId required: true schema: format: uuid type: string - description: The UUID of the payee. in: query name: payeeId required: false schema: format: uuid type: string - description: The invitation status of the payees. in: query name: invitationStatus required: false schema: $ref: '#/components/schemas/InvitationStatus' - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer responses: 200: content: application/json: example: | { "page" : { "numberOfElements" : 1, "totalElements" : 1, "totalPages" : 1, "page" : 1, "pageSize" : 25 }, "content" : [ { "payeeId" : "c3d60e1f-a4d0-4273-b501-bfa81c70d56b", "invitationStatus" : "ACCEPTED", "gracePeriodEndDate" : "2019-06-25" } ], "links" : [ { "rel" : "first", "href" : "http://localhost:62142/v2/payees/payors/f20b038b-e841-4d80-9175-b47c6cf19bc1/invitationStatus?payeeId=c3d60e1f-a4d0-4273-b501-bfa81c70d56b&invitationStatus=ACCEPTED&page=1&pageSize=25" }, { "rel" : "last", "href" : "http://localhost:62142/v2/payees/payors/f20b038b-e841-4d80-9175-b47c6cf19bc1/invitationStatus?payeeId=c3d60e1f-a4d0-4273-b501-bfa81c70d56b&invitationStatus=ACCEPTED&page=1&pageSize=25" }, { "rel" : "self", "href" : "http://localhost:62142/v2/payees/payors/f20b038b-e841-4d80-9175-b47c6cf19bc1/invitationStatus?payeeId=c3d60e1f-a4d0-4273-b501-bfa81c70d56b&invitationStatus=ACCEPTED&page=1&pageSize=25" } ] } schema: $ref: '#/components/schemas/PagedPayeeInvitationStatusResponse' description: Get Payees with Invitaion status - filters of payeeId and invitationStatus x-contracts: - contractId: 1 headers: Content-Type: application/json body: page: numberOfElements: 1 totalElements: 1 totalPages: 1 page: 1 pageSize: 25 links: - rel: first href: http://localhost:62142/v2/payees/payors/f20b038b-e841-4d80-9175-b47c6cf19bc1/invitationStatus?payeeId=c3d60e1f-a4d0-4273-b501-bfa81c70d56b&invitationStatus=ACCEPTED&page=1&pageSize=25 content: - payeeId: c3d60e1f-a4d0-4273-b501-bfa81c70d56b matchers: headers: - key: Content-Type regex: application/json.* body: - path: $.page type: by_type minOccurrence: 1 - path: $.page.numberOfElements type: by_regex predefined: number - path: $.page.totalElements type: by_regex predefined: number - path: $.page.totalPages type: by_regex predefined: number - path: $.page.page type: by_regex predefined: number - path: $.page.pageSize type: by_regex predefined: number - path: $.links type: by_type minOccurrence: 1 maxOccurrence: 5 - path: $.links[0].href type: by_regex predefined: url - path: $.content type: by_type minOccurrence: 1 - path: $.content[0].payeeId type: by_regex predefined: uuid 400: description: Bad Request 403: description: Forbidden 404: description: Not Found summary: Get Payee Invitation Status tags: - Payee Invitation x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/payees/payors/f20b038b-e841-4d80-9175-b47c6cf19bc1/invitationStatus?payeeId=c3d60e1f-a4d0-4273-b501-bfa81c70d56b&invitationStatus=ACCEPTED' -i -X GET \ -H 'Authorization: Bearer ed73aa9a-b51b-44cb-a8e9-11e2fb85046b' /v1/sourceAccounts: description: List Source Accounts get: deprecated: true description: List source accounts. operationId: getSourceAccounts parameters: - description: Physical Account Name in: query name: physicalAccountName required: false schema: type: string - description: The account owner Payor ID in: query name: payorId required: false schema: format: uuid type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: Sort String in: query name: sort required: false schema: type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/ListSourceAccountResponse' description: List Source Account response 400: description: Invalid Request Parameters 404: description: Not Found summary: Get list of source accounts tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6' -i -X GET \ -H 'Authorization: Bearer 757a7dbf-2afb-45ec-877c-2aa3857c8e08' summary: List Source Accounts /v1/sourceAccounts/{sourceAccountId}: description: Get details about given source account. get: deprecated: true description: Get details about given source account. operationId: getSourceAccount parameters: - description: Source account id in: path name: sourceAccountId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/SourceAccountResponse' description: Source account response 400: description: Bad Request, Invalid path parameter 404: description: Not found summary: Get details about given source account. tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/sourceAccounts/126895a8-ba3d-44e8-9b34-84ee579cee7a' -i -X GET \ -H 'Authorization: Bearer a016f840-dafc-4b10-95f5-70ecc75a02d1' summary: Get Source Account /v1/sourceAccounts/{sourceAccountId}/achFundingRequest: post: deprecated: true description: Instruct a funding request to transfer funds from the payor’s funding bank to the payor’s balance held within Velo (202 - accepted, 400 - invalid request body, 404 - source account not found). operationId: createAchFundingRequest parameters: - description: Source account id in: path name: sourceAccountId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FundingRequest' description: Body to included ammount to be funded required: true responses: 202: description: Request Accepted 400: description: Invalid Request Body 404: description: Source Account Not Found summary: Create Funding Request tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/sourceAccounts/533b082b-b3eb-4712-8242-0fd3a307033f/achFundingRequest' -i -X POST \ -H 'Authorization: Bearer 67c1b4fc-29ce-425c-863b-950163a5e971' \ -H 'Content-Type: application/json' \ -d '{"amount":999990}' /v1/sourceAccounts/{sourceAccountId}/notifications: post: description: Set notifications for a given source account operationId: setNotificationsRequest parameters: - description: Source account id in: path name: sourceAccountId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SetNotificationsRequest' description: Body to included minimum balance to set required: true responses: 204: description: Request Fulfilled 400: description: Invalid Request Body 404: description: Source Account Not Found summary: Set notifications tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/sourceAccounts/533b082b-b3eb-4712-8242-0fd3a307033f/notifications' -i -X POST \ -H 'Authorization: Bearer 67c1b4fc-29ce-425c-863b-950163a5e971' \ -H 'Content-Type: application/json' \ -d '{"minimumBalance":900}' /v2/sourceAccounts/{sourceAccountId}/fundingRequest: post: description: Instruct a funding request to transfer funds from the payor’s funding bank to the payor’s balance held within Velo (202 - accepted, 400 - invalid request body, 404 - source account not found). operationId: createFundingRequest parameters: - description: Source account id in: path name: sourceAccountId required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FundingRequest_2' description: Body to included ammount to be funded required: true responses: 202: description: Request Accepted 400: description: Invalid Request Body 404: description: Source Account Not Found summary: Create Funding Request tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/sourceAccounts/533b082b-b3eb-4712-8242-0fd3a307033f/fundingRequest' -i -X POST \ -H 'Authorization: Bearer 67c1b4fc-29ce-425c-863b-950163a5e971' \ -H 'Content-Type: application/json' \ -d '{"amount":999990}' /v2/sourceAccounts: description: List Source Accounts get: description: List source accounts. operationId: getSourceAccountsV2 parameters: - description: Physical Account Name in: query name: physicalAccountName required: false schema: type: string - description: The account owner Payor ID in: query name: payorId required: false schema: format: uuid type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: Sort String in: query name: sort required: false schema: type: string responses: 200: content: application/json: example: | HTTP/1.1 200 OK Content-Length: 1455 Content-Type: application/json;charset=UTF-8 { "page" : { "numberOfElements" : 2, "totalElements" : 2, "totalPages" : 1, "page" : 1, "pageSize" : 0 }, "links" : [ { "rel" : "first", "href" : "https://api.sandbox.velopayments.com/v2/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc" }, { "rel" : "last", "href" : "https://api.sandbox.velopayments.com/v2/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc" }, { "rel" : "self", "href" : "https://api.sandbox.velopayments.com/v2/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc" } ], "content" : [ { "id" : "ee53e01d-c078-43fd-abd4-47e92f4a06cf", "balance" : 1203489, "currency" : "USD", "fundingRef" : "a1b2c3d4", "physicalAccountName" : "VELO_FBO_MYBANKA_USD", "railsId" : "SIM", "payorId" : "a2967711-df07-41e5-b5ea-f563088911c6", "name" : "mySourceAccount", "pooled" : true, "balanceVisible" : true, "customerId" : null, "notifications" : { "minimumBalance": 900 } }, { "id" : "a587c938-e497-4349-8817-129a5e801f30", "balance" : 1203489, "currency" : "USD", "fundingRef" : "a1b2c3d4", "physicalAccountName" : "VELO_FBO_MYBANKA_USD", "railsId" : "SIM", "payorId" : "a2967711-df07-41e5-b5ea-f563088911c6", "name" : "mySourceAccount", "pooled" : true, "balanceVisible" : true, "customerId" : null, "notifications" : { "minimumBalance": 900 } } ] } schema: $ref: '#/components/schemas/ListSourceAccountResponseV2' description: List Source Account response 400: description: Invalid Request Parameters 404: description: Not Found summary: Get list of source accounts tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6' -i -X GET \ -H 'Authorization: Bearer 757a7dbf-2afb-45ec-877c-2aa3857c8e08' summary: List Source Accounts /v2/sourceAccounts/{sourceAccountId}: description: Get details about given source account. get: description: Get details about given source account. operationId: getSourceAccountV2 parameters: - description: Source account id in: path name: sourceAccountId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/SourceAccountResponseV2' description: Source account response 400: description: Bad Request, Invalid path parameter 404: description: Not found summary: Get details about given source account. tags: - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/sourceAccounts/126895a8-ba3d-44e8-9b34-84ee579cee7a' -i -X GET \ -H 'Authorization: Bearer a016f840-dafc-4b10-95f5-70ecc75a02d1' summary: Get Source Account /v1/paymentaudit/fundings: get: description: | Get a list of Fundings for a payor. operationId: getFundings parameters: - description: The account owner Payor ID in: query name: payorId required: false schema: format: uuid type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields. Example: ```?sort=destinationCurrency:asc,destinationAmount:asc``` Default is no sort. The supported sort fields are: dateTime and amount. in: query name: sort schema: type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/GetFundingsResponse' description: Get Fundings normal response 400: description: Bad Request 404: description: Payor Id Not Found summary: Get Fundings for Payor tags: - Payment Audit Service - Funding Manager x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/paymentaudit/fundings?payorId=2a5d8af2-a1ed-4d7f-b9a7-ebe4b333be5a' -i -X GET \ -H 'Authorization: Bearer 3667f994-7d41-4d20-990d-b79fa720e56b' /v3/paymentaudit/payouts: get: deprecated: true description: | Get List of payouts for payor operationId: getPayoutsForPayor parameters: - description: The account owner Payor ID in: query name: payorId required: true schema: format: uuid type: string - description: Payout Memo filter - case insensitive sub-string match in: query name: payoutMemo required: false schema: type: string - description: Payout Status in: query name: status required: false schema: enum: - ACCEPTED - REJECTED - SUBMITTED - QUOTED - INSTRUCTED - COMPLETED - INCOMPLETE - CONFIRMED - WITHDRAWN type: string - description: The submitted date from range filter. Format is yyyy-MM-dd. in: query name: submittedDateFrom required: false schema: format: date type: string - description: The submitted date to range filter. Format is yyyy-MM-dd. in: query name: submittedDateTo required: false schema: format: date type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=submittedDateTime:asc,instructedDateTime:asc,status:asc) Default is submittedDateTime:asc The supported sort fields are: submittedDateTime, instructedDateTime, status. in: query name: sort required: false schema: type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/GetPayoutsResponse' description: Payor data found 400: description: Invalid Request Parameter 404: description: Payor Id Not Found summary: Get Payouts for Payor tags: - Payment Audit Service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/paymentaudit/payouts?payorId=449aa6c3-0569-47f6-a430-a470040da67c' -i -X GET \ -H 'Authorization: Bearer a9d9247d-5e30-4cea-a6e1-0898534ce768' /v3/paymentaudit/payouts/{payoutId}: get: deprecated: true description: | Get List of payments for Payout operationId: getPaymentsForPayout parameters: - description: The id (UUID) of the payout. in: path name: payoutId required: true schema: format: uuid type: string - description: The remote id of the payees. in: query name: remoteId required: false schema: type: string - description: Payment Status in: query name: status required: false schema: enum: - ACCEPTED - AWAITING_FUNDS - FUNDED - UNFUNDED - BANK_PAYMENT_REQUESTED - REJECTED - ACCEPTED_BY_RAILS - CONFIRMED - FAILED - RETURNED - WITHDRAWN type: string - description: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom in: query name: sourceAmountFrom required: false schema: format: int32 type: integer - description: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo in: query name: sourceAmountTo required: false schema: format: int32 type: integer - description: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom in: query name: paymentAmountFrom required: false schema: format: int32 type: integer - description: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo in: query name: paymentAmountTo required: false schema: format: int32 type: integer - description: The submitted date from range filter. Format is yyyy-MM-dd. in: query name: submittedDateFrom required: false schema: format: date type: string - description: The submitted date to range filter. Format is yyyy-MM-dd. in: query name: submittedDateTo required: false schema: format: date type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId The supported sort fields are: sourceAmount, sourceCurrency, paymentAmount, paymentCurrency, routingNumber, accountNumber, remoteId, submittedDateTime and status in: query name: sort required: false schema: type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean responses: 200: content: application/json: schema: $ref: '#/components/schemas/GetPaymentsForPayoutResponse' description: 200 response, data found okay 400: description: Invalid Request Parameter 404: description: Payout Id Not Found summary: Get Payments for Payout tags: - Payment Audit Service - Payout History x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/paymentaudit/payouts/7b524212-6fd7-4699-983d-cac082022a2e' -i -X GET \ -H 'Authorization: Bearer f7a9a696-e528-487b-8734-e0a22e41ef7a' /v3/paymentaudit/payments: get: deprecated: true description: Get payments for the given payor Id operationId: listPaymentsAudit parameters: - description: The UUID of the payee. in: query name: payeeId required: false schema: format: uuid type: string - description: The account owner Payor Id. Required for external users. in: query name: payorId required: false schema: format: uuid type: string - description: The payor’s name. This filters via a case insensitive substring match. in: query name: payorName required: false schema: type: string - description: The remote id of the payees. in: query name: remoteId required: false schema: type: string - description: Payment Status in: query name: status required: false schema: enum: - ACCEPTED - AWAITING_FUNDS - FUNDED - UNFUNDED - BANK_PAYMENT_REQUESTED - REJECTED - ACCEPTED_BY_RAILS - CONFIRMED - FAILED - RETURNED - WITHDRAWN type: string - description: The source account name filter. This filters via a case insensitive substring match. in: query name: sourceAccountName required: false schema: type: string - description: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom in: query name: sourceAmountFrom required: false schema: format: int32 type: integer - description: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo in: query name: sourceAmountTo required: false schema: format: int32 type: integer - description: The source currency filter. Filters based on an exact match on the currency. in: query name: sourceCurrency required: false schema: type: string - description: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom in: query name: paymentAmountFrom required: false schema: format: int32 type: integer - description: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo in: query name: paymentAmountTo required: false schema: format: int32 type: integer - description: The source currency filter. Filters based on an exact match on the currency. in: query name: paymentCurrency required: false schema: type: string - description: The submitted date from range filter. Format is yyyy-MM-dd. in: query name: submittedDateFrom required: false schema: format: date type: string - description: The submitted date to range filter. Format is yyyy-MM-dd. in: query name: submittedDateTo required: false schema: format: date type: string - description: The payment memo filter. This filters via a case insensitive substring match. in: query name: paymentMemo required: false schema: type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId The supported sort fields are: sourceAmount, sourceCurrency, paymentAmount, paymentCurrency, routingNumber, accountNumber, remoteId, submittedDateTime and status in: query name: sort required: false schema: type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean responses: 200: content: application/json: schema: $ref: '#/components/schemas/ListPaymentsResponse' description: Details of Payee 400: description: Bad Request Parameter summary: Get List of Payments tags: - Payment Audit Service /v3/paymentaudit/payments/{paymentId}: get: deprecated: true description: | Get the payment with the given id. This contains the payment history. operationId: getPaymentDetails parameters: - description: Payment Id in: path name: paymentId required: true schema: format: uuid type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean responses: 200: content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' description: 200 response, request completed okay 404: description: Payment Id Not Found summary: Get Payment tags: - Payment Audit Service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/paymentaudit/payments/c3a422c2-12ac-4416-84fe-964221bd9815' -i \ -H 'Authorization: Bearer 67a1b299-69b1-4fdf-a576-96b81199a2b9' /v1/paymentaudit/payoutStatistics: get: description: Get payout statistics for a payor. operationId: getPayoutStats parameters: - description: The account owner Payor ID. Required for external users. in: query name: payorId required: false schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/GetPayoutStatistics' description: List Source Account response 400: description: Bad Request 404: description: Not Found summary: Get Payout Statistics tags: - Payout History x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/paymentaudit/payoutStatistics?payorId=c61b32ac-8e50-433e-9372-b5b1c8180742' -i -X GET \ -H 'Authorization: Bearer e71d3dfe-3587-4df6-9f8d-59d3135d7bf7' /v4/paymentaudit/transactions: get: description: Download a CSV file containing payments in a date range. Uses Transfer-Encoding - chunked to stream to the client. Date range is inclusive of both the start and end dates. operationId: exportTransactionsCSV parameters: - description: The account owner Payor ID in: query name: payorId required: false schema: format: uuid type: string - description: Start date, inclusive. Format is YYYY-MM-DD in: query name: startDate required: false schema: format: date type: string - description: Start date, inclusive. Format is YYYY-MM-DD in: query name: submittedDateFrom required: false schema: format: date type: string responses: 200: content: application/csv: schema: type: string description: Export Transactions response 204: description: No Content 400: description: invalid Request summary: Export Transactions tags: - Payment Audit Service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v4/paymentaudit/transactions?startDate=2018-05-01&endDate=2018-05-31' -i -X GET \ -H 'Authorization: Bearer 76748e09-775d-4e2d-b889-f0555901d8eb' /v4/paymentaudit/payouts: get: description: | Get List of payouts for payor operationId: getPayoutsForPayorV4 parameters: - description: The account owner Payor ID in: query name: payorId required: true schema: format: uuid type: string - description: Payout Memo filter - case insensitive sub-string match in: query name: payoutMemo required: false schema: type: string - description: Payout Status in: query name: status required: false schema: enum: - ACCEPTED - REJECTED - SUBMITTED - QUOTED - INSTRUCTED - COMPLETED - INCOMPLETE - CONFIRMED - WITHDRAWN type: string - description: The submitted date from range filter. Format is yyyy-MM-dd. in: query name: submittedDateFrom required: false schema: format: date type: string - description: The submitted date to range filter. Format is yyyy-MM-dd. in: query name: submittedDateTo required: false schema: format: date type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=submittedDateTime:asc,instructedDateTime:asc,status:asc) Default is submittedDateTime:asc The supported sort fields are: submittedDateTime, instructedDateTime, status. in: query name: sort required: false schema: type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/GetPayoutsResponse_2' description: Payor data found 400: description: Invalid Request Parameter 404: description: Payor Id Not Found summary: Get Payouts for Payor tags: - Payment Audit Service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v4/paymentaudit/payouts?payorId=449aa6c3-0569-47f6-a430-a470040da67c' -i -X GET \ -H 'Authorization: Bearer a9d9247d-5e30-4cea-a6e1-0898534ce768' /v4/paymentaudit/payouts/{payoutId}: get: description: | Get List of payments for Payout, allowing for RETURNED status operationId: getPaymentsForPayoutV4 parameters: - description: The id (UUID) of the payout. in: path name: payoutId required: true schema: format: uuid type: string - description: The remote id of the payees. in: query name: remoteId required: false schema: type: string - description: Payment Status in: query name: status required: false schema: enum: - ACCEPTED - AWAITING_FUNDS - FUNDED - UNFUNDED - BANK_PAYMENT_REQUESTED - REJECTED - ACCEPTED_BY_RAILS - CONFIRMED - FAILED - RETURNED - WITHDRAWN type: string - description: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom in: query name: sourceAmountFrom required: false schema: format: int32 type: integer - description: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo in: query name: sourceAmountTo required: false schema: format: int32 type: integer - description: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom in: query name: paymentAmountFrom required: false schema: format: int32 type: integer - description: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo in: query name: paymentAmountTo required: false schema: format: int32 type: integer - description: The submitted date from range filter. Format is yyyy-MM-dd. in: query name: submittedDateFrom required: false schema: format: date type: string - description: The submitted date to range filter. Format is yyyy-MM-dd. in: query name: submittedDateTo required: false schema: format: date type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId The supported sort fields are: sourceAmount, sourceCurrency, paymentAmount, paymentCurrency, routingNumber, accountNumber, remoteId, submittedDateTime and status in: query name: sort required: false schema: type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean responses: 200: content: application/json: schema: $ref: '#/components/schemas/GetPaymentsForPayoutResponse_2' description: 200 response, data found okay 400: description: Invalid Request Parameter 404: description: Payout Id Not Found summary: Get Payments for Payout tags: - Payment Audit Service - Payout History x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v4/paymentaudit/payouts/7b524212-6fd7-4699-983d-cac082022a2e' -i -X GET \ -H 'Authorization: Bearer f7a9a696-e528-487b-8734-e0a22e41ef7a' /v4/paymentaudit/payments: get: description: Get payments for the given payor Id operationId: listPaymentsAuditV4 parameters: - description: The UUID of the payee. in: query name: payeeId required: false schema: format: uuid type: string - description: The account owner Payor Id. Required for external users. in: query name: payorId required: false schema: format: uuid type: string - description: The payor’s name. This filters via a case insensitive substring match. in: query name: payorName required: false schema: type: string - description: The remote id of the payees. in: query name: remoteId required: false schema: type: string - description: Payment Status in: query name: status required: false schema: enum: - ACCEPTED - AWAITING_FUNDS - FUNDED - UNFUNDED - BANK_PAYMENT_REQUESTED - REJECTED - ACCEPTED_BY_RAILS - CONFIRMED - FAILED - RETURNED - WITHDRAWN type: string - description: The source account name filter. This filters via a case insensitive substring match. in: query name: sourceAccountName required: false schema: type: string - description: The source amount from range filter. Filters for sourceAmount >= sourceAmountFrom in: query name: sourceAmountFrom required: false schema: format: int32 type: integer - description: The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo in: query name: sourceAmountTo required: false schema: format: int32 type: integer - description: The source currency filter. Filters based on an exact match on the currency. in: query name: sourceCurrency required: false schema: type: string - description: The payment amount from range filter. Filters for paymentAmount >= paymentAmountFrom in: query name: paymentAmountFrom required: false schema: format: int32 type: integer - description: The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo in: query name: paymentAmountTo required: false schema: format: int32 type: integer - description: The source currency filter. Filters based on an exact match on the currency. in: query name: paymentCurrency required: false schema: type: string - description: The submitted date from range filter. Format is yyyy-MM-dd. in: query name: submittedDateFrom required: false schema: format: date type: string - description: The submitted date to range filter. Format is yyyy-MM-dd. in: query name: submittedDateTo required: false schema: format: date type: string - description: The payment memo filter. This filters via a case insensitive substring match. in: query name: paymentMemo required: false schema: type: string - description: Page number. Default is 1. in: query name: page required: false schema: default: 1 format: int32 type: integer - description: Page size. Default is 25. Max allowable is 100. in: query name: pageSize required: false schema: default: 25 format: int32 type: integer - description: | List of sort fields (e.g. ?sort=submittedDateTime:asc,status:asc). Default is sort by remoteId The supported sort fields are: sourceAmount, sourceCurrency, paymentAmount, paymentCurrency, routingNumber, accountNumber, remoteId, submittedDateTime and status in: query name: sort required: false schema: type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean responses: 200: content: application/json: schema: $ref: '#/components/schemas/ListPaymentsResponse' description: Details of Payee 400: description: Bad Request Parameter summary: Get List of Payments tags: - Payment Audit Service /v4/paymentaudit/payments/{paymentId}: get: description: | Get the payment with the given id. This contains the payment history. operationId: getPaymentDetailsV4 parameters: - description: Payment Id in: path name: paymentId required: true schema: format: uuid type: string - description: | Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values. in: query name: sensitive required: false schema: type: boolean responses: 200: content: application/json: schema: $ref: '#/components/schemas/PaymentResponse_2' description: 200 response, request completed okay 404: description: Payment Id Not Found summary: Get Payment tags: - Payment Audit Service x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v4/paymentaudit/payments/c3a422c2-12ac-4416-84fe-964221bd9815' -i \ -H 'Authorization: Bearer 67a1b299-69b1-4fdf-a576-96b81199a2b9' /v3/payouts: post: description: | Create a new payout and return a location header with a link to get the payout. Basic validation of the payout is performed before returning but more comprehensive validation is done asynchronously, the results of which can be obtained by issuing a HTTP GET to the URL returned in the location header. **NOTE:** amount values in payments must be in 'minor units' format. E.g. cents for USD, pence for GBP etc. with no decimal places. operationId: submitPayout requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePayoutRequest' multipart/form-data: example: | remoteId,currency,amount,paymentMemo,sourceAccountName,payorPaymentId remoteId1,USD,12345,ref1,myAccountUSD,1234567abc remoteId2,USD,23456,ref2,myAccountUSD,1234567def schema: properties: payorId: format: uuid type: string file: description: Create a new payout from a CSV source file and return a location header with a link to get the payout items: $ref: '#/components/schemas/PaymentInstruction' type: array type: object description: Post amount to transfer using stored funding account details. required: true responses: 202: description: Detailed response of payout instructions headers: Location: description: Reference to created payout schema: format: uri type: string 400: description: Bad Request 404: description: Not Found 503: description: Service Unavailable summary: Submit Payout tags: - Submit Payout x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/payouts' -i -X POST \ -H 'Authorization: Bearer 63e4d691-847b-46b5-893d-fd15c54dd4bf' \ -H 'Content-Type: application/json' \ -d '{"payorId":"ef7da492-e5a5-4086-b1ed-6d27323fc669","payments":[{"remoteId":"myRemoteId01","currency":"USD","amount":12345,"sourceAccountName":"PAYOR_SRC_ACCT","payorPaymentId":"1111"},{"remoteId":"myRemoteId02","currency":"USD","amount":23456,"sourceAccountName":"PAYOR_SRC_ACCT","payorPaymentId":"2222"},{"remoteId":"myRemoteId01","currency":"USD","amount":1020,"sourceAccountName":"PAYOR_SRC_ACCT","payorPaymentId":"3333"},{"remoteId":"myRemoteId03","currency":"USD","amount":3456,"sourceAccountName":"PAYOR_SRC_ACCT","payorPaymentId":"4444"},{"remoteId":"myRemoteId04","currency":"USD","amount":8765,"sourceAccountName":"PAYOR_SRC_ACCT","payorPaymentId":"5555"}]}' /v3/payouts/{payoutId}: delete: description: Withdraw Payout will delete payout details from payout service and rails services but will just move the status of the payout to WITHDRAWN in payment audit. parameters: - description: Id of the payout in: path name: payoutId required: true schema: format: uuid type: string responses: 202: description: HTTP 202 Accepted 404: description: Not Found summary: Withdraw Payout tags: - Withdraw Payout x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/payouts/240c2341-8ddb-4764-9768-f1e0a498158c' -i -X DELETE \ -H 'Authorization: Bearer 1681d963-f971-4b82-8376-b3e86834de78' \ -H 'Content-Type: application/json' get: description: Get payout summary - returns the current state of the payout. parameters: - description: Id of the payout in: path name: payoutId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/PayoutSummaryResponse' description: Details of Payout 404: description: Not Found summary: Get Payout Summary tags: - Get Payout x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/payouts/cc2e1a8d-39ae-461c-bde3-ce78525f89ac/quote' -i -X POST \ -H 'Authorization: Bearer f081303c-7fcc-4204-8530-02e8ec2ef73f' \ -H 'Content-Type: application/json' post: description: Instruct a payout to be made for the specified payoutId. parameters: - description: Id of the payout in: path name: payoutId required: true schema: format: uuid type: string responses: 202: description: HTTP 202 Accepted 404: description: Not Found 409: description: Conflict summary: Instruct Payout tags: - Instruct Payout x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/payouts/0627380c-2330-4fcd-a2a2-02b12152e62e' -i -X POST \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer d1963608-6612-4aa0-bf7d-cf18ce540cdc' /v3/payouts/{payoutId}/quote: post: description: Create quote for a payout parameters: - description: Id of the payout in: path name: payoutId required: true schema: format: uuid type: string responses: 200: content: application/json: schema: $ref: '#/components/schemas/QuoteResponse' description: Quote for payout 404: description: Not Found 409: description: Conflict summary: Create a quote for the payout tags: - Quote Payout x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v3/payouts/cc2e1a8d-39ae-461c-bde3-ce78525f89ac/quote' -i -X POST \ -H 'Authorization: Bearer f081303c-7fcc-4204-8530-02e8ec2ef73f' \ -H 'Content-Type: application/json' /v1/paymentChannelRules: get: description: List the country specific payment channel rules. responses: 200: content: application/json: example: |- HTTP/1.1 200 OK Content-Length: 2158 Content-Type: application/json;charset=UTF-8 { "bank" : [ { "isoCountryCode" : "US", "rules" : [ { "element" : "accountName", "required" : true, "displayName" : "Account Holder Name", "minLength" : 1, "maxLength" : 100, "validation" : "^.*$", "displayOrder" : 1 }, { "element" : "accountNumber", "required" : true, "displayName" : "Account Number", "minLength" : 6, "maxLength" : 11, "validation" : "^[0-9]{6,11}$", "displayOrder" : 3 }, { "element" : "routingNumber", "required" : true, "displayName" : "Routing Number", "minLength" : 9, "maxLength" : 9, "validation" : "^[0-9]{9}$", "displayOrder" : 2 }, { "element" : "paymentChannelName", "required" : false, "displayName" : "Payment Channel Name", "minLength" : 1, "maxLength" : 20, "validation" : "^.*$" }, { "element" : "currency", "required" : true, "displayName" : "Currency", "minLength" : 3, "maxLength" : 3, "validation" : "^[A-Z]{3}$" } ] }, { "isoCountryCode" : "GB", "rules" : [ { "element" : "accountName", "required" : true, "displayName" : "Account Holder Name", "minLength" : 1, "maxLength" : 100, "validation" : "^.*$", "displayOrder" : 1 }, { "element" : "accountNumber", "required" : true, "displayName" : "Account Number", "minLength" : 8, "maxLength" : 8, "validation" : "^[0-9]{8}$", "displayOrder" : 3 }, { "element" : "routingNumber", "required" : true, "displayName" : "Sort Code", "minLength" : 6, "maxLength" : 6, "validation" : "^[0-9]{6}$", "displayOrder" : 2 }, { "element" : "paymentChannelName", "required" : false, "displayName" : "Payment Channel Name", "minLength" : 1, "maxLength" : 20, "validation" : "^.*$" }, { "element" : "currency", "required" : true, "displayName" : "Currency", "minLength" : 3, "maxLength" : 3, "validation" : "^[A-Z]{3}$" } ] } ] } schema: $ref: '#/components/schemas/PaymentChannelRulesResponse' description: List Payment Channel Country Rules summary: List Payment Channel Country Rules tags: - Countries x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/paymentChannelRules' -i -X GET \ -H 'Authorization: Bearer 63fa49a0-1eeb-4756-b4fb-7cdd94ae80c1' /v1/supportedCountries: get: description: List the supported countries. operationId: listSupportedCountries responses: 200: content: application/json: schema: $ref: '#/components/schemas/SupportedCountriesResponse' description: List of Supported Countries summary: List Supported Countries tags: - Countries x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v1/supportedCountries' -i -X GET \ -H 'Authorization: Bearer 9a7c9010-547f-410e-ac3c-fd6f6701c745' /v2/currencies: get: description: List the supported currencies. operationId: listSupportedCurrencies responses: 200: content: application/json: example: |- HTTP/1.1 200 OK Content-Length: 938 Content-Type: application/json;charset=UTF-8 { "currencies" : [ { "currency" : "AUD", "maxPaymentAmount" : 1000 }, { "currency" : "CAD", "maxPaymentAmount" : 1000 }, { "currency" : "CHF", "maxPaymentAmount" : 1000 }, { "currency" : "CNY", "maxPaymentAmount" : 1000 }, { "currency" : "EUR", "maxPaymentAmount" : 1000 }, { "currency" : "GBP", "maxPaymentAmount" : 1000 }, { "currency" : "ILS", "maxPaymentAmount" : 1000 }, { "currency" : "JPY", "maxPaymentAmount" : 1000 }, { "currency" : "MXN", "maxPaymentAmount" : 1000 }, { "currency" : "NOK", "maxPaymentAmount" : 1000 }, { "currency" : "PHP", "maxPaymentAmount" : 1000 }, { "currency" : "SGD", "maxPaymentAmount" : 1000 }, { "currency" : "THB", "maxPaymentAmount" : 1000 }, { "currency" : "USD", "maxPaymentAmount" : 1000 }, { "currency" : "ZAR", "maxPaymentAmount" : 1000 } ] } schema: $ref: '#/components/schemas/SupportedCurrencyResponse' description: List Supported Currencies summary: List Supported Currencies tags: - Currencies x-code-samples: - lang: shell source: | $ curl 'https://api.sandbox.velopayments.com/v2/currencies' -i -X GET \ -H 'Authorization: Bearer 2f661796-3b13-467b-82c0-faf0f0721294' components: schemas: Payor: example: primaryContactName: Joe Buck payeeGracePeriodProcessingEnabled: true supportContact: support@example.com address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" fundingAccountAccountName: Example Corp BOA includesReports: true allowsLanguageChoice: true language: EN fundingAccountAccountNumber: "1234567890123" dbaName: Some Biz primaryContactPhone: 123-123-1234 payeeGracePeriodDays: 0 fundingAccountRoutingNumber: "123456789" reminderEmailsOptOut: true manualLockout: true collectiveAlias: Payee payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 kycState: PASSED_KYC primaryContactEmail: joe.buck@example.com payorName: Example, Corp properties: payorId: format: uuid readOnly: true type: string payorName: description: The name of the payor. example: Example, Corp type: string address: $ref: '#/components/schemas/Address' primaryContactName: description: Name of primary contact for the payor. example: Joe Buck type: string primaryContactPhone: description: Primary contact phone number for the payor. example: 123-123-1234 type: string primaryContactEmail: description: Primary contact email for the payor. example: joe.buck@example.com format: email type: string fundingAccountRoutingNumber: description: The funding account routing number to be used for the payor. example: "123456789" type: string fundingAccountAccountNumber: description: The funding account number to be used for the payor. example: "1234567890123" type: string fundingAccountAccountName: description: The funding account name to be used for the payor. example: Example Corp BOA type: string kycState: description: The kyc state of the payor. enum: - FAILED_KYC - PASSED_KYC - REQUIRES_KYC example: PASSED_KYC readOnly: true type: string manualLockout: description: Whether or not the payor has been manually locked by the backoffice. type: boolean payeeGracePeriodProcessingEnabled: description: Whether grace period processing is enabled. readOnly: true type: boolean payeeGracePeriodDays: description: The grace period for paying payees in days. readOnly: true type: integer collectiveAlias: description: How the payor has chosen to refer to payees. example: Payee type: string supportContact: description: The payor’s support contact email address. example: support@example.com type: string dbaName: description: The payor’s 'Doing Business As' name. example: Some Biz type: string allowsLanguageChoice: description: Whether or not the payor allows language choice in the UI. type: boolean reminderEmailsOptOut: description: Whether or not the payor has opted-out of reminder emails being sent. readOnly: true type: boolean language: description: The payor’s language preference. Must be one of [EN, FR]. enum: - EN - FR example: EN type: string includesReports: type: boolean required: - payorName type: object Payor_2: example: primaryContactName: Joe Buck payeeGracePeriodProcessingEnabled: true supportContact: support@example.com address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" includesReports: true allowsLanguageChoice: true language: EN dbaName: Some Biz primaryContactPhone: 123-123-1234 payeeGracePeriodDays: 0 reminderEmailsOptOut: true manualLockout: true collectiveAlias: Payee payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 kycState: PASSED_KYC primaryContactEmail: joe.buck@example.com payorName: Example, Corp properties: payorId: format: uuid readOnly: true type: string payorName: description: The name of the payor. example: Example, Corp type: string address: $ref: '#/components/schemas/Address' primaryContactName: description: Name of primary contact for the payor. example: Joe Buck type: string primaryContactPhone: description: Primary contact phone number for the payor. example: 123-123-1234 type: string primaryContactEmail: description: Primary contact email for the payor. example: joe.buck@example.com format: email type: string kycState: description: The kyc state of the payor. enum: - FAILED_KYC - PASSED_KYC - REQUIRES_KYC example: PASSED_KYC readOnly: true type: string manualLockout: description: Whether or not the payor has been manually locked by the backoffice. type: boolean payeeGracePeriodProcessingEnabled: description: Whether grace period processing is enabled. readOnly: true type: boolean payeeGracePeriodDays: description: The grace period for paying payees in days. readOnly: true type: integer collectiveAlias: description: How the payor has chosen to refer to payees. example: Payee type: string supportContact: description: The payor’s support contact email address. example: support@example.com type: string dbaName: description: The payor’s 'Doing Business As' name. example: Some Biz type: string allowsLanguageChoice: description: Whether or not the payor allows language choice in the UI. type: boolean reminderEmailsOptOut: description: Whether or not the payor has opted-out of reminder emails being sent. readOnly: true type: boolean language: description: The payor’s language preference. Must be one of [EN, FR]. enum: - EN - FR example: EN type: string includesReports: type: boolean required: - payorName type: object PayorFundingBankDetailsUpdate: example: routingNumber: "123123123" accountName: Bank of America accountNumber: "123456789012345" properties: routingNumber: description: Routing number for the payor’s bank example: "123123123" maxLength: 9 minLength: 9 type: string accountNumber: description: Payor’s bank account number. example: "123456789012345" maxLength: 17 minLength: 4 type: string accountName: description: Payor’s bank account name. example: Bank of America maxLength: 22 minLength: 1 type: string required: - accountName - accountNumber - routingNumber type: object PayorCreateApplicationRequest: example: name: SAP description: SAP Application integration properties: name: description: The name of the application. example: SAP maxLength: 100 minLength: 2 type: string description: description: Description of the application. example: SAP Application integration maxLength: 1024 minLength: 2 nullable: true type: string required: - name type: object PayorCreateApiKeyRequest: example: roles: - payor.admin name: iOS Key description: Key for iOS mobile application properties: name: description: A name for the key. example: iOS Key maxLength: 100 minLength: 2 type: string description: description: Description of the key. example: Key for iOS mobile application maxLength: 1024 minLength: 2 nullable: true type: string roles: description: A list of roles to assign to the key. example: - payor.admin items: description: Name of role enum: - payor.admin - payor.support type: string maxItems: 10 minItems: 1 type: array required: - name - roles type: object PayorCreateApiKeyResponse: example: apiKey: 385d4506-e7dd-446e-a092-5f30b98e7b26 apiSecret: f25767d9-342a-48ac-a788-0a7a38ae6fb3 properties: apiKey: description: API Key example: 385d4506-e7dd-446e-a092-5f30b98e7b26 format: uuid type: string apiSecret: description: API Secret example: f25767d9-342a-48ac-a788-0a7a38ae6fb3 format: uuid type: string type: object PayorEmailOptOutRequest: example: reminderEmailsOptOut: true properties: reminderEmailsOptOut: type: boolean required: - reminderEmailsOptOut type: object PayorLogoRequest: properties: logo: format: binary type: string type: object PayorBrandingResponse: example: supportContact: support@example.com collectiveAlias: Payee dbaName: Key West Imports logoUrl: example.com payorName: Key West Imports, Inc properties: payorName: description: The name of the payor example: Key West Imports, Inc type: string logoUrl: description: The URL to use for this payor’s logo example: example.com format: uri type: string collectiveAlias: description: How the payor has chosen to refer to payees example: Payee nullable: true type: string supportContact: description: The payor’s support contact address example: support@example.com nullable: true type: string dbaName: description: The payor’s 'Doing Business As' name example: Key West Imports nullable: true type: string required: - logoUrl - payorName type: object PayorLinksResponse: description: List Payor Links Response Object example: payors: - payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 kycState: FAILED_KYC primaryContactEmail: primaryContactEmail payorName: payorName - payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 kycState: FAILED_KYC primaryContactEmail: primaryContactEmail payorName: payorName links: - toPayorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 linkId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fromPayorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 linkType: PARENT_OF - toPayorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 linkId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fromPayorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 linkType: PARENT_OF properties: links: items: $ref: '#/components/schemas/PayorLinksResponse_links' type: array payors: items: $ref: '#/components/schemas/PayorLinksResponse_payors' type: array type: object OfacStatus: enum: - PENDING - PASSED - FAILED type: string OnboardedStatus: enum: - CREATED - INVITED - REGISTERED - ONBOARDED type: string PayeeType: enum: - Individual - Company type: string PayeeResponse: description: List Payees Response Object example: summary: totalOnboardedCount: 5 totalRegisteredCount: 1 totalPayeesCount: 0 totalInvitedCount: 6 totalOfacFailedCount: 5 links: - rel: rel href: href - rel: rel href: href page: numberOfElements: 2 totalPages: 9 pageSize: 2 page: 3 totalElements: 7 content: - payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity country: country cellphoneNumber: cellphoneNumber address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" displayName: displayName created: 2000-01-23T04:56:07.000+00:00 lastOfacCheckTimestamp: lastOfacCheckTimestamp gracePeriodEndDate: 2000-01-23 paymentChannel: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber marketingOptIns: - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email acceptTermsAndConditionsTimestamp: 2000-01-23T04:56:07.000+00:00 - payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity country: country cellphoneNumber: cellphoneNumber address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" displayName: displayName created: 2000-01-23T04:56:07.000+00:00 lastOfacCheckTimestamp: lastOfacCheckTimestamp gracePeriodEndDate: 2000-01-23 paymentChannel: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber marketingOptIns: - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email acceptTermsAndConditionsTimestamp: 2000-01-23T04:56:07.000+00:00 properties: summary: $ref: '#/components/schemas/PayeeResponse_summary' page: $ref: '#/components/schemas/PayeeResponse_page' links: items: $ref: '#/components/schemas/PayeeResponse_links' type: array content: items: $ref: '#/components/schemas/Payee' type: array type: object Payee: example: payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity country: country cellphoneNumber: cellphoneNumber address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" displayName: displayName created: 2000-01-23T04:56:07.000+00:00 lastOfacCheckTimestamp: lastOfacCheckTimestamp gracePeriodEndDate: 2000-01-23 paymentChannel: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber marketingOptIns: - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email acceptTermsAndConditionsTimestamp: 2000-01-23T04:56:07.000+00:00 properties: payeeId: format: uuid readOnly: true type: string payorRefs: items: $ref: '#/components/schemas/PayorRef' nullable: true readOnly: true type: array email: format: email nullable: true type: string address: $ref: '#/components/schemas/Address' country: type: string displayName: type: string paymentChannel: $ref: '#/components/schemas/PaymentChannel' challenge: $ref: '#/components/schemas/Challenge' language: $ref: '#/components/schemas/Language' acceptTermsAndConditionsTimestamp: description: The timestamp when the payee last accepted T&Cs format: date-time nullable: true readOnly: true type: string cellphoneNumber: type: string payeeType: $ref: '#/components/schemas/PayeeType' company: $ref: '#/components/schemas/Company' individual: $ref: '#/components/schemas/Individual' created: format: date-time type: string gracePeriodEndDate: format: date nullable: true readOnly: true type: string lastOfacCheckTimestamp: format: date_time nullable: true readOnly: true type: string marketingOptIns: items: $ref: '#/components/schemas/MarketingOptIn' type: array ofacStatus: $ref: '#/components/schemas/OfacStatus' onboardedStatus: $ref: '#/components/schemas/OnboardedStatus' type: object PayeeDeltaResponse: description: List Payee Changes Response Object example: links: - rel: first href: http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000 - rel: first href: http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000 page: numberOfElements: 2 totalPages: 1 pageSize: 25 page: 1 totalElements: 2 content: - payeeCountry: US displayName: Payee1 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 dbaName: Payee DBA Name email: payee1@example.com remoteId: payee_1 - payeeCountry: US displayName: Payee1 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 dbaName: Payee DBA Name email: payee1@example.com remoteId: payee_1 properties: page: $ref: '#/components/schemas/PayeeDeltaResponse_page' links: items: $ref: '#/components/schemas/PayeeDeltaResponse_links' type: array content: items: $ref: '#/components/schemas/PayeeDelta' type: array type: object CreatePayeesRequest: example: payees: - payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: nationalIdentification dateOfBirth: 2000-01-23 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email remoteId: remoteId paymentChannel: paymentChannelName: paymentChannelName routingNumber: routingNumber accountName: accountName countryCode: AF iban: iban currency: USD accountNumber: accountNumber - payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: nationalIdentification dateOfBirth: 2000-01-23 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email remoteId: remoteId paymentChannel: paymentChannelName: paymentChannelName routingNumber: routingNumber accountName: accountName countryCode: AF iban: iban currency: USD accountNumber: accountNumber payorId: payorId properties: payorId: type: string payees: items: $ref: '#/components/schemas/CreatePayee' type: array required: - payees - payorId type: object CreatePayeesCSVRequest: properties: type: $ref: '#/components/schemas/PayeeType' remoteId: maxLength: 100 minLength: 1 type: string email: format: email maxLength: 255 minLength: 3 type: string addressLine1: maxLength: 100 minLength: 2 type: string addressLine2: maxLength: 100 minLength: 0 type: string addressLine3: maxLength: 100 minLength: 0 type: string addressLine4: maxLength: 100 minLength: 0 type: string addressCity: maxLength: 50 minLength: 2 type: string addressCountyOrProvince: maxLength: 50 minLength: 1 type: string addressZipOrPostcode: maxLength: 60 minLength: 1 type: string addressCountry: maxLength: 50 minLength: 2 type: string individualNationalIdentification: maxLength: 30 minLength: 6 type: string individualDateOfBirth: description: Must not be date in future. Example - 1970-05-20 format: date type: string individualTitle: maxLength: 40 minLength: 1 type: string individualFirstName: maxLength: 40 minLength: 1 type: string individualOtherNames: maxLength: 40 minLength: 1 type: string individualLastName: maxLength: 40 minLength: 1 type: string companyName: maxLength: 40 minLength: 1 type: string companyEIN: description: Company Tax Id (EIN) must be 9 numeric characters. Must match the regular expression ```[\d]{9}```. pattern: '[\\d]{9}' type: string companyOperatingName: maxLength: 100 minLength: 1 type: string paymentChannelAccountNumber: description: Either routing number and account number or only iban must be set maxLength: 17 minLength: 6 type: string paymentChannelRoutingNumber: description: Either routing number and account number or only iban must be set maxLength: 9 minLength: 9 type: string paymentChannelAccountName: type: string paymentChannelIban: description: Must match the regular expression ```^[A-Za-z0-9]+$```. maxLength: 34 minLength: 15 pattern: ^[A-Za-z0-9]+$ type: string paymentChannelCountryCode: description: Must be a 2 character country code - per ISO 3166-1 enum: - AF - AX - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - BN - BG - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CG - CD - CK - CR - CI - HR - CU - CW - CY - CZ - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MK - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - MP - NO - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - RE - RO - RU - RW - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - GS - SS - ES - LK - SD - SR - SJ - SZ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - US - UM - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - ZM - ZW maxLength: 2 minLength: 2 type: string paymentChannelCurrency: enum: - USD - GBP - EUR type: string challengeDescription: maxLength: 255 minLength: 1 type: string challengeValue: maxLength: 20 minLength: 3 type: string payeeLanguage: enum: - AR - EN - ES - FR - HE - HI - JA - PT - RU - UR - ZH type: string required: - addressCity - addressCountry - addressLine1 - addressZipOrPostcode - email - remoteId - type type: object CreatePayeesCSVResponse: example: batchId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 rejectedCsvRows: - rejectedCsvRows - rejectedCsvRows properties: batchId: format: uuid type: string rejectedCsvRows: items: type: string type: array type: object QueryBatchResponse: example: failures: - failedSubmission: payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity country: country cellphoneNumber: cellphoneNumber address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" displayName: displayName created: 2000-01-23T04:56:07.000+00:00 lastOfacCheckTimestamp: lastOfacCheckTimestamp gracePeriodEndDate: 2000-01-23 paymentChannel: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber marketingOptIns: - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email acceptTermsAndConditionsTimestamp: 2000-01-23T04:56:07.000+00:00 failureMessage: failureMessage - failedSubmission: payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity country: country cellphoneNumber: cellphoneNumber address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" displayName: displayName created: 2000-01-23T04:56:07.000+00:00 lastOfacCheckTimestamp: lastOfacCheckTimestamp gracePeriodEndDate: 2000-01-23 paymentChannel: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber marketingOptIns: - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email acceptTermsAndConditionsTimestamp: 2000-01-23T04:56:07.000+00:00 failureMessage: failureMessage pendingCount: 6 failureCount: 0 status: SUBMITTED properties: status: description: Batch Status enum: - SUBMITTED - ACCEPTED type: string failureCount: format: int32 type: integer pendingCount: format: int32 type: integer failures: items: $ref: '#/components/schemas/FailedSubmission' type: array type: object InvitePayeeRequest: example: payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: payorId: format: uuid type: string required: - payorId type: object InvitationStatusResponse: example: payeeInvitationStatuses: - payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 gracePeriodEndDate: 2000-01-23 invitationStatus: ACCEPTED - payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 gracePeriodEndDate: 2000-01-23 invitationStatus: ACCEPTED properties: payeeInvitationStatuses: items: $ref: '#/components/schemas/PayeeInvitationStatus' type: array required: - payeeInvitationStatuses type: object InvitationStatus: enum: - ACCEPTED - PENDING - DECLINED type: string PagedPayeeInvitationStatusResponse: description: List Payees Invitation Status Object example: links: - rel: rel href: href - rel: rel href: href page: numberOfElements: 2 totalPages: 9 pageSize: 2 page: 3 totalElements: 7 content: - payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 gracePeriodEndDate: 2000-01-23 - payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 gracePeriodEndDate: 2000-01-23 properties: page: $ref: '#/components/schemas/PayeeResponse_page' links: items: $ref: '#/components/schemas/PayeeResponse_links' type: array content: items: $ref: '#/components/schemas/PayeeInvitationStatusResponse' type: array type: object ListSourceAccountResponse: description: List Source Accounts Response Object example: links: - rel: first href: https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc - rel: first href: https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc page: numberOfElements: 1 totalPages: 2 pageSize: 25 page: 1 totalElements: 1 content: - physicalAccountName: VELO_FBO_MYBANKA_USD fundingAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fundingRef: a1b2c3d4 balance: 1203489 pooled: true name: MyAccountName customerId: Joe Customer physicalAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 currency: USD railsId: BOA_RAIL balanceVisible: true id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - physicalAccountName: VELO_FBO_MYBANKA_USD fundingAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fundingRef: a1b2c3d4 balance: 1203489 pooled: true name: MyAccountName customerId: Joe Customer physicalAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 currency: USD railsId: BOA_RAIL balanceVisible: true id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: page: $ref: '#/components/schemas/ListSourceAccountResponse_page' links: items: $ref: '#/components/schemas/ListSourceAccountResponse_links' type: array content: items: $ref: '#/components/schemas/SourceAccountResponse' type: array type: object SourceAccountResponse: example: physicalAccountName: VELO_FBO_MYBANKA_USD fundingAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fundingRef: a1b2c3d4 balance: 1203489 pooled: true name: MyAccountName customerId: Joe Customer physicalAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 currency: USD railsId: BOA_RAIL balanceVisible: true id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: id: description: Source Account Id format: uuid type: string balance: description: Decimal implied example: 1203489 format: int32 type: number currency: enum: - USD example: USD maxLength: 3 minLength: 3 type: string fundingRef: example: a1b2c3d4 type: string physicalAccountName: example: VELO_FBO_MYBANKA_USD type: string railsId: example: BOA_RAIL type: string payorId: format: uuid type: string name: example: MyAccountName type: string pooled: type: boolean balanceVisible: type: boolean customerId: example: Joe Customer nullable: true type: string physicalAccountId: format: uuid type: string fundingAccountId: format: uuid nullable: true type: string type: object FundingRequest: example: amount: 800828191 properties: amount: description: Amount to fund, decimal implied maximum: 9999999999 minimum: 1 type: integer required: - amount type: object SetNotificationsRequest: example: minimumBalance: 800828190 properties: minimumBalance: description: Amount to set as minimum balance in minor units maximum: 9999999999 minimum: 0 type: integer required: - minimumBalance type: object FundingRequest_2: properties: amount: description: Amount to fund, decimal implied maximum: 9999999999 minimum: 1 type: integer required: - amount type: object ListSourceAccountResponseV2: description: List Source Accounts Response Object example: links: - rel: first href: https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc - rel: first href: https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc page: numberOfElements: 12 totalPages: 2 pageSize: 25 page: 1 totalElements: 33 content: - physicalAccountName: VELO_FBO_MYBANKA_USD fundingAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fundingRef: a1b2c3d4 balance: 1203489 pooled: true name: MyAccountName customerId: Joe Customer physicalAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 autoTopUpConfig: targetBalance: 300000 minBalance: 10000 enabled: true currency: USD railsId: BOA_RAIL balanceVisible: true id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 notifications: minimumBalance: 120000 - physicalAccountName: VELO_FBO_MYBANKA_USD fundingAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fundingRef: a1b2c3d4 balance: 1203489 pooled: true name: MyAccountName customerId: Joe Customer physicalAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 autoTopUpConfig: targetBalance: 300000 minBalance: 10000 enabled: true currency: USD railsId: BOA_RAIL balanceVisible: true id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 notifications: minimumBalance: 120000 properties: page: $ref: '#/components/schemas/ListSourceAccountResponseV2_page' links: items: $ref: '#/components/schemas/ListSourceAccountResponse_links' type: array content: items: $ref: '#/components/schemas/SourceAccountResponseV2' type: array type: object SourceAccountResponseV2: example: physicalAccountName: VELO_FBO_MYBANKA_USD fundingAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fundingRef: a1b2c3d4 balance: 1203489 pooled: true name: MyAccountName customerId: Joe Customer physicalAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 autoTopUpConfig: targetBalance: 300000 minBalance: 10000 enabled: true currency: USD railsId: BOA_RAIL balanceVisible: true id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 notifications: minimumBalance: 120000 properties: id: description: Source Account Id format: uuid type: string balance: description: Decimal implied example: 1203489 format: int32 type: number currency: enum: - USD example: USD maxLength: 3 minLength: 3 type: string fundingRef: example: a1b2c3d4 type: string physicalAccountName: example: VELO_FBO_MYBANKA_USD type: string railsId: example: BOA_RAIL type: string payorId: format: uuid type: string name: example: MyAccountName type: string pooled: type: boolean balanceVisible: type: boolean customerId: example: Joe Customer nullable: true type: string physicalAccountId: format: uuid type: string notifications: $ref: '#/components/schemas/Notifications' fundingAccountId: format: uuid nullable: true type: string autoTopUpConfig: $ref: '#/components/schemas/AutoTopUpConfig' required: - autoTopUpConfig - balanceVisible - fundingRef - id - physicalAccountName - pooled - railsId type: object GetFundingsResponse: allOf: - $ref: '#/components/schemas/PagedResponse' - properties: content: $ref: '#/components/schemas/FundingAudit' type: object type: object GetPayoutsResponse: description: List Payouts Response example: summary: totalOnboardedCount: 123 totalRegisteredCount: 123 totalPayeesCount: 12 totalInvitedCount: 100 totalOfacFailedCount: 23 links: - rel: first href: https://example.com - rel: first href: https://example.com page: numberOfElements: 12 totalPages: 123 pageSize: 25 page: 1 totalElements: 123 content: - dateTime: 2000-01-23T04:56:07.000+00:00 sourceAccountSummary: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 submittedDateTime: submittedDateTime payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalIncompletePayments: 123 fxSummaries: - invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED - invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalPayments: 123 instructedDateTime: instructedDateTime totalFailedPayments: 123 payoutMemo: payoutMemo - dateTime: 2000-01-23T04:56:07.000+00:00 sourceAccountSummary: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 submittedDateTime: submittedDateTime payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalIncompletePayments: 123 fxSummaries: - invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED - invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalPayments: 123 instructedDateTime: instructedDateTime totalFailedPayments: 123 payoutMemo: payoutMemo properties: summary: $ref: '#/components/schemas/GetPayoutsResponse_summary' page: $ref: '#/components/schemas/GetPayoutsResponse_page' links: items: $ref: '#/components/schemas/GetPayoutsResponse_links' type: array content: items: $ref: '#/components/schemas/PayoutSummaryAudit' type: array type: object GetPaymentsForPayoutResponse: description: List Payments for payout example: summary: incompletePayments: 123 confirmedPayments: 123 releasedPayments: 123 submittedDateTime: 2000-01-23T04:56:07.000+00:00 payoutStatus: ACCEPTED totalPayments: 123 instructedDateTime: 2000-01-23T04:56:07.000+00:00 payoutMemo: Payment Memo value failedPayments: 0 links: - rel: first href: https://example.com - rel: first href: https://example.com page: numberOfElements: 12 totalPages: 10 pageSize: 25 page: 1 totalElements: 12 content: - traceNumber: abodu123 accountName: My Account Name paymentMemo: Payment memo paymentAmount: 0 fundingStatus: FUNDED paymentChannelName: My Payment Channel filenameReference: file ref rate: 6.027456183070403 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: US returnReason: Some Reason Value submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 12345 railsId: asdf123 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 payorName: payorName sourceAccountName: My Account paymentChannelId: 123asdf invertedRate: 1.4658129805029452 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: 1231231adf accountNumber: "123123232323" quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: aasdf123 routingNumber: "123123123123" returnCost: 1232 iban: DE89 3704 0044 0532 0130 00 payorPaymentId: 123123asdf status: ACCEPTED - traceNumber: abodu123 accountName: My Account Name paymentMemo: Payment memo paymentAmount: 0 fundingStatus: FUNDED paymentChannelName: My Payment Channel filenameReference: file ref rate: 6.027456183070403 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: US returnReason: Some Reason Value submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 12345 railsId: asdf123 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 payorName: payorName sourceAccountName: My Account paymentChannelId: 123asdf invertedRate: 1.4658129805029452 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: 1231231adf accountNumber: "123123232323" quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: aasdf123 routingNumber: "123123123123" returnCost: 1232 iban: DE89 3704 0044 0532 0130 00 payorPaymentId: 123123asdf status: ACCEPTED properties: summary: $ref: '#/components/schemas/GetPaymentsForPayoutResponse_summary' page: $ref: '#/components/schemas/GetPaymentsForPayoutResponse_page' links: items: $ref: '#/components/schemas/GetPayoutsResponse_links' type: array content: items: $ref: '#/components/schemas/PaymentResponse' type: array type: object ListPaymentsResponse: description: List Payments Response Object example: summary: totalOnboardedCount: 123 totalRegisteredCount: 123 totalPayeesCount: 123 totalInvitedCount: 123 totalOfacFailedCount: 123 links: - rel: first href: https://example.com - rel: first href: https://example.com page: numberOfElements: 12 totalPages: 12 pageSize: 25 page: 1 totalElements: 12 content: - traceNumber: abodu123 accountName: My Account Name paymentMemo: Payment memo paymentAmount: 0 fundingStatus: FUNDED paymentChannelName: My Payment Channel filenameReference: file ref rate: 6.027456183070403 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: US returnReason: Some Reason Value submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 12345 railsId: asdf123 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 payorName: payorName sourceAccountName: My Account paymentChannelId: 123asdf invertedRate: 1.4658129805029452 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: 1231231adf accountNumber: "123123232323" quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: aasdf123 routingNumber: "123123123123" returnCost: 1232 iban: DE89 3704 0044 0532 0130 00 payorPaymentId: 123123asdf status: ACCEPTED - traceNumber: abodu123 accountName: My Account Name paymentMemo: Payment memo paymentAmount: 0 fundingStatus: FUNDED paymentChannelName: My Payment Channel filenameReference: file ref rate: 6.027456183070403 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: US returnReason: Some Reason Value submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 12345 railsId: asdf123 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 payorName: payorName sourceAccountName: My Account paymentChannelId: 123asdf invertedRate: 1.4658129805029452 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: 1231231adf accountNumber: "123123232323" quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: aasdf123 routingNumber: "123123123123" returnCost: 1232 iban: DE89 3704 0044 0532 0130 00 payorPaymentId: 123123asdf status: ACCEPTED properties: summary: $ref: '#/components/schemas/ListPaymentsResponse_summary' page: $ref: '#/components/schemas/ListPaymentsResponse_page' links: items: $ref: '#/components/schemas/GetPayoutsResponse_links' type: array content: items: $ref: '#/components/schemas/PaymentResponse' type: array type: object PaymentResponse: example: traceNumber: abodu123 accountName: My Account Name paymentMemo: Payment memo paymentAmount: 0 fundingStatus: FUNDED paymentChannelName: My Payment Channel filenameReference: file ref rate: 6.027456183070403 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: US returnReason: Some Reason Value submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 12345 railsId: asdf123 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 - principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 payorName: payorName sourceAccountName: My Account paymentChannelId: 123asdf invertedRate: 1.4658129805029452 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: 1231231adf accountNumber: "123123232323" quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: aasdf123 routingNumber: "123123123123" returnCost: 1232 iban: DE89 3704 0044 0532 0130 00 payorPaymentId: 123123asdf status: ACCEPTED properties: paymentId: format: uuid type: string payeeId: format: uuid type: string payorId: format: uuid type: string payorName: type: string quoteId: format: uuid type: string sourceAccountId: format: uuid type: string sourceAccountName: example: My Account type: string remoteId: example: aasdf123 type: string sourceAmount: example: 12345 type: integer sourceCurrency: $ref: '#/components/schemas/PaymentAuditCurrency' paymentAmount: type: integer paymentCurrency: $ref: '#/components/schemas/PaymentAuditCurrency' rate: format: decimal type: number invertedRate: format: decimal type: number submittedDateTime: format: date-time type: string status: enum: - ACCEPTED - AWAITING_FUNDS - FUNDED - UNFUNDED - BANK_PAYMENT_REQUESTED - REJECTED - ACCEPTED_BY_RAILS - CONFIRMED - FAILED - WITHDRAWN type: string fundingStatus: enum: - FUNDED - INSTRUCTED - UNFUNDED type: string routingNumber: example: "123123123123" type: string accountNumber: example: "123123232323" type: string iban: example: DE89 3704 0044 0532 0130 00 type: string paymentMemo: example: Payment memo type: string filenameReference: example: file ref type: string individualIdentificationNumber: example: 1231231adf type: string traceNumber: example: abodu123 type: string payorPaymentId: example: 123123asdf type: string paymentChannelId: example: 123asdf type: string paymentChannelName: example: My Payment Channel type: string accountName: example: My Account Name type: string railsId: example: asdf123 type: string countryCode: example: US type: string events: items: $ref: '#/components/schemas/PaymentEventResponse' type: array returnCost: example: 1232 type: integer returnReason: example: Some Reason Value type: string required: - events - fundingStatus - payeeId - paymentAmount - paymentId - payorId - quoteId - railsId - sourceAccountId - status - submittedDateTime type: object GetPayoutStatistics: example: thisMonthFailedPaymentsCount: 6 thisMonthPayoutsCount: 0 properties: thisMonthPayoutsCount: type: integer thisMonthFailedPaymentsCount: type: integer required: - thisMonthFailedPaymentsCount - thisMonthPayoutsCount type: object GetPayoutsResponse_2: description: List Payouts Response example: summary: totalOnboardedCount: 5 totalRegisteredCount: 1 totalPayeesCount: 0 totalInvitedCount: 6 totalOfacFailedCount: 5 links: - rel: rel href: href - rel: rel href: href page: numberOfElements: 2 totalPages: 9 pageSize: 2 page: 3 totalElements: 7 content: - dateTime: 2000-01-23T04:56:07.000+00:00 sourceAccountSummary: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 totalReturnedPayments: 1 submittedDateTime: submittedDateTime payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalIncompletePayments: 6 fxSummaries: - invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED - invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalPayments: 0 instructedDateTime: instructedDateTime payoutMemo: payoutMemo - dateTime: 2000-01-23T04:56:07.000+00:00 sourceAccountSummary: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 totalReturnedPayments: 1 submittedDateTime: submittedDateTime payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalIncompletePayments: 6 fxSummaries: - invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED - invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalPayments: 0 instructedDateTime: instructedDateTime payoutMemo: payoutMemo properties: summary: $ref: '#/components/schemas/PayeeResponse_summary' page: $ref: '#/components/schemas/PayeeResponse_page' links: items: $ref: '#/components/schemas/PayeeResponse_links' type: array content: items: $ref: '#/components/schemas/PayoutSummaryAudit_2' type: array type: object GetPaymentsForPayoutResponse_2: description: List Payments for payout example: summary: incompletePayments: 5 confirmedPayments: 6 releasedPayments: 1 submittedDateTime: 2000-01-23T04:56:07.000+00:00 payoutStatus: ACCEPTED totalPayments: 0 returnedPayments: 5 instructedDateTime: 2000-01-23T04:56:07.000+00:00 payoutMemo: payoutMemo links: - rel: rel href: href - rel: rel href: href page: numberOfElements: 2 totalPages: 9 pageSize: 2 page: 3 totalElements: 7 content: - traceNumber: traceNumber accountName: accountName paymentMemo: paymentMemo paymentAmount: 7 fundingStatus: FUNDED paymentChannelName: paymentChannelName filenameReference: filenameReference rate: 9.301444243932576 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: countryCode returnReason: returnReason submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 2 railsId: railsId payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 - principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 payorName: payorName sourceAccountName: sourceAccountName paymentChannelId: paymentChannelId invertedRate: 3.616076749251911 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: individualIdentificationNumber accountNumber: accountNumber quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: remoteId routingNumber: routingNumber returnCost: 2 iban: iban payorPaymentId: payorPaymentId status: ACCEPTED - traceNumber: traceNumber accountName: accountName paymentMemo: paymentMemo paymentAmount: 7 fundingStatus: FUNDED paymentChannelName: paymentChannelName filenameReference: filenameReference rate: 9.301444243932576 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: countryCode returnReason: returnReason submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 2 railsId: railsId payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 - principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 payorName: payorName sourceAccountName: sourceAccountName paymentChannelId: paymentChannelId invertedRate: 3.616076749251911 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: individualIdentificationNumber accountNumber: accountNumber quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: remoteId routingNumber: routingNumber returnCost: 2 iban: iban payorPaymentId: payorPaymentId status: ACCEPTED properties: summary: $ref: '#/components/schemas/GetPaymentsForPayoutResponse_2_summary' page: $ref: '#/components/schemas/PayeeResponse_page' links: items: $ref: '#/components/schemas/PayeeResponse_links' type: array content: items: $ref: '#/components/schemas/PaymentResponse_2' type: array type: object PaymentResponse_2: example: traceNumber: traceNumber accountName: accountName paymentMemo: paymentMemo paymentAmount: 7 fundingStatus: FUNDED paymentChannelName: paymentChannelName filenameReference: filenameReference rate: 9.301444243932576 paymentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 countryCode: countryCode returnReason: returnReason submittedDateTime: 2000-01-23T04:56:07.000+00:00 sourceAmount: 2 railsId: railsId payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 events: - principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 - principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 payorName: payorName sourceAccountName: sourceAccountName paymentChannelId: paymentChannelId invertedRate: 3.616076749251911 sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 individualIdentificationNumber: individualIdentificationNumber accountNumber: accountNumber quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 remoteId: remoteId routingNumber: routingNumber returnCost: 2 iban: iban payorPaymentId: payorPaymentId status: ACCEPTED properties: paymentId: format: uuid type: string payeeId: format: uuid type: string payorId: format: uuid type: string payorName: type: string quoteId: format: uuid type: string sourceAccountId: format: uuid type: string sourceAccountName: type: string remoteId: type: string sourceAmount: type: integer sourceCurrency: $ref: '#/components/schemas/PaymentAuditCurrency_2' paymentAmount: type: integer paymentCurrency: $ref: '#/components/schemas/PaymentAuditCurrency_2' rate: format: double type: number invertedRate: format: double type: number submittedDateTime: format: date-time type: string status: enum: - ACCEPTED - AWAITING_FUNDS - FUNDED - UNFUNDED - BANK_PAYMENT_REQUESTED - REJECTED - ACCEPTED_BY_RAILS - CONFIRMED - RETURNED - WITHDRAWN type: string fundingStatus: enum: - FUNDED - INSTRUCTED - UNFUNDED type: string routingNumber: type: string accountNumber: type: string iban: type: string paymentMemo: type: string filenameReference: type: string individualIdentificationNumber: type: string traceNumber: type: string payorPaymentId: type: string paymentChannelId: type: string paymentChannelName: type: string accountName: type: string railsId: type: string countryCode: type: string events: items: $ref: '#/components/schemas/PaymentEventResponse_2' type: array returnCost: type: integer returnReason: type: string required: - events - fundingStatus - payeeId - paymentAmount - paymentId - payorId - quoteId - railsId - sourceAccountId - status - submittedDateTime type: object CreatePayoutRequest: example: payments: - amount: 1299 currency: USD payorPaymentId: 123211321ABSD paymentMemo: my memo remoteId: remoteId1234 sourceAccountName: MyAccountName - amount: 1299 currency: USD payorPaymentId: 123211321ABSD paymentMemo: my memo remoteId: remoteId1234 sourceAccountName: MyAccountName - amount: 1299 currency: USD payorPaymentId: 123211321ABSD paymentMemo: my memo remoteId: remoteId1234 sourceAccountName: MyAccountName - amount: 1299 currency: USD payorPaymentId: 123211321ABSD paymentMemo: my memo remoteId: remoteId1234 sourceAccountName: MyAccountName - amount: 1299 currency: USD payorPaymentId: 123211321ABSD paymentMemo: my memo remoteId: remoteId1234 sourceAccountName: MyAccountName payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 payoutMemo: A memo properties: payorId: format: uuid type: string payoutMemo: example: A memo type: string payments: items: $ref: '#/components/schemas/PaymentInstruction' maxItems: 2000 minItems: 1 type: array required: - payments - payorId type: object PaymentInstruction: example: amount: 1299 currency: USD payorPaymentId: 123211321ABSD paymentMemo: my memo remoteId: remoteId1234 sourceAccountName: MyAccountName properties: remoteId: description: Your identifier for payee example: remoteId1234 maxLength: 100 minLength: 1 type: string currency: description: Payee's currency enum: - USD - GBP - EUR example: USD type: string amount: description: Amount to send to Payee example: 1299 format: int64 maximum: 9223372036854775807 minimum: 1 type: integer paymentMemo: example: my memo maxLength: 40 minLength: 0 type: string sourceAccountName: example: MyAccountName maxLength: 64 minLength: 1 type: string payorPaymentId: example: 123211321ABSD maxLength: 40 minLength: 0 type: string required: - amount - currency - remoteId - sourceAccountName type: object PayoutSummaryResponse: example: rejectedPayments: - currencyType: USD reason: PAYEE_NOT_ONBOARDED amount: 1234 payorPaymentId: paymenIdVal123123 lineNumber: 10 message: Payment cannot be processed because of the Payee's OFAC or Compliance Status remoteId: remoteIdVal123 sourceAccountName: Chase - currencyType: USD reason: PAYEE_NOT_ONBOARDED amount: 1234 payorPaymentId: paymenIdVal123123 lineNumber: 10 message: Payment cannot be processed because of the Payee's OFAC or Compliance Status remoteId: remoteIdVal123 sourceAccountName: Chase paymentsRejected: 0 paymentsSubmitted: 10 fxSummaries: - invertedRate: 1.12 creationTime: 2000-01-23T04:56:07.000+00:00 rate: 1.12 expiryTime: 2000-01-23T04:56:07.000+00:00 sourceCurrency: USD totalPaymentAmount: 1234 paymentCurrency: USD quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalSourceAmount: 1234 fundingStatus: FUNDED status: QUOTED - invertedRate: 1.12 creationTime: 2000-01-23T04:56:07.000+00:00 rate: 1.12 expiryTime: 2000-01-23T04:56:07.000+00:00 sourceCurrency: USD totalPaymentAmount: 1234 paymentCurrency: USD quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalSourceAmount: 1234 fundingStatus: FUNDED status: QUOTED accounts: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 currency: USD totalPayoutCost: 1231200 sourceAccountName: AccountName - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 currency: USD totalPayoutCost: 1231200 sourceAccountName: AccountName payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 status: COMPLETED paymentsAccepted: 10 properties: payoutId: format: uuid type: string status: example: COMPLETED type: string paymentsSubmitted: example: 10 type: integer paymentsAccepted: example: 10 type: integer paymentsRejected: example: 0 type: integer fxSummaries: items: $ref: '#/components/schemas/QuoteFxSummary' type: array accounts: items: $ref: '#/components/schemas/SourceAccount' type: array rejectedPayments: items: $ref: '#/components/schemas/RejectedPayment' type: array required: - accounts - fxSummaries - rejectedPayments type: object QuoteResponse: example: fxSummaries: - invertedRate: 1.12 creationTime: 2000-01-23T04:56:07.000+00:00 rate: 1.12 expiryTime: 2000-01-23T04:56:07.000+00:00 sourceCurrency: USD totalPaymentAmount: 1234 paymentCurrency: USD quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalSourceAmount: 1234 fundingStatus: FUNDED status: QUOTED - invertedRate: 1.12 creationTime: 2000-01-23T04:56:07.000+00:00 rate: 1.12 expiryTime: 2000-01-23T04:56:07.000+00:00 sourceCurrency: USD totalPaymentAmount: 1234 paymentCurrency: USD quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalSourceAmount: 1234 fundingStatus: FUNDED status: QUOTED properties: fxSummaries: items: $ref: '#/components/schemas/QuoteFxSummary' type: array type: object PaymentChannelRulesResponse: example: bank: - isoCountryCode: isoCountryCode rules: - displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element - displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element - isoCountryCode: isoCountryCode rules: - displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element - displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element properties: bank: items: $ref: '#/components/schemas/PaymentChannelCountry' type: array type: object SupportedCountriesResponse: example: countries: - isoCountryCode: US currencies: - USD - isoCountryCode: US currencies: - USD properties: countries: items: $ref: '#/components/schemas/SupportedCountry' type: array type: object SupportedCurrencyResponse: example: currencies: - currency: currency maxPaymentAmount: 0 - currency: currency maxPaymentAmount: 0 properties: currencies: items: $ref: '#/components/schemas/SupportedCurrency' type: array type: object Address: example: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" properties: line1: example: 500 Duval St maxLength: 255 minLength: 2 nullable: false type: string line2: maxLength: 255 minLength: 0 nullable: true type: string line3: maxLength: 255 minLength: 0 nullable: true type: string line4: maxLength: 255 minLength: 0 nullable: true type: string city: example: Key West maxLength: 100 minLength: 2 nullable: false type: string countyOrProvince: example: FL maxLength: 100 minLength: 2 nullable: true type: string zipOrPostcode: example: "33945" maxLength: 30 minLength: 2 nullable: true type: string country: example: US maxLength: 50 minLength: 2 nullable: false type: string required: - city - country - line1 type: object PayorRef: example: payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity properties: payorId: example: ba08877f-9d96-41e4-9c26-44a872d856ae format: uuid type: string remoteId: example: uniqueIdForRemoteEntity type: string invitationStatus: type: string type: object PaymentChannel: example: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber properties: paymentChannelName: type: string iban: description: Must match the regular expression ```^[A-Za-z0-9]+$```. maxLength: 34 minLength: 15 pattern: ^[A-Za-z0-9]+$ type: string accountNumber: maxLength: 17 minLength: 6 type: string routingNo: maxLength: 9 minLength: 9 type: string countryCode: description: Must be a 3 character currency code. ISO 4217 maxLength: 9 minLength: 9 type: string currency: enum: - USD - GBP - EUR type: string accountName: type: string required: - accountName - accountNumber - countryCode - currency - routingNo - type type: object Challenge: example: description: description value: value properties: value: maxLength: 20 minLength: 3 type: string description: maxLength: 255 minLength: 1 type: string required: - description - value type: object Language: description: Available Payee Language codes enum: - AR - EN - ES - FR - HE - HI - JA - PT - RU - UR - ZH type: string Company: example: taxId: taxId name: name operatingName: operatingName nullable: true properties: name: maxLength: 40 minLength: 1 type: string taxId: description: Company Tax Id (EIN) must be 9 numeric characters. Must match the regular expression ```[\d]{9}```. nullable: true pattern: ^[\d]{9}$ type: string operatingName: maxLength: 100 minLength: 1 nullable: true type: string required: - name type: object Individual: example: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" properties: name: $ref: '#/components/schemas/Individual_name' nationalIdentification: oneOf: - pattern: ^[\d]{9}$ type: string - description: 'If not authorized to view, value will be masked. Example: XXXXX1234' pattern: ^XXXXX[\d]{4}$ readOnly: true type: string dateOfBirth: oneOf: - description: example - 1970-05-20 format: date type: string - description: 'If not authorized to view, value will be masked. Example: - XXXX-XX-XX' pattern: ^XXXX-XX-XX$ readOnly: true type: string required: - dateOfBirth - name type: object MarketingOptIn: example: optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 properties: optedIn: type: boolean timestamp: format: date-time type: string type: object PayeeDelta: example: payeeCountry: US displayName: Payee1 payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 dbaName: Payee DBA Name email: payee1@example.com remoteId: payee_1 properties: remoteId: example: payee_1 maxLength: 100 minLength: 1 type: string payeeId: format: uuid readOnly: true type: string displayName: example: Payee1 type: string dbaName: example: Payee DBA Name type: string email: example: payee1@example.com format: email nullable: true type: string payeeCountry: example: US type: string onboardedStatus: $ref: '#/components/schemas/OnboardedStatus_2' required: - payeeId - remoteId type: object CreatePayee: example: payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: nationalIdentification dateOfBirth: 2000-01-23 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email remoteId: remoteId paymentChannel: paymentChannelName: paymentChannelName routingNumber: routingNumber accountName: accountName countryCode: AF iban: iban currency: USD accountNumber: accountNumber properties: payeeId: format: uuid readOnly: true type: string payorRefs: items: $ref: '#/components/schemas/PayorRef' nullable: true readOnly: true type: array email: format: email maxLength: 255 minLength: 3 type: string remoteId: maxLength: 100 minLength: 1 type: string type: $ref: '#/components/schemas/PayeeType' address: $ref: '#/components/schemas/CreatePayeeAddress' paymentChannel: $ref: '#/components/schemas/CreatePaymentChannel' challenge: $ref: '#/components/schemas/Challenge' language: $ref: '#/components/schemas/Language' company: $ref: '#/components/schemas/Company' individual: $ref: '#/components/schemas/CreateIndividual' required: - address - email - remoteId - type type: object FailedSubmission: example: failedSubmission: payorRefs: - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity - payorId: ba08877f-9d96-41e4-9c26-44a872d856ae invitationStatus: invitationStatus remoteId: uniqueIdForRemoteEntity country: country cellphoneNumber: cellphoneNumber address: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" individual: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: "" dateOfBirth: "" displayName: displayName created: 2000-01-23T04:56:07.000+00:00 lastOfacCheckTimestamp: lastOfacCheckTimestamp gracePeriodEndDate: 2000-01-23 paymentChannel: paymentChannelName: paymentChannelName routingNo: routingNo accountName: accountName countryCode: countryCode iban: iban currency: USD accountNumber: accountNumber marketingOptIns: - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 - optedIn: true timestamp: 2000-01-23T04:56:07.000+00:00 challenge: description: description value: value company: taxId: taxId name: name operatingName: operatingName payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 email: email acceptTermsAndConditionsTimestamp: 2000-01-23T04:56:07.000+00:00 failureMessage: failureMessage properties: failedSubmission: $ref: '#/components/schemas/Payee' failureMessage: type: string type: object PayeeInvitationStatus: example: payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 gracePeriodEndDate: 2000-01-23 invitationStatus: ACCEPTED properties: payeeId: format: uuid type: string invitationStatus: enum: - ACCEPTED - PENDING - DECLINED example: ACCEPTED type: string gracePeriodEndDate: format: date type: string required: - invitationStatus - payeeId type: object PayeeInvitationStatusResponse: example: payeeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 gracePeriodEndDate: 2000-01-23 properties: payeeId: format: uuid type: string invitationStatus: $ref: '#/components/schemas/InvitationStatus' gracePeriodEndDate: format: date type: string required: - invitationStatus - payeeId type: object Notifications: example: minimumBalance: 120000 properties: minimumBalance: example: 120000 type: integer type: object AutoTopUpConfig: example: targetBalance: 300000 minBalance: 10000 enabled: true properties: enabled: description: Is auto top-up enabled? automatically trigger funding to top-up the source account balance when the balance falls below the configured minimum level. example: true type: boolean minBalance: description: When the payor balance falls below this level then auto top-up will be triggered. Note - This is in minor units. example: 10000 format: int32 nullable: true type: number targetBalance: description: When the payor balance falls below the min balance then auto top-up will request funds bring the balance to this level. Note - this is in minor units. example: 300000 format: int32 nullable: true type: number required: - enabled type: object PagedResponse: properties: page: $ref: '#/components/schemas/PagedResponse_page' links: items: type: object type: array type: object FundingAudit: properties: amount: format: double type: number dateTime: format: date-time type: string status: enum: - PENDING - FAILED - CREDIT - DEBIT type: string currency: type: string sourceAccountName: type: string fundingAccountName: type: string fundingType: type: string events: items: $ref: '#/components/schemas/FundingEvent' type: array type: object PayoutSummaryAudit: example: dateTime: 2000-01-23T04:56:07.000+00:00 sourceAccountSummary: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 submittedDateTime: submittedDateTime payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalIncompletePayments: 123 fxSummaries: - invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED - invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalPayments: 123 instructedDateTime: instructedDateTime totalFailedPayments: 123 payoutMemo: payoutMemo properties: payoutId: format: uuid type: string payorId: format: uuid type: string status: $ref: '#/components/schemas/PayoutStatus' dateTime: format: date-time type: string submittedDateTime: type: string instructedDateTime: type: string totalPayments: example: 123 type: integer totalIncompletePayments: example: 123 type: integer totalFailedPayments: example: 123 type: integer sourceAccountSummary: items: $ref: '#/components/schemas/SourceAccountSummary' type: array fxSummaries: items: $ref: '#/components/schemas/FxSummary' type: array payoutMemo: type: string required: - payoutId - status - submittedDateTime type: object PaymentAuditCurrency: description: ISO 3 character currency code enum: - USD - GBP - EUR maxLength: 3 minLength: 3 type: string PaymentEventResponse: example: principal: Prinicple example eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: "123123123" accountName: My account iban: DE89 3704 0044 0532 0130 00 sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: "123123123" paymentAmount: 1299 properties: eventId: description: The id of the event. format: uuid type: string eventDateTime: description: The date/time at which the event occurred. format: date-time type: string eventType: description: The type of the event. enum: - PAYOUT_SUBMITTED - PAYOUT_COMPLETED - PAYOUT_INSTRUCTED_V3 - BANK_PAYMENT_REQUESTED - SOURCE_AMOUNT_CONFIRMED - PAYMENT_SUBMITTED - PAYMENT_SUBMITTED_ACCEPTED - PAYMENT_SUBMITTED_REJECTED - PAYMENT_CONFIRMED - PAYMENT_AWAITING_FUNDS - PAYMENT_FUNDED - PAYMENT_UNFUNDED - PAYMENT_FAILED - ACH_SUBMITTED_TO_ODFI - PAYMENT_ACCEPTED_BY_RAILS - ACH_RETURN_RECEIVED - RETURN_PAYMENT_FUNDING_REQUESTED - PAYOUT_BATCH_EXECUTED - PAYOUT_BATCH_QUOTE_EXPIRED - PAYOUT_BATCH_FUNDED - PAYOUT_BATCH_FUNDS_RETURN_REQUEST - PAYOUT_BATCH_FUNDS_RETURNED - PAYOUT_FUNDS_REQUEST - PAYOUT_FUNDS_GRANTED - PAYOUT_FUNDS_DENIED - PAYOUT_BATCH_QUOTED - PAYOUT_QUOTED - ACH_PAYMENT_RETURN_CANCELLED - RETURN_PAYMENT_CANCELLATION_REQUESTED - PAYOUT_WITHDRAWN type: string sourceCurrency: $ref: '#/components/schemas/PaymentAuditCurrency' sourceAmount: description: The source amount exposed by the event. example: 1299 format: int32 type: integer paymentCurrency: $ref: '#/components/schemas/PaymentAuditCurrency' paymentAmount: description: The destination amount exposed by the event. example: 1299 format: int32 type: integer accountNumber: description: The account number attached to the event. example: "123123123" type: string routingNumber: description: The routing number attached to the event. example: "123123123" type: string iban: example: DE89 3704 0044 0532 0130 00 type: string accountName: example: My account type: string principal: example: Prinicple example type: string required: - eventDateTime - eventId - eventType type: object PayoutSummaryAudit_2: example: dateTime: 2000-01-23T04:56:07.000+00:00 sourceAccountSummary: - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 - sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 totalReturnedPayments: 1 submittedDateTime: submittedDateTime payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalIncompletePayments: 6 fxSummaries: - invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED - invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED payoutId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalPayments: 0 instructedDateTime: instructedDateTime payoutMemo: payoutMemo properties: payoutId: format: uuid type: string payorId: format: uuid type: string status: $ref: '#/components/schemas/PayoutStatus_2' dateTime: format: date-time type: string submittedDateTime: type: string instructedDateTime: type: string totalPayments: type: integer totalIncompletePayments: type: integer totalReturnedPayments: type: integer sourceAccountSummary: items: $ref: '#/components/schemas/SourceAccountSummary_2' type: array fxSummaries: items: $ref: '#/components/schemas/FxSummary_2' type: array payoutMemo: type: string required: - payoutId - status - submittedDateTime type: object PaymentAuditCurrency_2: description: ISO 3 character currency code enum: - USD - GBP - EUR maxLength: 3 minLength: 3 type: string PaymentEventResponse_2: example: principal: principal eventId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 eventDateTime: 2000-01-23T04:56:07.000+00:00 routingNumber: routingNumber accountName: accountName iban: iban sourceAmount: 1299 eventType: PAYOUT_SUBMITTED accountNumber: accountNumber paymentAmount: 1299 properties: eventId: description: The id of the event. format: uuid type: string eventDateTime: description: The date/time at which the event occurred. format: date-time type: string eventType: description: The type of the event. enum: - PAYOUT_SUBMITTED - PAYOUT_COMPLETED - PAYOUT_INSTRUCTED_V3 - BANK_PAYMENT_REQUESTED - SOURCE_AMOUNT_CONFIRMED - PAYMENT_SUBMITTED - PAYMENT_SUBMITTED_ACCEPTED - PAYMENT_SUBMITTED_REJECTED - PAYMENT_CONFIRMED - PAYMENT_AWAITING_FUNDS - PAYMENT_FUNDED - PAYMENT_UNFUNDED - PAYMENT_FAILED - ACH_SUBMITTED_TO_ODFI - PAYMENT_ACCEPTED_BY_RAILS - ACH_RETURN_RECEIVED - RETURN_PAYMENT_FUNDING_REQUESTED - PAYOUT_BATCH_EXECUTED - PAYOUT_BATCH_QUOTE_EXPIRED - PAYOUT_BATCH_FUNDED - PAYOUT_BATCH_FUNDS_RETURN_REQUEST - PAYOUT_BATCH_FUNDS_RETURNED - PAYOUT_FUNDS_REQUEST - PAYOUT_FUNDS_GRANTED - PAYOUT_FUNDS_DENIED - PAYOUT_BATCH_QUOTED - PAYOUT_QUOTED - ACH_PAYMENT_RETURN_CANCELLED - RETURN_PAYMENT_CANCELLATION_REQUESTED - PAYOUT_WITHDRAWN type: string sourceCurrency: $ref: '#/components/schemas/PaymentAuditCurrency_2' sourceAmount: description: The source amount exposed by the event. example: 1299 format: int32 type: integer paymentCurrency: $ref: '#/components/schemas/PaymentAuditCurrency_2' paymentAmount: description: The destination amount exposed by the event. example: 1299 format: int32 type: integer accountNumber: description: The account number attached to the event. type: string routingNumber: description: The routing number attached to the event. type: string iban: type: string accountName: type: string principal: type: string required: - eventDateTime - eventId - eventType type: object QuoteFxSummary: example: invertedRate: 1.12 creationTime: 2000-01-23T04:56:07.000+00:00 rate: 1.12 expiryTime: 2000-01-23T04:56:07.000+00:00 sourceCurrency: USD totalPaymentAmount: 1234 paymentCurrency: USD quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalSourceAmount: 1234 fundingStatus: FUNDED status: QUOTED properties: rate: example: 1.12 format: decimal type: number invertedRate: example: 1.12 format: decimal type: number creationTime: format: date-time type: string expiryTime: format: date-time type: string quoteId: format: uuid type: string totalSourceAmount: example: 1234 type: integer totalPaymentAmount: example: 1234 type: integer sourceCurrency: example: USD maxLength: 3 minLength: 3 type: string paymentCurrency: example: USD maxLength: 3 minLength: 3 type: string fundingStatus: example: FUNDED type: string status: example: QUOTED type: string required: - creationTime - paymentCurrency - quoteId - rate - sourceCurrency - totalPaymentAmount - totalSourceAmount type: object SourceAccount: example: sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 currency: USD totalPayoutCost: 1231200 sourceAccountName: AccountName properties: sourceAccountName: example: AccountName type: string sourceAccountId: format: uuid type: string currency: example: USD type: string totalPayoutCost: example: 1231200 type: integer required: - currency - sourceAccountId - sourceAccountName - totalPayoutCost type: object RejectedPayment: example: currencyType: USD reason: PAYEE_NOT_ONBOARDED amount: 1234 payorPaymentId: paymenIdVal123123 lineNumber: 10 message: Payment cannot be processed because of the Payee's OFAC or Compliance Status remoteId: remoteIdVal123 sourceAccountName: Chase properties: remoteId: example: remoteIdVal123 type: string currencyType: example: USD type: string amount: example: 1234 type: integer sourceAccountName: example: Chase type: string payorPaymentId: example: paymenIdVal123123 type: string reason: enum: - UNKNOWN_REMOTE_ID - UNKNOWN_SOURCE_ACCOUNT - UNSUPPORTED_CURRENCY - PAYMENT_VALUE_TOO_HIGH - UNSUPPORTED_COUNTRY - UNSUPPORTED_CURRENCY_FOR_COUNTRY - PAYEE_NOT_ONBOARDED - COMPLIANCE_ISSUE - DUPLICATE_PAYOR_PAYMENT_ID - CURRENCY_MISMATCH - DECLINED_INVITE - PENDING_INVITE - BADLY_FORMED_DATA_ROW - OTHER example: PAYEE_NOT_ONBOARDED type: string lineNumber: example: 10 type: integer message: example: Payment cannot be processed because of the Payee's OFAC or Compliance Status type: string required: - amount - currencyType - payorPaymentId - reason - remoteId - sourceAccountName type: object PaymentChannelCountry: example: isoCountryCode: isoCountryCode rules: - displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element - displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element properties: isoCountryCode: type: string rules: items: $ref: '#/components/schemas/PaymentChannelRule' type: array type: object SupportedCountry: example: isoCountryCode: US currencies: - USD properties: isoCountryCode: enum: - US - GB - FR - CA - JP example: US type: string currencies: example: - USD items: enum: - USD - GBP - EUR - CAD - JPY type: string type: array type: object SupportedCurrency: example: currency: currency maxPaymentAmount: 0 properties: currency: description: ISO Currency Code type: string maxPaymentAmount: type: integer type: object OnboardedStatus_2: enum: - CREATED - INVITED - REGISTERED - ONBOARDED type: string CreatePayeeAddress: example: country: US countyOrProvince: FL line4: line4 city: Key West line3: line3 line2: line2 line1: 500 Duval St zipOrPostcode: "33945" properties: line1: example: 500 Duval St maxLength: 100 minLength: 1 nullable: false type: string line2: maxLength: 100 minLength: 0 nullable: true type: string line3: maxLength: 100 minLength: 0 nullable: true type: string line4: maxLength: 100 minLength: 0 nullable: true type: string city: example: Key West maxLength: 50 minLength: 2 nullable: false type: string countyOrProvince: example: FL maxLength: 50 minLength: 2 nullable: true type: string zipOrPostcode: example: "33945" maxLength: 60 minLength: 2 nullable: true type: string country: example: US maxLength: 50 minLength: 2 nullable: false type: string required: - city - country - line1 type: object CreatePaymentChannel: example: paymentChannelName: paymentChannelName routingNumber: routingNumber accountName: accountName countryCode: AF iban: iban currency: USD accountNumber: accountNumber properties: paymentChannelName: type: string iban: description: Must match the regular expression ```^[A-Za-z0-9]+$```. Either routing number and account number or only iban must be set maxLength: 34 minLength: 15 pattern: ^[A-Za-z0-9]+$ type: string accountNumber: description: Either routing number and account number or only iban must be set maxLength: 17 minLength: 6 type: string routingNumber: description: Either routing number and account number or only iban must be set maxLength: 9 minLength: 9 type: string countryCode: description: Two character country code enum: - AF - AX - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - BN - BG - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CG - CD - CK - CR - CI - HR - CU - CW - CY - CZ - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MK - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - MP - NO - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - RE - RO - RU - RW - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - GS - SS - ES - LK - SD - SR - SJ - SZ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - US - UM - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - ZM - ZW maxLength: 2 minLength: 2 type: string currency: enum: - USD - GBP - EUR type: string accountName: type: string required: - accountName - countryCode - currency type: object CreateIndividual: example: name: firstName: firstName lastName: lastName otherNames: otherNames title: title nationalIdentification: nationalIdentification dateOfBirth: 2000-01-23 properties: name: $ref: '#/components/schemas/Individual_name' nationalIdentification: maxLength: 30 minLength: 6 type: string dateOfBirth: description: Must not be date in future. Example - 1970-05-20 format: date type: string required: - dateOfBirth - name type: object FundingEvent: properties: eventId: format: uuid type: string eventDateTime: format: date-time type: string fundingEventType: $ref: '#/components/schemas/FundingEventType' type: object PayoutStatus: enum: - ACCEPTED - REJECTED - SUBMITTED - QUOTED - INSTRUCTED - COMPLETED - INCOMPLETE - CONFIRMED - WITHDRAWN type: string SourceAccountSummary: example: sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 0.8008281904610115 properties: sourceAccountId: format: uuid type: string totalCost: format: int32 type: number currency: $ref: '#/components/schemas/PaymentAuditCurrency' required: - sourceAccountId - totalCost type: object FxSummary: example: invertedRate: 1.12 rate: 1.12 totalPaymentAmount: 1234 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 1234 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED properties: quoteId: format: uuid type: string creationDateTime: format: date-time type: string rate: example: 1.12 format: decimal type: number invertedRate: example: 1.12 format: decimal type: number totalCost: example: 1234 type: integer totalPaymentAmount: example: 1234 type: integer sourceCurrency: $ref: '#/components/schemas/PaymentAuditCurrency' paymentCurrency: $ref: '#/components/schemas/PaymentAuditCurrency' status: enum: - UNQUOTED - QUOTED - EXPIRED - EXECUTED type: string fundingStatus: enum: - FUNDED - INSTRUCTED - UNFUNDED type: string required: - creationDateTime - fundingStatus - invertedRate - quoteId - rate - status - totalCost - totalPaymentAmount type: object PayoutStatus_2: enum: - ACCEPTED - REJECTED - SUBMITTED - QUOTED - INSTRUCTED - COMPLETED - INCOMPLETE - CONFIRMED - WITHDRAWN type: string SourceAccountSummary_2: example: sourceAccountId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 5.962133916683182 properties: sourceAccountId: format: uuid type: string totalCost: format: int32 type: number currency: $ref: '#/components/schemas/PaymentAuditCurrency_2' required: - sourceAccountId - totalCost type: object FxSummary_2: example: invertedRate: 2.3021358869347655 rate: 5.637376656633329 totalPaymentAmount: 9 quoteId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 totalCost: 7 fundingStatus: FUNDED creationDateTime: 2000-01-23T04:56:07.000+00:00 status: UNQUOTED properties: quoteId: format: uuid type: string creationDateTime: format: date-time type: string rate: format: double type: number invertedRate: format: double type: number totalCost: type: integer totalPaymentAmount: type: integer sourceCurrency: $ref: '#/components/schemas/PaymentAuditCurrency_2' paymentCurrency: $ref: '#/components/schemas/PaymentAuditCurrency_2' status: enum: - UNQUOTED - QUOTED - EXPIRED - EXECUTED type: string fundingStatus: enum: - FUNDED - INSTRUCTED - UNFUNDED type: string required: - creationDateTime - fundingStatus - invertedRate - quoteId - rate - status - totalCost - totalPaymentAmount type: object PaymentChannelRule: example: displayName: displayName minLength: 0 displayOrder: 1 required: true maxLength: 6 validation: validation element: element properties: element: type: string required: type: boolean displayName: type: string minLength: type: integer maxLength: type: integer validation: type: string displayOrder: type: integer type: object FundingEventType: enum: - PAYOR_FUNDING_DETECTED - PAYOR_FUNDING_REQUESTED - PAYOR_FUNDING_RETURN_RECEIVED - FUNDING_RETURN_DETECTED - PAYOR_FUNDING_REQUEST_SUBMITTED - PAYOR_FUNDING_ENTRY_DETAIL_RECEIVED - FUNDING_DEALLOCATED type: string PayorLinksResponse_links: example: toPayorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 linkId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 fromPayorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 linkType: PARENT_OF properties: linkId: format: uuid type: string fromPayorId: format: uuid type: string linkType: enum: - PARENT_OF type: string toPayorId: format: uuid type: string required: - fromPayorId - linkId - linkType - toPayorId PayorLinksResponse_payors: example: payorId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 kycState: FAILED_KYC primaryContactEmail: primaryContactEmail payorName: payorName properties: payorId: format: uuid type: string payorName: type: string primaryContactEmail: type: string kycState: enum: - FAILED_KYC - PASSED_KYC - REQUIRES_KYC type: string required: - payorId - payorName PayeeResponse_summary: example: totalOnboardedCount: 5 totalRegisteredCount: 1 totalPayeesCount: 0 totalInvitedCount: 6 totalOfacFailedCount: 5 properties: totalPayeesCount: type: integer totalInvitedCount: type: integer totalRegisteredCount: type: integer totalOnboardedCount: type: integer totalOfacFailedCount: type: integer PayeeResponse_page: example: numberOfElements: 2 totalPages: 9 pageSize: 2 page: 3 totalElements: 7 properties: numberOfElements: type: integer totalElements: type: integer totalPages: type: integer page: type: integer pageSize: type: integer PayeeResponse_links: example: rel: rel href: href properties: rel: type: string href: type: string PayeeDeltaResponse_page: example: numberOfElements: 2 totalPages: 1 pageSize: 25 page: 1 totalElements: 2 properties: numberOfElements: example: 2 type: integer totalElements: example: 2 type: integer totalPages: example: 1 type: integer page: example: 1 type: integer pageSize: example: 25 type: integer PayeeDeltaResponse_links: example: rel: first href: http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000 properties: rel: example: first type: string href: example: http://api.sandbox.velopayments.com/v1/deltas/payees?payorId=0a818933-087d-47f2-ad83-2f986ed087eb&updatedSince=2019-01-20T09:00:00+00:00&page=1&pageSize=1000 type: string ListSourceAccountResponse_page: example: numberOfElements: 1 totalPages: 2 pageSize: 25 page: 1 totalElements: 1 properties: numberOfElements: example: 1 type: integer totalElements: example: 1 type: integer totalPages: example: 2 type: integer page: example: 1 type: integer pageSize: example: 25 type: integer ListSourceAccountResponse_links: example: rel: first href: https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc properties: rel: example: first type: string href: example: https://api.sandbox.velopayments.com/v1/sourceAccounts?payorId=a2967711-df07-41e5-b5ea-f563088911c6&page=1&pageSize=0&sort=fundingRef:asc type: string ListSourceAccountResponseV2_page: example: numberOfElements: 12 totalPages: 2 pageSize: 25 page: 1 totalElements: 33 properties: numberOfElements: example: 12 type: integer totalElements: example: 33 type: integer totalPages: example: 2 type: integer page: example: 1 type: integer pageSize: example: 25 type: integer GetPayoutsResponse_summary: example: totalOnboardedCount: 123 totalRegisteredCount: 123 totalPayeesCount: 12 totalInvitedCount: 100 totalOfacFailedCount: 23 properties: totalPayeesCount: example: 12 type: integer totalInvitedCount: example: 100 type: integer totalRegisteredCount: example: 123 type: integer totalOnboardedCount: example: 123 type: integer totalOfacFailedCount: example: 23 type: integer GetPayoutsResponse_page: example: numberOfElements: 12 totalPages: 123 pageSize: 25 page: 1 totalElements: 123 properties: numberOfElements: example: 12 type: integer totalElements: example: 123 type: integer totalPages: example: 123 type: integer page: example: 1 type: integer pageSize: example: 25 type: integer GetPayoutsResponse_links: example: rel: first href: https://example.com properties: rel: example: first type: string href: example: https://example.com type: string GetPaymentsForPayoutResponse_summary: example: incompletePayments: 123 confirmedPayments: 123 releasedPayments: 123 submittedDateTime: 2000-01-23T04:56:07.000+00:00 payoutStatus: ACCEPTED totalPayments: 123 instructedDateTime: 2000-01-23T04:56:07.000+00:00 payoutMemo: Payment Memo value failedPayments: 0 properties: payoutStatus: description: The current status of the payout. enum: - ACCEPTED - REJECTED - SUBMITTED - QUOTED - INSTRUCTED - COMPLETED - INCOMPLETE - CONFIRMED - WITHDRAWN type: string submittedDateTime: description: The date/time at which the payout was submitted. format: date-time type: string instructedDateTime: description: The date/time at which the payout was instructed. format: date-time type: string payoutMemo: description: The memo attached to the payout. example: Payment Memo value type: string totalPayments: description: The count of payments within the payout. example: 123 type: integer confirmedPayments: description: The count of payments within the payout which have been confirmed. example: 123 type: integer releasedPayments: description: The count of payments within the payout which have been released. example: 123 type: integer incompletePayments: description: The count of payments within the payout which are incomplete. example: 123 type: integer failedPayments: description: The count of payments within the payout which have failed or been returned. example: 0 type: integer GetPaymentsForPayoutResponse_page: example: numberOfElements: 12 totalPages: 10 pageSize: 25 page: 1 totalElements: 12 properties: numberOfElements: example: 12 type: integer totalElements: example: 12 type: integer totalPages: example: 10 type: integer page: example: 1 type: integer pageSize: example: 25 type: integer ListPaymentsResponse_summary: example: totalOnboardedCount: 123 totalRegisteredCount: 123 totalPayeesCount: 123 totalInvitedCount: 123 totalOfacFailedCount: 123 properties: totalPayeesCount: example: 123 type: integer totalInvitedCount: example: 123 type: integer totalRegisteredCount: example: 123 type: integer totalOnboardedCount: example: 123 type: integer totalOfacFailedCount: example: 123 type: integer ListPaymentsResponse_page: example: numberOfElements: 12 totalPages: 12 pageSize: 25 page: 1 totalElements: 12 properties: numberOfElements: example: 12 type: integer totalElements: example: 12 type: integer totalPages: example: 12 type: integer page: example: 1 type: integer pageSize: example: 25 type: integer GetPaymentsForPayoutResponse_2_summary: example: incompletePayments: 5 confirmedPayments: 6 releasedPayments: 1 submittedDateTime: 2000-01-23T04:56:07.000+00:00 payoutStatus: ACCEPTED totalPayments: 0 returnedPayments: 5 instructedDateTime: 2000-01-23T04:56:07.000+00:00 payoutMemo: payoutMemo properties: payoutStatus: description: The current status of the payout. enum: - ACCEPTED - REJECTED - SUBMITTED - QUOTED - INSTRUCTED - COMPLETED - INCOMPLETE - CONFIRMED - WITHDRAWN type: string submittedDateTime: description: The date/time at which the payout was submitted. format: date-time type: string instructedDateTime: description: The date/time at which the payout was instructed. format: date-time type: string payoutMemo: description: The memo attached to the payout. type: string totalPayments: description: The count of payments within the payout. type: integer confirmedPayments: description: The count of payments within the payout which have been confirmed. type: integer releasedPayments: description: The count of payments within the payout which have been released. type: integer incompletePayments: description: The count of payments within the payout which are incomplete. type: integer returnedPayments: description: The count of payments within the payout which have been returned. type: integer Individual_name: example: firstName: firstName lastName: lastName otherNames: otherNames title: title properties: title: maxLength: 10 minLength: 1 type: string firstName: maxLength: 40 minLength: 1 type: string otherNames: maxLength: 40 minLength: 1 type: string lastName: maxLength: 40 minLength: 1 type: string required: - firstName - lastName PagedResponse_page: properties: numberOfElements: format: int32 type: integer totalElements: format: int32 type: integer totalPages: format: int32 type: integer page: format: int32 type: integer pageSize: format: int32 type: integer securitySchemes: OAuth2: description: This API uses OAuth 2 with the Client Credentials grant flow. [More info](https://www.oauth.com/oauth2-servers/access-tokens/client-credentials) flows: clientCredentials: scopes: ' ': Scopes not required tokenUrl: https://api.sandbox.velopayments.com/v1/login type: oauth2 x-tagGroups: - name: Payor Operations tags: - Payors - Payor Branding - Payor Applications - Payor Information - Funding Manager - name: Payee Operations tags: - Payees - Payee Service - Payee Batch Creation - Payee Invitation - name: Payouts tags: - Submit Payout - Get Payout - Quote Payout - Instruct Payout - Withdraw Payout - Payout History - name: Reporting tags: - Payments - Payment Audit Service - name: API Utilities tags: - Currencies - Countries - name: Legal tags: - Legal