Fat Zebra Direct Debits API

The Direct Debits API from Fat Zebra — 3 operation(s) for direct debits.

Operations 5

POST /direct_debits Create a direct debit #
GET /direct_debits List direct debits #
PUT /direct_debits/{id} Update a direct debit #
DELETE /direct_debits/{id} Delete a direct debit #
GET /direct_debits/{id_or_reference} Fetch a direct debit #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fat-zebra-direct-debits-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fat-zebra-direct-debits-api-openapi.yml Raw ↑
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