Tyro Payments Merchants API

The Merchants API from Tyro Payments — 7 operation(s) for merchants.

Operations 7

POST /tap-to-pay/merchants/{merchantId}/authorise/test Authorise a Sandbox Merchant Id #
GET /tap-to-pay/merchants Lists merchants #
GET /tap-to-pay/merchants/{merchantId} Fetch a merchant #
GET /pay-terminal/merchants Lists merchants #
GET /pay-terminal/merchants/{merchantId} Fetch a merchant #
POST /pay-terminal/merchants/{merchantId}/authorise/test Authorise a Sandbox Merchant Id #
GET /pay-terminal/merchants/{merchantId}/terminals Lists the terminals available to a merchant #

Documentation

📖
Documentation
https://docs.connect.tyro.com/app/apis/pay
📖
APIReference
https://docs.connect.tyro.com/app/apis/pay/0.9
📖
Authentication
https://docs.connect.tyro.com/app/authentication
📖
Documentation
https://docs.connect.tyro.com/pos/apis/pay-terminal
📖
APIReference
https://docs.connect.tyro.com/pos/apis/pay-terminal/0.9
📖
Documentation
https://docs.connect.tyro.com/pos/apis/embedded-payments
📖
APIReference
https://docs.connect.tyro.com/pos/apis/embedded-payments/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/booking
📖
APIReference
https://docs.connect.tyro.com/app/apis/booking/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/ordering
📖
APIReference
https://docs.connect.tyro.com/app/apis/ordering/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/menu-management
📖
APIReference
https://docs.connect.tyro.com/app/apis/menu-management/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/tables
📖
APIReference
https://docs.connect.tyro.com/app/apis/tables/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/sales
📖
APIReference
https://docs.connect.tyro.com/app/apis/sales/1.1
📖
Documentation
https://docs.connect.tyro.com/app/apis/reporting
📖
APIReference
https://docs.connect.tyro.com/app/apis/reporting/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/loyalty
📖
APIReference
https://docs.connect.tyro.com/app/apis/loyalty/0.9
📖
Documentation
https://docs.connect.tyro.com/app/apis/refunds
📖
APIReference
https://docs.connect.tyro.com/app/apis/refunds/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/locations
📖
APIReference
https://docs.connect.tyro.com/app/apis/locations/1.0
📖
Documentation
https://docs.connect.tyro.com/app/apis/referrals
📖
APIReference
https://docs.connect.tyro.com/app/apis/referrals/1.0

Specifications

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/tyro-merchants-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

tyro-merchants-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tyro Merchants API
  contact: {}
  version: '1.0'
  description: 'Operations tagged Merchants across 2 of this provider''s published API definitions: tyro-pos-embedded-payments.yml, tyro-pos-pay-terminal.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.tyro.com/connect
  description: Production
tags:
- name: Merchants
paths:
  /tap-to-pay/merchants/{merchantId}/authorise/test:
    post:
      summary: Authorise a Sandbox Merchant Id
      operationId: authorise-embedded-payments-mid-test
      description: For testing purposes only. Authorise or de-authorise your POS on behalf of the provided merchant for testing on the Sandbox environment only.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      - $ref: '#/components/parameters/header-content-json'
      security:
      - JWT: []
      tags:
      - Merchants
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                posReference:
                  type: string
                  description: The posReference of the merchant, supplied during the integration process.
                  example: 0f448ac1-862a-4c7b-bdb4-a3b7cdbf6149
                isAuthorised:
                  type: boolean
                  description: To authorise or de-authorise the merchant Id.
                  example: true
              required:
              - posReference
              - isAuthorised
      responses:
        '204':
          description: No body Content
        '400':
          description: When the provided payload is not valid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The validation error message.
                  errorCode:
                    type: string
                    description: The unique error code for message.
              examples:
                Missing property:
                  value:
                    error: '"posReference" is required'
                    errorCode: VALIDATION_ERROR
        '403':
          description: When you don't have the right permissions to authorise the merchant Id
        '404':
          description: When the provided `merchantId` does not exist in our system.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
  /tap-to-pay/merchants:
    get:
      summary: Lists merchants
      operationId: list-embedded-payments-merchants
      description: This endpoint is used for retrieving a list of merchants that the POS has access to.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      security:
      - JWT: []
      tags:
      - Merchants
      responses:
        '200':
          description: The list of Merchants associated with the POS.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/merchant-object'
              examples:
                List Merchants:
                  value:
                    results:
                    - mid: '98765'
                      posReference: SydneyShop
                      isAuthorised: true
                      displayName: Sydney Shop 123
                    - mid: '56789'
                      posReference: SydneyShop
                      isAuthorised: false
                      displayName: Sydney Shop 456
                    - mid: '12345'
                      posReference: MelbourneShop
                      isAuthorised: true
                      displayName: Melbourne Shop 3000
        '403':
          description: When you don't have the right permissions to list Merchants.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
  /tap-to-pay/merchants/{merchantId}:
    get:
      summary: Fetch a merchant
      operationId: fetch-embedded-payments-merchant
      description: This endpoint is used for retrieving a merchant.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      security:
      - JWT: []
      tags:
      - Merchants
      responses:
        '200':
          description: The details of the fetched Merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/merchant-object'
          headers: {}
        '400':
          description: When the provided merchantId is not valid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The validation error message.
                  errorCode:
                    type: string
                    description: The unique error code for message.
              examples:
                Missing property:
                  value:
                    error: '"merchantId" is not a number'
                    errorCode: VALIDATION_ERROR
        '403':
          description: When you don't have the right permissions to view details of the provided `merchantId`.
        '404':
          description: When the provided `merchantId` does not exist in our system.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
  /pay-terminal/merchants:
    get:
      summary: Lists merchants
      operationId: list-pay-terminal-merchants
      description: This endpoint is used for retrieving a list of merchants that the POS has access to.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      security:
      - JWT: []
      tags:
      - Merchants
      responses:
        '200':
          description: The list of Merchants associated with the POS.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/merchant'
              examples:
                List Merchants:
                  value:
                    results:
                    - mid: '98765'
                      posReference: SydneyShop
                      isAuthorised: true
                      displayName: Sydney Shop 123
                    - mid: '56789'
                      posReference: SydneyShop
                      isAuthorised: false
                      displayName: Sydney Shop 456
                    - mid: '12345'
                      posReference: MelbourneShop
                      isAuthorised: true
                      displayName: Melbourne Shop 3000
        '403':
          description: When you don't have the right permissions to list Merchants.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
  /pay-terminal/merchants/{merchantId}:
    get:
      summary: Fetch a merchant
      operationId: fetch-pay-terminal-merchant
      description: This endpoint is used for retrieving a merchant.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      security:
      - JWT: []
      tags:
      - Merchants
      responses:
        '200':
          description: The details of the fetched Merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/merchant'
          headers: {}
        '400':
          description: When the provided merchantId is not valid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The validation error message.
                  errorCode:
                    type: string
                    description: The unique error code for message.
              examples:
                Missing property:
                  value:
                    error: '"merchantId" is not a number'
                    errorCode: VALIDATION_ERROR
        '403':
          description: When you don't have the right permissions to view details of the provided `merchantId`.
        '404':
          description: When the provided `merchantId` does not exist in our system.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
  /pay-terminal/merchants/{merchantId}/authorise/test:
    post:
      summary: Authorise a Sandbox Merchant Id
      operationId: authorise-pay-terminal-mid-test
      description: For testing purposes only. Authorise or de-authorise your POS on behalf of the provided merchant for testing on the Sandbox environment only.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      - $ref: '#/components/parameters/header-content-json'
      security:
      - JWT: []
      tags:
      - Merchants
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                posReference:
                  type: string
                  description: The posReference of the merchant, supplied during the integration process.
                  example: 0f448ac1-862a-4c7b-bdb4-a3b7cdbf6149
                isAuthorised:
                  type: boolean
                  description: To authorise or de-authorise the merchant Id.
                  example: true
              required:
              - posReference
              - isAuthorised
      responses:
        '204':
          description: No body Content
        '400':
          description: When the provided payload is not valid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The validation error message.
                  errorCode:
                    type: string
                    description: The unique error code for message.
              examples:
                Missing property:
                  value:
                    error: '"posReference" is required'
                    errorCode: VALIDATION_ERROR
        '403':
          description: When you don't have the right permissions to authorise the merchant Id
        '404':
          description: When the provided `merchantId` does not exist in our system.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
  /pay-terminal/merchants/{merchantId}/terminals:
    get:
      summary: Lists the terminals available to a merchant
      operationId: list-pay-terminal-merchants-terminals
      description: This endpoint is used for retrieving a list of terminals under a mid that the POS has access to.
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      security:
      - JWT: []
      tags:
      - Merchants
      responses:
        '200':
          description: The list of Merchants Terminals associated with the POS.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        tid:
                          type: string
                          description: The terminal id or "tid".
                        terminalName:
                          type: string
                          description: The terminal name.
                        serialNumber:
                          type: string
                          description: The serial number on the device located on the barcode.
              examples:
                List Terminals:
                  value:
                    results:
                    - tid: '1'
                      terminalName: Front Counter
                      serialNumber: DX800012341
                    - tid: '2'
                      terminalName: Johns Device
                      serialNumber: DX800012342
                    - tid: '5'
                      terminalName: Backup Terminal
                      serialNumber: DX800012345
        '403':
          description: When you don't have the right permissions to list this Merchants Terminals.
    servers:
    - url: https://api.tyro.com/connect
      description: Production
components:
  parameters:
    header-content-json:
      schema:
        type: string
        enum:
        - application/json
      in: header
      name: Content-Type
      required: true
    header-bearer-token:
      schema:
        type: string
        default: Bearer {$$.env.access_token}
      in: header
      name: Authorization
      required: true
  schemas:
    merchant-object:
      title: Merchant
      type: object
      properties:
        mid:
          type: string
          description: The ID of the merchant as specified by the Tyro Connect system
          example: '98765'
        posReference:
          type: string
          description: The posReference of the merchant, supplied during the integration process.
          example: SydneyShop
        isAuthorised:
          type: boolean
          description: If the POS is authorised for this merchant.
          example: true
        displayName:
          type: string
          description: The display name of the Merchant
          example: Bobs Burger Shop
    merchant:
      title: Merchant
      type: object
      properties:
        mid:
          type: string
          description: The ID of the merchant as specified by the Tyro Connect system
          example: '98765'
        posReference:
          type: string
          description: The posReference of the merchant, supplied during the integration process.
          example: SydneyShop
        isAuthorised:
          type: boolean
          description: If the POS is authorised for this merchant.
          example: true
        displayName:
          type: string
          description: The display name of the Merchant
          example: Bobs Burger Shop
  securitySchemes:
    JWT:
      type: openIdConnect
      openIdConnectUrl: https://auth.connect.tyro.com/.well-known/openid-configuration
x-refined-from:
- tyro-pos-embedded-payments.yml
- tyro-pos-pay-terminal.yml