Tyro Payments Onboarding API

The Onboarding API from Tyro Payments — 1 operation(s) for onboarding.

Operations 2

GET /locations/merchant-onboarding/loyalty/{onboardingReference} Get merchant onboarding request by reference #
POST /locations/merchant-onboarding/loyalty/{onboardingReference} Submit a decision for a merchant onboarding request #

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-onboarding-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-onboarding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Loyalty Data Onboarding API
  version: '1.0'
  description: The Loyalty Data API provides App partners with the ability to access data regarding members sales to help aggregate loyalty points. Currently the API allows apps to register their members and are notified on every transaction performed.
  contact: {}
servers:
- url: https://api.tyro.com/connect
  description: Production
tags:
- name: Onboarding
paths:
  /locations/merchant-onboarding/loyalty/{onboardingReference}:
    parameters:
    - name: onboardingReference
      in: path
      description: The unique reference identifier for the merchant onboarding request.
      required: true
      schema:
        type: string
    get:
      summary: Get merchant onboarding request by reference
      description: This endpoint retrieves the details of a merchant onboarding request for a loyalty partner to review, including the location details, business details, and the current status of each integration.
      operationId: get-merchant-onboarding-request-by-reference
      security:
      - JWT: []
      tags:
      - Onboarding
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/merchant-onboarding-request-response'
              examples:
                In progress onboarding:
                  value:
                    onboardingId: abc-123-ref
                    tcLocationId: tc-cafe-main-2000
                    status: IN_PROGRESS
                    locationDetails:
                      name: Cafe on Main Street
                      address: 1 Main Street
                      postcode: '2000'
                      countryIsoCode: AUS
                      timezone: Australia/Sydney
                      phoneNumber: '+61212345678'
                    businessDetails:
                      abn: '12345678901'
                      entityName: Cafe Holdings Pty Ltd
                      address: 1 Main Street
                      postcode: '2000'
                      countryIsoCode: AUS
                    integrations: []
                Completed onboarding with loyalty success:
                  value:
                    onboardingId: abc-123-ref
                    tcLocationId: tc-cafe-main-2000
                    status: COMPLETED
                    locationDetails:
                      name: Cafe on Main Street
                      address: 1 Main Street
                      postcode: '2000'
                      countryIsoCode: AUS
                      timezone: Australia/Sydney
                      phoneNumber: '+61212345678'
                    businessDetails:
                      abn: '12345678901'
                      entityName: Cafe Holdings Pty Ltd
                      address: 1 Main Street
                      postcode: '2000'
                      countryIsoCode: AUS
                    integrations:
                    - name: loyalty
                      status: SUCCESS
        '401':
          description: When you don't have a valid access token.
        '403':
          description: When you don't have the right permissions.
        '404':
          description: When the provided `onboardingReference` does not exist or does not belong to your partner.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The error message.
              examples:
                Not found:
                  value:
                    error: MerchantOnboardingRequest with onboardingReference abc-123-ref not found
    post:
      summary: Submit a decision for a merchant onboarding request
      description: This endpoint allows a loyalty partner to approve or reject a merchant onboarding request. When approving, a `loyaltyProgramId` must be provided. When rejecting, an optional `reason` may be provided.
      operationId: submit-merchant-onboarding-decision
      security:
      - JWT: []
      tags:
      - Onboarding
      parameters:
      - $ref: '#/components/parameters/header-bearer-token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/merchant-onboarding-decision-request'
            examples:
              Approve onboarding:
                value:
                  action: APPROVE
                  loyaltyProgramId: my-loyalty-program-id
              Reject onboarding:
                value:
                  action: REJECT
                  reason: Merchant does not meet eligibility criteria.
      responses:
        '200':
          description: The decision has been successfully processed.
        '400':
          description: When the provided payload is not valid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The validation error message.
              examples:
                Missing loyaltyProgramId on approve:
                  value:
                    error: loyaltyProgramId is required when action is APPROVE
        '401':
          description: When you don't have a valid access token.
        '403':
          description: When you don't have the right permissions.
        '404':
          description: When the provided `onboardingReference` does not exist or does not belong to your partner.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The error message.
              examples:
                Not found:
                  value:
                    error: MerchantOnboardingRequest with onboardingReference abc-123-ref not found
        '409':
          description: When a decision has already been submitted for this onboarding request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The error message.
              examples:
                Already decided:
                  value:
                    error: MerchantOnboardingRequest with onboardingReference abc-123-ref has already received a partner decision
        '422':
          description: When the provided `loyaltyProgramId` is not recognised.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The error message.
              examples:
                Unknown loyaltyProgramId:
                  value:
                    error: loyaltyProgramId 'my-unknown-program' was not found
components:
  schemas:
    merchant-onboarding-decision-request:
      type: object
      title: Request body to submit a merchant onboarding decision
      properties:
        action:
          type: string
          enum:
          - APPROVE
          - REJECT
          description: The decision to approve or reject the merchant onboarding request.
        loyaltyProgramId:
          type: string
          description: The loyalty program identifier to associate with this merchant. Required when `action` is `APPROVE`.
        reason:
          type: string
          description: An optional reason for the rejection. Only applicable when `action` is `REJECT`.
      required:
      - action
    merchant-onboarding-request-response:
      type: object
      title: Merchant onboarding request response
      description: The details of a merchant onboarding request, including location and business details, and the current status of each integration.
      properties:
        onboardingId:
          type: string
          description: The unique reference identifier for the merchant onboarding request.
        tcLocationId:
          type: string
          description: The Tyro Connect location identifier.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETED
          description: The overall status of the onboarding request.
        locationDetails:
          type: object
          description: Details about the merchant location being onboarded.
          properties:
            name:
              type: string
              description: Name of the merchant location.
            address:
              type: string
              description: Street address of the merchant location.
            postcode:
              type: string
              description: Postal code of the merchant location.
            countryIsoCode:
              type: string
              description: ISO code of the country where the merchant location is situated.
            timezone:
              type: string
              description: Timezone of the merchant location (e.g., "Australia/Sydney").
            phoneNumber:
              type: string
              description: Contact phone number for the merchant location.
        businessDetails:
          type: object
          description: Details about the merchant's business.
          properties:
            abn:
              type: string
              description: Australian Business Number (ABN) of the merchant.
            entityName:
              type: string
              description: Registered entity name of the merchant.
            address:
              type: string
              description: Street address of the merchant's business.
            postcode:
              type: string
              description: Postal code of the merchant's business.
            countryIsoCode:
              type: string
              description: ISO code of the country where the merchant's business is situated.
          required:
          - abn
          - address
          - postcode
          - countryIsoCode
        integrations:
          type: array
          description: The list of integrations and their current onboarding status.
          items:
            type: object
            properties:
              name:
                type: string
                description: The name of the integration (e.g., `loyalty`).
              status:
                type: string
                enum:
                - PENDING
                - SUCCESS
                - REJECTED_BY_PARTNER
                description: The current status of this integration's onboarding.
            required:
            - name
            - status
      required:
      - onboardingId
      - tcLocationId
      - status
      - businessDetails
      - integrations
  parameters:
    header-bearer-token:
      schema:
        type: string
        default: Bearer {$$.env.access_token}
      in: header
      name: Authorization
      required: true
  securitySchemes:
    JWT:
      type: openIdConnect
      openIdConnectUrl: https://auth.connect.tyro.com/.well-known/openid-configuration