Fat Zebra Web Hooks API

The Web Hooks API from Fat Zebra — 2 operation(s) for web hooks.

Operations 4

POST /web_hooks Create a webhook #
GET /web_hooks List webhooks #
PUT /web_hooks/{id} Update a webhook #
DELETE /web_hooks/{id} Delete a webhook #

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-web-hooks-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-web-hooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gateway Web Hooks API
  version: '1.0'
servers:
- url: https://gateway.pmnts-sandbox.io/v1.0
security:
- sec0: []
tags:
- name: Web Hooks
paths:
  /web_hooks:
    post:
      summary: Create a webhook
      description: Create webhooks
      operationId: create-a-webhook
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: A name for the web hook
                mode:
                  type: string
                  description: 'The mode for the web hook. Possible values are: Test or Production'
                address:
                  type: string
                  description: The URL for the web hook to target. This must start with http:// or https://
                authentication_username:
                  type: string
                  description: The username for HTTP Basic authentication
                  default: Optional
                authentication_password:
                  type: string
                  description: The password for HTTP Basic authentication (optional)
                  default: Optional
                is_active:
                  type: boolean
                  description: Activation flag for the webhook
                  default: false
                events:
                  type: string
                  description: A list of events for the web hook to target. This is a comma separated list of events, and it is possible to use wildcards (e.g.`*` for all events, or `direct_entry:*` for all direct entry hooks, or `direct_entry:created,direct_entry:failed`)
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"successful\": true,\n  \"response\": {\n    \"address\": \"https://www.your-server.com/payment/hook\",\n    \"events\": \"*\",\n    \"mode\": \"Test\",\n    \"authentication_username\": null,\n    \"authentication_password\": \"\",\n    \"is_active\": true,\n    \"name\": \"Test Hook\",\n    \"id\": \"071-WH-ABCD1234\"\n  },\n  \"errors\": [],\n  \"test\": true\n}"
              schema:
                type: object
                properties:
                  successful:
                    type: boolean
                    example: true
                    default: true
                  response:
                    type: object
                    properties:
                      address:
                        type: string
                        example: https://www.your-server.com/payment/hook
                      events:
                        type: string
                        example: '*'
                      mode:
                        type: string
                        example: Test
                      authentication_username: {}
                      authentication_password:
                        type: string
                        example: ''
                      is_active:
                        type: boolean
                        example: true
                        default: true
                      name:
                        type: string
                        example: Test Hook
                      id:
                        type: string
                        example: 071-WH-ABCD1234
                  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    \"address\":null,\n    \"events\":null,\n    \"mode\":null,\n    \"authentication_username\":null,\n    \"authentication_password\":\"\",\n    \"is_active\":null,\n    \"name\":null,\n    \"id\":null\n  },\n  \"errors\":[\n    \"Address can't be blank\",\n    \"Events is not included in the list\",\n    \"Mode is not included in the list\"\n  ],\n  \"test\":true\n}"
              schema:
                type: object
                properties:
                  successful:
                    type: boolean
                    example: false
                    default: true
                  response:
                    type: object
                    properties:
                      address: {}
                      events: {}
                      mode: {}
                      authentication_username: {}
                      authentication_password:
                        type: string
                        example: ''
                      is_active: {}
                      name: {}
                      id: {}
                  errors:
                    type: array
                    items:
                      type: string
                      example: Address can't be blank
                  test:
                    type: boolean
                    example: true
                    default: true
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -X POST https://gateway.pmnts-sandbox.io/v1.0/web_hooks -u TEST:TEST -d'\n  {\n    \"name\": \"Test Hook\",\n    \"mode\": \"Test\",\n    \"address\": \"https://www.your-server.com/payment/hook\",\n    \"authentication_username\": null,\n    \"authentication_password\": null,\n    \"is_active\": true,\n    \"events\": \"*\"\n  }'"
        - language: ruby
          code: "FatZebra::WebHook.create(\n  address: 'https://www.your-server.com/payment/hook',\n  events: '*',\n  mode: 'Test',\n  name: \"Test Hook\"\n)"
        samples-languages:
        - curl
        - ruby
      tags:
      - Web Hooks
    get:
      summary: List webhooks
      description: List your installed webhooks
      operationId: list-webhooks
      parameters:
      - name: limit
        in: query
        description: The number of records to return per request. The maximum records per request is 50
        schema:
          type: integer
          format: int32
          default: 10
      - name: offset
        in: query
        description: The pagination offset for the request.
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n   \"response\" : [\n      {\n         \"id\" : \"071-WH-LPN9BZVS\",\n         \"authentication_username\" : null,\n         \"mode\" : \"Test\",\n         \"events\" : \"*\",\n         \"is_active\" : null,\n         \"address\" : \"http://stage.example.com.au/v1/api/hook_listener\",\n         \"authentication_password\" : \"\",\n         \"name\" : \"New Test hook\"\n      }\n   ],\n   \"errors\" : [],\n   \"successful\" : true,\n   \"test\" : true\n}"
              schema:
                type: object
                properties:
                  response:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 071-WH-LPN9BZVS
                        authentication_username: {}
                        mode:
                          type: string
                          example: Test
                        events:
                          type: string
                          example: '*'
                        is_active: {}
                        address:
                          type: string
                          example: http://stage.example.com.au/v1/api/hook_listener
                        authentication_password:
                          type: string
                          example: ''
                        name:
                          type: string
                          example: New Test hook
                  errors:
                    type: array
                  successful:
                    type: boolean
                    example: true
                    default: true
                  test:
                    type: boolean
                    example: true
                    default: true
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: curl https://gateway.pmnts-sandbox.io/v1.0/web_hooks -u TEST:TEST
        - language: ruby
          code: FatZebra::WebHook.search.data
        samples-languages:
        - curl
        - ruby
      tags:
      - Web Hooks
  /web_hooks/{id}:
    put:
      summary: Update a webhook
      description: Update a webhook
      operationId: update-a-webhook
      parameters:
      - name: id
        in: path
        description: Id of the webhook
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The mode for the web hook. Possible values are: Test or Production'
                mode:
                  type: string
                  description: 'The mode for the web hook. Possible values are: Test or Production'
                address:
                  type: string
                  description: The URL for the web hook to target. This must start with http:// or https://
                authentication_username:
                  type: string
                  description: The username for HTTP Basic authentication
                  default: Optional
                authentication_password:
                  type: string
                  description: The password for HTTP Basic authentication (optional)
                  default: Optional
                events:
                  type: string
                  description: A list of events for the web hook to target. This is a comma separated list of events, and it is possible to use wildcards (e.g. `*` for all events, or `direct_entry:*` for all direct entry hooks, or `direct_entry:created,direct_entry:failed`)
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"successful\": true,\n  \"response\": {\n    \"address\": \"https://www.your-server.com/payment/hook\",\n    \"events\": \"*\",\n    \"mode\": \"Test\",\n    \"authentication_username\": null,\n    \"authentication_password\": \"\",\n    \"is_active\": null,\n    \"name\": \"Test Hook Updated\",\n    \"id\": \"071-WH-ABCD1234\"\n  },\n  \"errors\": [],\n  \"test\": true\n}"
              schema:
                type: object
                properties:
                  successful:
                    type: boolean
                    example: true
                    default: true
                  response:
                    type: object
                    properties:
                      address:
                        type: string
                        example: https://www.your-server.com/payment/hook
                      events:
                        type: string
                        example: '*'
                      mode:
                        type: string
                        example: Test
                      authentication_username: {}
                      authentication_password:
                        type: string
                        example: ''
                      is_active: {}
                      name:
                        type: string
                        example: Test Hook Updated
                      id:
                        type: string
                        example: 071-WH-ABCD1234
                  errors:
                    type: array
                  test:
                    type: boolean
                    example: true
                    default: true
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -X PUT https://gateway.pmnts-sandbox.io/v1.0/web_hooks/071-WH-ABCD1234 -u TEST:TEST -d '\n  {\n    \"name\": \"Test Hook Updated\" \n  }'"
        samples-languages:
        - curl
      tags:
      - Web Hooks
    delete:
      summary: Delete a webhook
      description: Delete a webhook
      operationId: delete-a-webhook
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"successful\": true,\n  \"response\": {\n    \"address\": \"https://www.your-server.com/payment/hook\",\n    \"events\": \"*\",\n    \"mode\": \"Test\",\n    \"authentication_username\": null,\n    \"authentication_password\": \"\",\n    \"is_active\": null,\n    \"name\": \"Test Hook\",\n    \"id\": \"071-WH-ABCD1234\"\n  },\n  \"errors\": [],\n  \"test\": true\n}"
              schema:
                type: object
                properties:
                  successful:
                    type: boolean
                    example: true
                    default: true
                  response:
                    type: object
                    properties:
                      address:
                        type: string
                        example: https://www.your-server.com/payment/hook
                      events:
                        type: string
                        example: '*'
                      mode:
                        type: string
                        example: Test
                      authentication_username: {}
                      authentication_password:
                        type: string
                        example: ''
                      is_active: {}
                      name:
                        type: string
                        example: Test Hook
                      id:
                        type: string
                        example: 071-WH-ABCD1234
                  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\":[\"Not Found\"],\n  \"test\":true\n}"
              schema:
                type: object
                properties:
                  successful:
                    type: boolean
                    example: false
                    default: true
                  response: {}
                  errors:
                    type: array
                    items:
                      type: string
                      example: Not Found
                  test:
                    type: boolean
                    example: true
                    default: true
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: curl -X DELETE https://gateway.pmnts-sandbox.io/v1.0/web_hooks/071-WH-ABCD1234 -u TEST:TEST
        - language: ruby
          code: FatZebra::WebHook.delete('071-WH-QWV3JF36')
        samples-languages:
        - curl
        - ruby
      tags:
      - Web Hooks
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic
x-readme:
  headers: []
  explorer-enabled: true
  proxy-enabled: true
x-readme-fauxas: true