openapi: 3.2.0 info: title: gateway Direct Debits API version: '1.0' servers: - url: https://gateway.pmnts-sandbox.io/v1.0 security: - sec0: [] tags: - name: Direct Debits paths: /direct_debits: post: summary: Create a direct debit description: '' operationId: create-a-direct-debit parameters: - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: object required: - description - amount - bsb - account_name - account_number properties: description: type: string description: Must be unique. Max 18 characters, allowed chars are A-Z, 0-9, period, hyphen, ampersand, and underscore. It is recommended you make this descriptive for your customer - e.g. Invoice ABCD123. amount: type: number description: Amount. Minimum 0.01, positive only. format: float bsb: type: string description: 'The source account''s BSB number. Format: `###-###`' account_name: type: string description: The source account name. Max 32 characters. account_number: type: string description: The source account number. Max 9 digits. date: type: string description: Date of the direct debit. Optional but recommended. Defaults to the next processing period (current day if before 17:00, next day if after). Must be in the future. format: date reference: type: string description: Unique reference metadata: type: object description: Metadata of the direct debit properties: {} bank_account: type: string description: The Fat Zebra bank account ID to be used in place of `account_name`, `account_number`, and `bsb`. If `bank_account` is supplied, the other attributes should be omitted. responses: '201': description: '201' content: application/json: examples: Result: value: "{\n \"successful\": true,\n \"response\": {\n \"id\": \"071-DD-L4M3SN0E\",\n \"amount\": 42.0,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DD-L4M3SN0E\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n },\n \"errors\": [],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: true default: true response: type: object properties: id: type: string example: 071-DD-L4M3SN0E amount: type: integer example: 42 default: 0 bsb: type: string example: 123-123 account_number: type: string example: 012345678 account_name: type: string example: Test description: type: string example: Confirmation reference: type: string example: 071-DD-L4M3SN0E date: type: string example: '2018-09-14' process_date: {} status: type: string example: New result: {} metadata: {} errors: type: array test: type: boolean example: true default: true '422': description: '422' content: application/json: examples: Result: value: "{\n \"successful\": false,\n \"response\": {},\n \"errors\": [\n \"Could not find bank account 071-B-ABC123\"\n ],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: false default: true response: type: object properties: {} errors: type: array items: type: string example: Could not find bank account 071-B-ABC123 test: type: boolean example: true default: true deprecated: false x-readme: code-samples: - language: curl code: "curl https://gateway.pmnts-sandbox.io/v1.0/direct_debits -u TEST:TEST -d'\n { \n \"description\":\"Confirmation\", \n \"amount\":42, \n \"bsb\":\"123-123\", \n \"account_name\":\"Test\", \n \"account_number\":\"012345678\"\n }'" - language: ruby code: "FatZebra::DirectDebit.create(\n description: 'Confirmation',\n amount: 42,\n bsb: '123-123',\n account_name: 'Test',\n account_number: '012345678'\n)" samples-languages: - curl - ruby tags: - Direct Debits get: summary: List direct debits description: '' operationId: list-direct-debits parameters: - name: Content-Type in: header schema: type: string default: application/json - name: offset in: query description: Page number to return schema: type: integer format: int32 default: 1 - name: limit in: query description: Max number of results to return schema: type: integer format: int32 default: 10 - name: from in: query description: Lower bound for the time at which the direct debit was created schema: type: string format: date - name: to in: query description: Upper bound for the time at which the direct debit was created schema: type: string format: date responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"successful\": true,\n \"response\": [\n {\n \"id\": \"071-DD-RDOR6I3K\",\n \"amount\": 10,\n \"bsb\": \"083-832\",\n \"account_number\": \"181843123\",\n \"account_name\": \"James Smith\",\n \"description\": \"test\",\n \"reference\": \"RMT1636366033\",\n \"date\": \"2018-09-21\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n },\n {\n \"id\": \"071-DD-ULX5DGSW\",\n \"amount\": 10,\n \"bsb\": \"083-832\",\n \"account_number\": \"181843123\",\n \"account_name\": \"James Smith\",\n \"description\": \"test\",\n \"reference\": \"RMT1636366032\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n }\n ],\n \"errors\": [],\n \"test\": true,\n \"records\": 2,\n \"total_records\": 16582,\n \"page\": 1,\n \"total_pages\": 8291\n}" schema: type: object properties: successful: type: boolean example: true default: true response: type: array items: type: object properties: id: type: string example: 071-DD-RDOR6I3K amount: type: integer example: 10 default: 0 bsb: type: string example: 083-832 account_number: type: string example: '181843123' account_name: type: string example: James Smith description: type: string example: test reference: type: string example: RMT1636366033 date: type: string example: '2018-09-21' process_date: {} status: type: string example: New result: {} metadata: {} errors: type: array test: type: boolean example: true default: true records: type: integer example: 2 default: 0 total_records: type: integer example: 16582 default: 0 page: type: integer example: 1 default: 0 total_pages: type: integer example: 8291 default: 0 deprecated: false x-readme: code-samples: - language: curl code: curl 'https://gateway.pmnts-sandbox.io/v1.0/direct_debits?limit=2&offset=1' -u TEST:TEST - language: ruby code: FatZebra::DirectDebit.search samples-languages: - curl - ruby tags: - Direct Debits /direct_debits/{id}: put: summary: Update a direct debit description: A direct debit can be updated if it has a status of `New`. Once direct debits have been submitted to the financial institution, they are locked and can only be updated by the Fat Zebra system. operationId: update-a-direct-debit parameters: - name: id in: path description: ID of the direct debit schema: type: string required: true - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: object properties: description: type: string description: Max 18 characters, allowed chars are A-Z, 0-9, period, hyphen, ampersand, and underscore. amount: type: number description: Amount. Minimum 0.01, positive only. format: float bsb: type: string description: 'The source account''s BSB number. Format: `###-###`' account_name: type: string description: The source account name. Max 32 characters. account_number: type: string description: The source account number. Max 9 digits. responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"successful\": true,\n \"response\": {\n \"id\": \"071-DD-L4M3SN0E\",\n \"amount\": 42.0,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test 2\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DD-L4M3SN0E\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n },\n \"errors\": [],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: true default: true response: type: object properties: id: type: string example: 071-DD-L4M3SN0E amount: type: integer example: 42 default: 0 bsb: type: string example: 123-123 account_number: type: string example: 012345678 account_name: type: string example: Test 2 description: type: string example: Confirmation reference: type: string example: 071-DD-L4M3SN0E date: type: string example: '2018-09-14' process_date: {} status: type: string example: New result: {} metadata: {} errors: type: array test: type: boolean example: true default: true '422': description: '422' content: application/json: examples: Result: value: "{\n \"successful\": false,\n \"response\": {},\n \"errors\": [\n \"Could not find bank account unknown\"\n ]\n}" schema: type: object properties: successful: type: boolean example: false default: true response: type: object properties: {} errors: type: array items: type: string example: Could not find bank account unknown deprecated: false x-readme: code-samples: - language: curl code: "curl https://gateway.pmnts-sandbox.io/v1.0/direct_debits/071-DD-L4M3SN0E -X PUT -u TEST:TEST -d'\n {\n \"account_name\":\"Test\"\n }'" - language: ruby code: "FatZebra::DirectDebit.update(\n \"071-DD-FYC4V7W4\",\n account_name: 'Test 2'\n)" samples-languages: - curl - ruby tags: - Direct Debits delete: summary: Delete a direct debit description: A direct debit can be deleted if it has a status of `New`. Deleting a direct debit will update its status to `Deleted`, however the data will not be removed from Fat Zebra's systems. operationId: delete-a-direct-debit parameters: - name: id in: path description: ID of the direct debit schema: type: string required: true - name: Content-Type in: header schema: type: string default: application/json responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"successful\": true,\n \"response\": {\n \"id\": \"071-DD-OPKL11XK\",\n \"amount\": 42,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DD-OPKL11XK\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"Deleted\",\n \"result\": null,\n \"metadata\": null\n },\n \"errors\": [],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: true default: true response: type: object properties: id: type: string example: 071-DD-OPKL11XK amount: type: integer example: 42 default: 0 bsb: type: string example: 123-123 account_number: type: string example: 012345678 account_name: type: string example: Test description: type: string example: Confirmation reference: type: string example: 071-DD-OPKL11XK date: type: string example: '2018-09-14' process_date: {} status: type: string example: Deleted result: {} metadata: {} errors: type: array test: type: boolean example: true default: true '404': description: '404' content: application/json: examples: Result: value: "{\n \"successful\": false,\n \"response\": null,\n \"errors\": [\n \"Direct Debit 071-DC-ABC123 could not be found.\"\n ],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: false default: true response: {} errors: type: array items: type: string example: Direct Debit 071-DC-ABC123 could not be found. test: type: boolean example: true default: true deprecated: false x-readme: code-samples: - language: curl code: curl https://gateway.pmnts-sandbox.io/v1.0/direct_debits/071-DD-5DYN6M21 -X DELETE -u TEST:TEST - language: ruby code: FatZebra::DirectDebit.delete('071-DD-5DYN6M21') samples-languages: - curl - ruby tags: - Direct Debits /direct_debits/{id_or_reference}: get: summary: Fetch a direct debit description: '' operationId: fetch-a-direct-debit parameters: - name: id_or_reference in: path description: ID or reference of the direct debit schema: type: string required: true - name: Content-Type in: header schema: type: string default: application/json responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"successful\": true,\n \"response\": {\n \"id\": \"071-DD-ULX5DGSW\",\n \"amount\": 10,\n \"bsb\": \"083-832\",\n \"account_number\": \"181843123\",\n \"account_name\": \"James Smith\",\n \"description\": \"test\",\n \"reference\": \"RMT1636366032\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n },\n \"errors\": [],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: true default: true response: type: object properties: id: type: string example: 071-DD-ULX5DGSW amount: type: integer example: 10 default: 0 bsb: type: string example: 083-832 account_number: type: string example: '181843123' account_name: type: string example: James Smith description: type: string example: test reference: type: string example: RMT1636366032 date: type: string example: '2018-09-14' process_date: {} status: type: string example: New result: {} metadata: {} errors: type: array test: type: boolean example: true default: true '404': description: '404' content: application/json: examples: Result: value: "{\n \"successful\": false,\n \"response\": {},\n \"errors\": [\n \"Could not find Direct Entry\"\n ],\n \"test\": true\n}" schema: type: object properties: successful: type: boolean example: false default: true response: type: object properties: {} errors: type: array items: type: string example: Could not find Direct Entry test: type: boolean example: true default: true deprecated: false x-readme: code-samples: - language: curl code: curl https://gateway.pmnts-sandbox.io/v1.0/direct_debits/071-DD-ULX5DGSW -u TEST:TEST - language: ruby code: FatZebra::DirectDebit.find('071-DD-5DYN6M21') samples-languages: - curl - ruby tags: - Direct Debits components: securitySchemes: sec0: type: http scheme: basic x-readme: headers: [] explorer-enabled: true proxy-enabled: true x-readme-fauxas: true