Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: gateway Direct Credits API
version: '1.0'
servers:
- url: https://gateway.pmnts-sandbox.io/v1.0
security:
- sec0: []
tags:
- name: Direct Credits
paths:
/direct_credits:
post:
summary: Create a direct credit
description: ''
operationId: create-a-direct-credit
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: Recommended to 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 destination account''s BSB number. Format: `###-###`'
account_name:
type: string
description: The destination account name. Max 32 characters.
account_number:
type: string
description: The destination account number. Max 9 digits.
date:
type: string
description: Date of the direct credit. 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 for the direct credit
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-DC-IQ2X25I5\",\n \"amount\": 42.0,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-IQ2X25I5\",\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-DC-IQ2X25I5
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-DC-IQ2X25I5
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 \"id\": null,\n \"amount\": 42,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-FYC4V7W4\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n },\n \"errors\": [\n \"Reference has already been taken\"\n ],\n \"test\": true\n}"
schema:
type: object
properties:
successful:
type: boolean
example: false
default: true
response:
type: object
properties:
id: {}
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-DC-FYC4V7W4
date:
type: string
example: '2018-09-14'
process_date: {}
status:
type: string
example: New
result: {}
metadata: {}
errors:
type: array
items:
type: string
example: Reference has already been taken
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_credits -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::DirectCredit.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 Credits
get:
summary: List direct credits
description: ''
operationId: list-direct-credits
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 date at which the direct credit was created
schema:
type: string
format: date
- name: to
in: query
description: Upper bound for the date at which the direct credit 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-DC-RT8G3YV\",\n \"amount\": 42,\n \"bsb\": \"123-123\",\n \"account_number\": \"000000000\",\n \"account_name\": \"Test 2\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-RT8G3YV\",\n \"date\": \"2018-09-14\",\n \"process_date\": null,\n \"status\": \"New\",\n \"result\": null,\n \"metadata\": null\n },\n {\n \"id\": \"071-DC-7ASQS6M4\",\n \"amount\": 10.06,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-7ASQS6M4\",\n \"date\": \"2018-09-13\",\n \"process_date\": \"2018-09-13\",\n \"status\": \"Pending\",\n \"result\": \"Submitted to institution\",\n \"metadata\": {\n \"batch_id\": \"ced360\"\n }\n }\n ],\n \"errors\": [],\n \"records\": 2,\n \"total_records\": 685,\n \"page\": 1,\n \"total_pages\": 343,\n \"test\": true,\n}"
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl 'https://gateway.pmnts-sandbox.io/v1.0/direct_credits?limit=2&offset=1' -u TEST:TEST
- language: ruby
code: FatZebra::DirectCredit.search
samples-languages:
- curl
- ruby
tags:
- Direct Credits
/direct_credits/{id}:
put:
summary: Update a direct credit
description: A direct credit can be updated if it has a status of `New`. Once direct credits have been submitted to the financial institution, they are locked and can only be updated by the Fat Zebra system.
operationId: update-a-direct-credit
parameters:
- name: id
in: path
description: ID of the direct credit
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 destination account''s BSB number. Format: `###-###`'
account_name:
type: string
description: The destination account name. Max 32 characters.
account_number:
type: string
description: The destination account number. Max 9 digits.
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"successful\": true,\n \"response\": {\n \"id\": \"071-DC-IQ2X25I5\",\n \"amount\": 42.0,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test 2\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-IQ2X25I5\",\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-DC-IQ2X25I5
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-DC-IQ2X25I5
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_credits/071-DC-IQ2X25I5 -X PUT -u TEST:TEST -d'\n {\n \"account_name\": \"Test 2\"\n }'"
- language: ruby
code: "FatZebra::DirectCredit.update(\n \"071-DC-FYC4V7W4\",\n account_name: 'Test 2'\n)"
samples-languages:
- curl
- ruby
tags:
- Direct Credits
delete:
summary: Delete a direct credit
description: A direct credit can be deleted if it has a status of `New`. Deleting a direct credit will update its status to `Deleted`, however the data will not be removed from Fat Zebra's systems.
operationId: delete-a-direct-credit
parameters:
- name: id
in: path
description: ID of the direct credit
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-DC-RT8G3YV\",\n \"amount\": 42,\n \"bsb\": \"123-123\",\n \"account_number\": \"000000000\",\n \"account_name\": \"Test 2\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-RT8G3YV\",\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-DC-RT8G3YV
amount:
type: integer
example: 42
default: 0
bsb:
type: string
example: 123-123
account_number:
type: string
example: '000000000'
account_name:
type: string
example: Test 2
description:
type: string
example: Confirmation
reference:
type: string
example: 071-DC-RT8G3YV
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 Credit 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 Credit 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_credits/071-DC-RT8G3YV -X DELETE -u TEST:TEST
- language: ruby
code: FatZebra::DirectCredit.delete('071-DC-5DYN6M21')
samples-languages:
- curl
- ruby
tags:
- Direct Credits
/direct_credits/{id_or_reference}:
get:
summary: Fetch a direct credit
description: ''
operationId: fetch-a-direct-credit
parameters:
- name: id_or_reference
in: path
description: ID or reference of the direct credit
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-DC-5DYN6M21\",\n \"amount\": 42,\n \"bsb\": \"123-123\",\n \"account_number\": \"012345678\",\n \"account_name\": \"Test\",\n \"description\": \"Confirmation\",\n \"reference\": \"071-DC-5DYN6M21\",\n \"date\": \"2017-06-27\",\n \"process_date\": \"2017-06-27\",\n \"status\": \"Completed\",\n \"result\": \"Submitted to institution\",\n \"metadata\": {}\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-DC-5DYN6M21
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-DC-5DYN6M21
date:
type: string
example: '2017-06-27'
process_date:
type: string
example: '2017-06-27'
status:
type: string
example: Completed
result:
type: string
example: Submitted to institution
metadata:
type: object
properties: {}
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_credits/071-DC-5DYN6M21 -u TEST:TEST
- language: ruby
code: FatZebra::DirectCredit.find('071-DC-5DYN6M21')
samples-languages:
- curl
- ruby
tags:
- Direct Credits
components:
securitySchemes:
sec0:
type: http
scheme: basic
x-readme:
headers: []
explorer-enabled: true
proxy-enabled: true
x-readme-fauxas: true