Fat Zebra Customers API

The Customers API from Fat Zebra — 3 operation(s) for customers.

Operations 6

POST /customers/{customer_id}/usage_records/batch Push usage #
POST /customers Create a customer #
GET /customers List customers #
PUT /customers/{id} Update a customer #
DELETE /customers/{id} Delete a customer #
GET /customers/{id} Fetch a customer #

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-customers-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-customers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fat Zebra Customers API
  version: '1.0'
  description: 'Operations tagged Customers across 2 of this provider''s published API definitions: fat-zebra-billing.json, fat-zebra-gateway.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://billing.pmnts-sandbox.io/api/v1/
- url: https://gateway.pmnts-sandbox.io/v1.0
security:
- sec0: []
tags:
- name: Customers
paths:
  /customers/{customer_id}/usage_records/batch:
    post:
      summary: Push usage
      description: ''
      operationId: push-usage
      parameters:
      - name: customer_id
        in: path
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                usage_records:
                  type: array
                  items:
                    properties:
                      unit:
                        type: string
                      volume:
                        type: integer
                      tags:
                        type: array
                        default: []
                        items:
                          type: string
                      period_from:
                        type: string
                      period_to:
                        type: string
                    type: object
            examples:
              Request Example:
                value:
                  usage_records:
                  - unit: transaction
                    volume: 2935
                    tags:
                    - purchase
                    - visa
                    period_from: '2017-08-31T00:00:00.000000+00:00'
                    period_to: '2017-08-31T23:59:59.000000+00:00'
                  - unit: transaction
                    volume: 136
                    tags:
                    - purchase
                    - amex
                    period_from: '2017-08-31T00:00:00.000000+00:00'
                    period_to: '2017-08-31T23:59:59.000000+00:00'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Customers
    servers:
    - url: https://billing.pmnts-sandbox.io/api/v1/
  /customers:
    post:
      summary: Create a customer
      description: Please note, one payment method field is required, either card, card_token or bank_account.
      operationId: create-a-customer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - first_name
              - last_name
              - reference
              properties:
                first_name:
                  type: string
                last_name:
                  type: string
                reference:
                  type: string
                email_address:
                  type: string
                ip_address:
                  type: string
                address:
                  type: object
                  required:
                  - address
                  - city
                  - state
                  - postcode
                  - country
                  properties:
                    address:
                      type: string
                      description: Street number and name
                    city:
                      type: string
                    state:
                      type: string
                    postcode:
                      type: string
                    country:
                      type: string
                card:
                  type: object
                  required:
                  - card_holder
                  properties:
                    card_holder:
                      type: string
                    card_number:
                      type: string
                    expiry_date:
                      type: string
                    cvv:
                      type: string
                card_token:
                  type: string
                  description: A card token can be sent through in lieu of the card data in the card array
                bank_account:
                  type: object
                  description: The customer's bank account.
                  properties:
                    account_name:
                      type: string
                      description: Account name to be used for direct entry.
                    account_number:
                      type: string
                      description: Bank account number. 6-9 digits for an Australian bank account, or 8-10 digits for a New Zealand bank account
                    bsb:
                      type: string
                      description: 'BSB number - this will be in the format of ###-### for an Australian bank account, or ###### for a New Zealand bank account'
                    account_type:
                      type: string
                      description: '"AU" or "NZ" for Australian or New Zealand bank account. Defaults to "AU" if not provided.'
      responses:
        '201':
          description: '201'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"successful\":true,\n  \"response\":{\n    \"id\":\"071-C-D1LXAHM7\",\n    \"email\":\"hhump@gmail.com\",\n    \"reference\":\"jsoie33789\",\n    \"first_name\":\"Harrold\",\n    \"last_name\":\"Humphries\",\n    \"created_at\":\"2018-06-07T15:07:52+10:00\",\n    \"address\":{\n      \"address\":\"1 Harriet Road\",\n      \"city\":\"Kooliablin\",\n      \"state\":\"NSW\",\n      \"postcode\":\"2222\",\n      \"country\":\"Australia\"\n    },\n    \"card_token\":\"fke87c9q\",\n    \"card_number\":\"512345XXXXXX2346\",\n    \"bank_account\":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-C-D1LXAHM7
                      email:
                        type: string
                        example: hhump@gmail.com
                      reference:
                        type: string
                        example: jsoie33789
                      first_name:
                        type: string
                        example: Harrold
                      last_name:
                        type: string
                        example: Humphries
                      created_at:
                        type: string
                        example: '2018-06-07T15:07:52+10:00'
                      address:
                        type: object
                        properties:
                          address:
                            type: string
                            example: 1 Harriet Road
                          city:
                            type: string
                            example: Kooliablin
                          state:
                            type: string
                            example: NSW
                          postcode:
                            type: string
                            example: '2222'
                          country:
                            type: string
                            example: Australia
                      card_token:
                        type: string
                        example: fke87c9q
                      card_number:
                        type: string
                        example: 512345XXXXXX2346
                      bank_account: {}
                      metadata: {}
                  errors:
                    type: array
                  test:
                    type: boolean
                    example: true
                    default: true
            text/plain:
              examples:
                Ruby:
                  value: "=> #<FatZebra::Customer:0x3fdcec8c6244 id=071-C-C77AZZ7C> JSON: {\n  \"id\": \"071-C-C77AZZ7C\",\n  \"email\": null,\n  \"reference\": \"abcde123\",\n  \"first_name\": \"Harrold\",\n  \"last_name\": \"Humphries\",\n  \"created_at\": \"2017-12-08T17:07:43+11:00\",\n  \"address\": {\n    \"address\": \"1 Harriet Road\",\n    \"city\": \"Kooliablin\",\n    \"state\": \"NSW\",\n    \"postcode\": \"2222\",\n    \"country\": \"Australia\"\n  },\n  \"card_token\": \"fke8n73t\",\n  \"card_number\": \"512345XXXXXX2346\",\n  \"bank_account\": null,\n  \"metadata\": {\n  }\n}"
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -u TEST:TEST https://gateway.pmnts-sandbox.io/v1.0/customers -d'  \n{  \n  \"first_name\": \"Harrold\",  \n  \"last_name\": \"Humphries\",  \n  \"reference\": \"jsoie33789\",  \n  \"email_address\": \"hhump@gmail.com\",  \n  \"ip_address\": \"180.200.33.181\",  \n  \"card\": {  \n    \"card_holder\": \"Harrold Humphries Senior\",  \n    \"card_number\": \"5123456789012346\",  \n    \"expiry_date\": \"05/2023\",  \n    \"cvv\": \"123\"  \n  },  \n  \"address\": {  \n    \"address\": \"1 Harriet Road\",  \n    \"city\": \"Kooliablin\",  \n    \"state\": \"NSW\",  \n    \"postcode\": \"2222\",  \n    \"country\": \"Australia\"  \n  }  \n}'"
        - language: ruby
          code: "require 'fat_zebra'\n\nFatZebra.configure do |config|\n  config.username = 'TEST'\n  config.token = 'TEST'\n  config.gateway = :sandbox\nend\n\nFatZebra::Customer.create(\n  first_name: \"Harrold\",\n  last_name: \"Humphries\",\n  reference: \"abc123\",\n  email: \"hhump@gmail.com\",\n  ip_address: \"180.200.33.181\",\n  card: {\n    card_holder: \"Harrold Humphries Senior\",\n    card_number: \"5123456789012346\",\n    expiry_date: \"05/2023\",\n    cvv: \"123\"\n  },\n  address: {\n    address: \"1 Harriet Road\",\n    city: \"Kooliablin\",\n    state: \"NSW\",\n    postcode: \"2222\",\n    country: \"Australia\"\n  }\n)\n"
        samples-languages:
        - curl
        - ruby
      tags:
      - Customers
    get:
      summary: List customers
      description: ''
      operationId: list-customers
      parameters:
      - name: offset
        in: query
        description: The page number of customers to be returned.
        schema:
          type: string
      - name: limit
        in: query
        description: The number of customers per page to be returned.
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                cURL:
                  value: "{\n  \"successful\": true,\n  \"response\": [\n    {\n      \"id\": \"071-C-JE34F66V\",\n      \"email\": \"jim@citizen.com\",\n      \"reference\": \"CUST-98198\",\n      \"first_name\": \"Jim\",\n      \"last_name\": \"Smith\",\n      \"created_at\": \"2017-12-04T21:51:11+11:00\",\n      \"address\": {\n        \"address\": \"\",\n        \"city\": \"\",\n        \"state\": \"\",\n        \"postcode\": \"\",\n        \"country\": \"\"\n      },\n      \"card_token\": \"fke89s3v\",\n      \"card_number\": \"400555XXXXXX0001\",\n      \"bank_account\": null,\n      \"metadata\": {}\n    },\n    # ...\n  ],\n  \"errors\": [],\n  \"test\": true,\n  \"records\": 10,\n  \"total_records\": 945,\n  \"page\": 1,\n  \"total_pages\": 95\n}"
            text/plain:
              examples:
                Ruby:
                  value: "[\n  #<FatZebra::Customer:0x3fd9087c911c id=071-C-JE34F66V> JSON: {\n    \"id\": \"071-C-JE34F66V\",\n    \"email\": \"jim@citizen.com\",\n    \"reference\": \"CUST-98198\",\n    \"first_name\": \"Jim\",\n    \"last_name\": \"Smith\",\n    \"created_at\": \"2017-12-04T21:51:11+11:00\",\n    \"address\": {\n      \"address\": \"\",\n      \"city\": \"\",\n      \"state\": \"\",\n      \"postcode\": \"\",\n      \"country\": \"\"\n    },\n    \"card_token\": \"fke89s3v\",\n    \"card_number\": \"400555XXXXXX0001\",\n    \"bank_account\": null,\n    \"metadata\": {\n    }\n  },\n  # ...\n]"
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: curl -u <<user>>:<<pass>> https://gateway.pmnts-sandbox.io/v1.0/customers
        - language: ruby
          code: "require 'fat_zebra'\n\nFatZebra.configure do |config|\n  config.username = 'TEST'\n  config.token = 'TEST'\n  config.gateway = :sandbox\nend\n\nFatZebra::Customer.search.data"
        samples-languages:
        - curl
        - ruby
      tags:
      - Customers
    servers:
    - url: https://gateway.pmnts-sandbox.io/v1.0
  /customers/{id}:
    put:
      summary: Update a customer
      description: ''
      operationId: update-a-customer
      parameters:
      - name: id
        in: path
        description: ID or Reference
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                cURL:
                  value: "{\n  \"successful\": true,\n  \"response\": {\n    \"id\": \"071-C-K7IY0XBJ\",\n    \"email\": null,\n    \"reference\": \"abcd123456\",\n    \"first_name\": \"Harrold\",\n    \"last_name\": \"Holt\",\n    \"created_at\": \"2018-01-18T17:04:23+11:00\",\n    \"address\": {\n      \"address\": \"1 Harriet Road\",\n      \"city\": \"Kooliablin\",\n      \"state\": \"NSW\",\n      \"postcode\": \"2222\",\n      \"country\": \"Australia\"\n    },\n    \"card_token\": \"fke8kly5\",\n    \"card_number\": \"512345XXXXXX2346\",\n    \"bank_account\": null,\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-C-K7IY0XBJ
                      email: {}
                      reference:
                        type: string
                        example: abcd123456
                      first_name:
                        type: string
                        example: Harrold
                      last_name:
                        type: string
                        example: Holt
                      created_at:
                        type: string
                        example: '2018-01-18T17:04:23+11:00'
                      address:
                        type: object
                        properties:
                          address:
                            type: string
                            example: 1 Harriet Road
                          city:
                            type: string
                            example: Kooliablin
                          state:
                            type: string
                            example: NSW
                          postcode:
                            type: string
                            example: '2222'
                          country:
                            type: string
                            example: Australia
                      card_token:
                        type: string
                        example: fke8kly5
                      card_number:
                        type: string
                        example: 512345XXXXXX2346
                      bank_account: {}
                      metadata:
                        type: object
                        properties: {}
                  errors:
                    type: array
                  test:
                    type: boolean
                    example: true
                    default: true
            text/plain:
              examples:
                Ruby:
                  value: "=> #<FatZebra::Customer:0x3fe0746d7740 id=071-C-K7IY0XBJ> JSON: {\n  \"id\": \"071-C-K7IY0XBJ\",\n  \"email\": null,\n  \"reference\": \"abcd123456\",\n  \"first_name\": \"Harrold\",\n  \"last_name\": \"Holt\",\n  \"created_at\": \"2018-01-18T17:04:23+11:00\",\n  \"address\": {\n    \"address\": \"1 Harriet Road\",\n    \"city\": \"Kooliablin\",\n    \"state\": \"NSW\",\n    \"postcode\": \"2222\",\n    \"country\": \"Australia\"\n  },\n  \"card_token\": \"fke8kly5\",\n  \"card_number\": \"512345XXXXXX2346\",\n  \"bank_account\": null,\n  \"metadata\": {\n  }\n}"
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -u TEST:TEST -X PUT https://gateway.pmnts-sandbox.io/v1.0/customers/071-C-K7IY0XBJ -d'\n{  \n   \"last_name\":  \"Holt\"  \n}'"
        - language: ruby
          code: "require 'fat_zebra'\n\nFatZebra.configure do |config|\n  config.username = 'TEST'\n  config.token = 'TEST'\n  config.gateway = :sandbox\nend\n\nFatZebra::Customer.update('071-C-K7IY0XBJ', last_name: 'Holt')"
        samples-languages:
        - curl
        - ruby
      tags:
      - Customers
    delete:
      summary: Delete a customer
      description: ''
      operationId: delete-a-customer
      parameters:
      - name: id
        in: path
        description: ID or Reference
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                cURL:
                  value: "{\n  \"successful\": true,\n  \"response\": {\n    \"id\": \"071-C-CMXJWC7L\",\n    \"email\": null,\n    \"reference\": \"abcd12345\",\n    \"first_name\": \"Harrold\",\n    \"last_name\": \"Humphries\",\n    \"created_at\": \"2018-01-18T16:47:53+11:00\",\n    \"address\": {\n      \"address\": \"1 Harriet Road\",\n      \"city\": \"Kooliablin\",\n      \"state\": \"NSW\",\n      \"postcode\": \"2222\",\n      \"country\": \"Australia\"\n    },\n    \"card_token\": \"fke8b0fc\",\n    \"card_number\": \"512345XXXXXX2346\",\n    \"bank_account\": null,\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-C-CMXJWC7L
                      email: {}
                      reference:
                        type: string
                        example: abcd12345
                      first_name:
                        type: string
                        example: Harrold
                      last_name:
                        type: string
                        example: Humphries
                      created_at:
                        type: string
                        example: '2018-01-18T16:47:53+11:00'
                      address:
                        type: object
                        properties:
                          address:
                            type: string
                            example: 1 Harriet Road
                          city:
                            type: string
                            example: Kooliablin
                          state:
                            type: string
                            example: NSW
                          postcode:
                            type: string
                            example: '2222'
                          country:
                            type: string
                            example: Australia
                      card_token:
                        type: string
                        example: fke8b0fc
                      card_number:
                        type: string
                        example: 512345XXXXXX2346
                      bank_account: {}
                      metadata:
                        type: object
                        properties: {}
                  errors:
                    type: array
                  test:
                    type: boolean
                    example: true
                    default: true
            text/plain:
              examples:
                Ruby:
                  value: "=> #<FatZebra::Customer:0x3fe07498490c id=071-C-WO5D3VT9> JSON: {\n  \"id\": \"071-C-WO5D3VT9\",\n  \"email\": null,\n  \"reference\": \"abcd123\",\n  \"first_name\": \"Harrold\",\n  \"last_name\": \"Humphries\",\n  \"created_at\": \"2017-12-08T16:45:27+11:00\",\n  \"address\": {\n    \"address\": \"1 Harriet Road\",\n    \"city\": \"Kooliablin\",\n    \"state\": \"NSW\",\n    \"postcode\": \"2222\",\n    \"country\": \"Australia\"\n  },\n  \"card_token\": null,\n  \"card_number\": null,\n  \"bank_account\": null,\n  \"metadata\": {\n  }\n}"
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: curl -u TEST:TEST -X DELETE https://gateway.pmnts-sandbox.io/v1.0/customers/071-C-CMXJWC7L
        - language: ruby
          code: "require 'fat_zebra'\n\nFatZebra.configure do |config|\n  config.username = 'TEST'\n  config.token = 'TEST'\n  config.gateway = :sandbox\nend\n\nFatZebra::Customer.delete('071-C-WO5D3VT9')"
        samples-languages:
        - curl
        - ruby
      tags:
      - Customers
    get:
      summary: Fetch a customer
      description: ''
      operationId: fetch-a-customer
      parameters:
      - name: id
        in: path
        description: ID or Reference
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                cURL:
                  value: "{\n  \"successful\": true,\n  \"response\": {\n    \"id\": \"071-C-JE34F66V\",\n    \"email\": \"jim@citizen.com\",\n    \"reference\": \"CUST-98198\",\n    \"first_name\": \"Jim\",\n    \"last_name\": \"Smith\",\n    \"created_at\": \"2017-12-04T21:51:11+11:00\",\n    \"address\": {\n      \"address\": \"1 Citizen Road\",\n      \"city\": \"Sydney\",\n      \"state\": \"NSW\",\n      \"postcode\": \"2000\",\n      \"country\": \"Australia\"\n    },\n    \"card_token\": \"fke89s3v\",\n    \"card_number\": \"400555XXXXXX0001\",\n    \"bank_account\": null,\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-C-JE34F66V
                      email:
                        type: string
                        example: jim@citizen.com
                      reference:
                        type: string
                        example: CUST-98198
                      first_name:
                        type: string
                        example: Jim
                      last_name:
                        type: string
                        example: Smith
                      created_at:
                        type: string
                        example: '2017-12-04T21:51:11+11:00'
                      address:
                        type: object
                        properties:
                          address:
                            type: string
                            example: 1 Citizen Road
                          city:
                            type: string
                            example: Sydney
                          state:
                            type: string
                            example: NSW
                          postcode:
                            type: string
                            example: '2000'
                          country:
                            type: string
                            example: Australia
                      card_token:
                        type: string
                        example: fke89s3v
                      card_number:
                        type: string
                        example: 400555XXXXXX0001
                      bank_account: {}
                      metadata:
                        type: object
                        properties: {}
                  errors:
                    type: array
                  test:
                    type: boolean
                    example: true
                    default: true
            text/plain:
              examples:
                Ruby:
                  value: "=> #<FatZebra::Customer:0x3fdceaad1180 id=071-C-JE34F66V> JSON: {\n  \"id\": \"071-C-JE34F66V\",\n  \"email\": \"jim@citizen.com\",\n  \"reference\": \"CUST-98198\",\n  \"first_name\": \"Jim\",\n  \"last_name\": \"Smith\",\n  \"created_at\": \"2017-12-04T21:51:11+11:00\",\n  \"address\": {\n    \"address\": \"1 Citizen Road\",\n    \"city\": \"Sydney\",\n    \"state\": \"NSW\",\n    \"postcode\": \"2000\",\n    \"country\": \"Australia\"\n  },\n  \"card_token\": \"fke89s3v\",\n  \"card_number\": \"400555XXXXXX0001\",\n  \"bank_account\": null,\n  \"metadata\": {}\n}"
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: curl -u TEST:TEST https://gateway.pmnts-sandbox.io/v1.0/customers/071-C-JE34F66V
        - language: ruby
          code: "require 'fat_zebra'\n\nFatZebra.configure do |config|\n  config.username = 'TEST'\n  config.token = 'TEST'\n  config.gateway = :sandbox\nend\n\nFatZebra::Customer.find('071-C-JE34F66V')"
        samples-languages:
        - curl
        - ruby
      tags:
      - Customers
    servers:
    - url: https://gateway.pmnts-sandbox.io/v1.0
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic
x-refined-from:
- fat-zebra-billing.json
- fat-zebra-gateway.json
x-readme:
  headers: []
x-readme-fauxas: true