CM.com Terminals API

Operations related to terminals

Operations 7

GET /terminals List all terminals #
GET /terminals/{manufacturer}-{model}-{serial} Get terminal by manufacturer, model & serial #
GET /terminals/{manufacturer}-{model}-{serial}/daytotals/today Get the day totals for the terminal by manufacturer, model & serial #
GET /terminals/{manufacturer}-{model}-{serial}/transactions List transactions by terminal #
POST /terminals/{manufacturer}-{model}-{serial}/transactions Create new transaction for terminal #
GET /terminals/{manufacturer}-{model}-{serial}/transactions/{id} Get transaction by terminal and id #
DELETE /terminals/{manufacturer}-{model}-{serial}/transactions/{id} Abort a transaction by terminal and id #

Documentation

📖
Documentation
https://docs.cm.com/conversational-ai/v1/api-reference
📖
Documentation
https://docs.cm.com/conversational-router/v1/api-reference
📖
Documentation
https://docs.cm.com/conversational-router/v2/api-reference
📖
Documentation
https://docs.cm.com/customer-engagement/v1/api-reference
📖
Documentation
https://docs.cm.com/email-gateway-api/v1/api-reference
📖
Documentation
https://docs.cm.com/halo/analytics/v1/api-reference
📖
Documentation
https://docs.cm.com/halo/core/v1/api-reference
📖
Documentation
https://docs.cm.com/live/entrance-management/v1/api-reference
📖
Documentation
https://docs.cm.com/live/entrance-management/v2/api-reference
📖
Documentation
https://docs.cm.com/live/event-apps/v1/api-reference
📖
Documentation
https://docs.cm.com/live/event-ticketing/v1/api-reference
📖
Documentation
https://docs.cm.com/live/ga-partner/v1/api-reference
📖
Documentation
https://docs.cm.com/live/museum-park-reseller/v1/api-reference
📖
Documentation
https://docs.cm.com/live/museum-park-scan/v1/api-reference
📖
Documentation
https://docs.cm.com/live/tables/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/cdp-integration/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/cms-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/crm-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/internal-comms-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/live-chat-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/product-feed-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/messaging/business-messaging/v1/api-reference
📖
Documentation
https://docs.cm.com/messaging/channels-api/v1.2/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/cdp-events/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/cdp-profiles/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/email-campaigns/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/email-validation/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/mmc-campaigns/v1/api-reference
📖
Documentation
https://docs.cm.com/payments/online-payments/v1.27.22/api-reference
📖
Documentation
https://docs.cm.com/payments/pos-cloud-api/v1.9.0/api-reference
📖
Documentation
https://docs.cm.com/sign/v1/api-reference
📖
Documentation
https://docs.cm.com/sign/seal/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/iban-verification/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/id-scan/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/identity-hub/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/idin/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/mobile-identity/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/number-validation/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/otp/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/otp/v2/api-reference
📖
Documentation
https://docs.cm.com/voice/audio-manager/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/cdr/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/company-profiles/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/distribution-groups/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/documents/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/number-requests/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/phone-numbers/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/sip-accounts/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/sip-thresholds/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/tts/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/voice-accounts/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/voice-api/v2/api-reference
📖
Documentation
https://docs.cm.com/voice/voice-insights/v1/api-reference

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-health-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-connect-custom-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-gateway-gateway-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-configuration-email-inbound-webhook-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-configuration-email-inbound-webhook-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-suppression-email-unsubscribe-filters-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-configuration-email-inbound-webhook-controller-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-suppression-unsubscribe-request-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-conversation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-feedback-score-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-feedback-score-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-conversations-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-conversation-item-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-metrics-data-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handover-input-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-profile-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-culture-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-rule-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-rule-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-rule-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-update-rule-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-ticket-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-ticket-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-view-customer-product-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-view-event-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-event-create-event-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-product-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-view-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-create-discount-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-partner-api-venue-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-template-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-template-language-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-template-base-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-googles-business-messages-api-googles-business-messages-agent-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-mobile-push-api-mobile-push-application-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-profile-type-property-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-workflows-api-models-workflows-api-workflow-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-segment-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-workflows-api-models-api-workflow-search-filter-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-profile-export-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-campaign-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-single-mail-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-mailing-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-from-domain-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-mail-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-email-email-validation-api-models-api-email-address-validation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-status-report-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-cost-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-preview-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-channel-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-recipient-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-card-payment-v2-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-ideal-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-authorize-google-pay-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-riverty-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-ideal-qrtransaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-new-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-store-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-get-apikey-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-apikey-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-apikey-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-reassign-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-invite-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-dossier-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-branding-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-seal-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-status-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-status-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-webhook-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-page-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-transaction-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-transaction-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-merchant-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-directory-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-identity-match-score-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-identity-match-match-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-identity-match-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-verify-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-sim-swap-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-check-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-check-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-generate-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-generate-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-verify-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-voice-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-otp-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-whats-app-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-email-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-push-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-otp-verify-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-conversation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-company-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-update-company-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-street-number-and-postal-code-validation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-required-field-validation-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-company-profile-status-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-street-number-and-postal-code-validation-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-endpoint-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-distribution-group-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-document-metadata-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-uploaded-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-create-number-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-create-porting-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-range-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-available-numbers-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-porting-request-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-notification-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-sip-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-direct-forwarding-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-halo-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-flow-builder-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-config-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-endpoint-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-trunk-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-restriction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-platform-domain-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-account-threshold-rule-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-no-content-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-tts-voice-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-tts-preview-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-voice-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-logical-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-request-dtmf-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-otp-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-notification-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-flow-builder-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-call-queued-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-filtered-conversations-schema.json

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/cm-com:cm-com-terminals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

cm-com-terminals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Merchant Terminals API
  description: '## Payment Acceptance Made Easy

    The MerchantAPI allows merchants to interact with and retrieve information from the PayPlaza payment system.'
  contact:
    name: Development
    url: https://www.payplaza.com
    email: development@payplaza.com
  version: 1.9.0
servers:
- url: /merchant/v1
security:
- ApiKeyAuth: []
tags:
- name: Terminals
  description: Operations related to terminals
paths:
  /terminals:
    get:
      operationId: listTerminals
      tags:
      - Terminals
      summary: List all terminals
      parameters:
      - name: page
        in: query
        description: The page number of your query result, starting at 1
        required: false
        schema:
          format: int32
          default: 1
          minimum: 1
          type: integer
      - name: size
        in: query
        description: The amount of results per page, maximum 100 (defaults to 10)
        required: false
        schema:
          format: int32
          default: 10
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          description: OK.
          headers:
            Link:
              description: Multiple links providing information about how to navigate through the entries. Links are seperated by a comma ',' Format is compliant with [https://datatracker.ietf.org/doc/html/rfc8288](RFC 8288 Web Linking)
              required: true
              allowEmptyValue: true
              style: simple
              schema:
                type: string
            X-Total-Count:
              description: Total number of entries available
              required: true
              allowEmptyValue: false
              style: simple
              schema:
                type: number
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Terminal'
        '400':
          description: Bad request.
        '500':
          description: Internal server error.
  /terminals/{manufacturer}-{model}-{serial}:
    get:
      operationId: getTerminal
      tags:
      - Terminals
      summary: Get terminal by manufacturer, model & serial
      parameters:
      - name: manufacturer
        in: path
        description: Manufacturer name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: model
        in: path
        description: Model name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: serial
        in: path
        description: Serial(number) of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Terminal'
        '400':
          description: Bad request.
        '500':
          description: Internal server error.
  /terminals/{manufacturer}-{model}-{serial}/daytotals/today:
    get:
      operationId: getTerminalDayTotals
      tags:
      - Terminals
      summary: Get the day totals for the terminal by manufacturer, model & serial
      parameters:
      - name: manufacturer
        in: path
        description: Manufacturer name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: model
        in: path
        description: Model name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: serial
        in: path
        description: Serial(number) of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Receipt'
        '400':
          description: Bad request.
        '500':
          description: Internal server error.
  /terminals/{manufacturer}-{model}-{serial}/transactions:
    get:
      operationId: listTerminalTransactions
      tags:
      - Terminals
      summary: List transactions by terminal
      parameters:
      - name: manufacturer
        in: path
        description: Manufacturer name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: model
        in: path
        description: Model name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: serial
        in: path
        description: Serial(number) of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: page
        in: query
        description: The page number of your query result, starting at 1
        required: false
        schema:
          format: int32
          default: 1
          minimum: 1
          type: integer
      - name: size
        in: query
        description: The amount of results per page, maximum 100 (defaults to 10)
        required: false
        schema:
          format: int32
          default: 10
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          description: OK.
          headers:
            Link:
              description: Multiple links providing information about how to navigate through the entries. Links are seperated by a comma ',' Format is compliant with RFC 8288 Web Linking
              required: true
              allowEmptyValue: true
              style: simple
              schema:
                type: string
            X-Total-Count:
              description: Total number of entries available
              required: true
              allowEmptyValue: false
              style: simple
              schema:
                type: number
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Transaction'
        '400':
          description: Bad request.
        '500':
          description: Internal server error.
    post:
      operationId: createTerminalTransaction
      tags:
      - Terminals
      summary: Create new transaction for terminal
      description: 'The Merchant-API will make sure only one newly created transaction is available for a specific terminal.

        This means that when creating a new transaction, previous transaction(s) with status CREATED will be aborted.

        So given transactions A and B, when transaction A has not been retrieved by the terminal when creating transaction B the Merchant API will abort transaction A, and the terminal will receive transaction B.'
      parameters:
      - name: manufacturer
        in: path
        description: Manufacturer name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: model
        in: path
        description: Model name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: serial
        in: path
        description: Serial(number) of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewTransaction'
            examples:
              Purchase:
                value:
                  type: PURCHASE
                  merchant_order_reference: '1234'
                  amount:
                    value: 0.01
                    currency: EUR
              Unreferenced refund:
                value:
                  type: REFUND
                  merchant_order_reference: '1234'
                  amount:
                    value: 0.01
                    currency: EUR
              Referenced refund:
                value:
                  type: REFUND
                  merchant_order_reference: '1234'
                  amount:
                    value: 0.01
                    currency: EUR
                  reference:
                    id: '12345678'
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        '400':
          description: Bad request.
        '500':
          description: Internal server error.
        '501':
          description: Not yet implemented.
  /terminals/{manufacturer}-{model}-{serial}/transactions/{id}:
    get:
      operationId: getTerminalTransaction
      tags:
      - Terminals
      summary: Get transaction by terminal and id
      parameters:
      - name: manufacturer
        in: path
        description: Manufacturer name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: model
        in: path
        description: Model name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: serial
        in: path
        description: Serial(number) of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: id
        in: path
        description: Identifier of a transaction
        required: true
        schema:
          maxLength: 31
          minLength: 31
          pattern: '[0-9]{31}'
          type: string
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        '400':
          description: Bad request.
        '404':
          description: Not found.
        '500':
          description: Internal server error.
    delete:
      operationId: deleteTerminalTransaction
      tags:
      - Terminals
      summary: Abort a transaction by terminal and id
      parameters:
      - name: manufacturer
        in: path
        description: Manufacturer name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: model
        in: path
        description: Model name of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: serial
        in: path
        description: Serial(number) of the terminal
        required: true
        schema:
          maxLength: 255
          minLength: 1
          type: string
      - name: id
        in: path
        description: Identifier of a transaction
        required: true
        schema:
          maxLength: 31
          minLength: 31
          pattern: '[0-9]{31}'
          type: string
      responses:
        '204':
          description: No Content
        '404':
          description: Not found.
        '409':
          description: Conflict. The transaction is in a state that can't be aborted
components:
  schemas:
    ZonedDateTime:
      format: date-time
      type: string
      example: '2022-03-10T12:15:50-04:00'
    TransactionType:
      description: <dl><dt>PURCHASE</dt><dd>Indicates a purchase where the money will flow from the consumer to the merchant</dd><dt>PRE_AUTH</dt><dd>Indicates a claim on a certain amount of money on the bankaccount of the consumer</dd><dt>REFUND</dt><dd>Indicates a refunds where the money will flow from the merchant back to the consumer</dd></dl>
      enum:
      - PURCHASE
      - PRE_AUTH
      - REFUND
      type: string
    NewTransaction:
      description: Information for Transaction to be created at PayPlaza
      required:
      - merchant_order_reference
      - type
      - amount
      type: object
      properties:
        merchant_order_reference:
          description: Reference provided by the Merchant for future identification of this Transaction<br />This field may contain all letters in lowercase and uppercase, digit, underscore '_' and <a href="https://en.wikipedia.org/wiki/Hyphen-minus">hyphen-minus</a> '-'Usually a unique identifier generated by the Merchant<br />
          maxLength: 14
          minLength: 1
          pattern: ([0-9a-zA-Z]|-|_){1,14}
          type: string
          example: '''TEN-103_1'', ''3987462423900'', ''Q99PM-2QHFW-FQ'''
        type:
          $ref: '#/components/schemas/TransactionType'
        amount:
          $ref: '#/components/schemas/Amount'
        reference:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/TransactionReference'
    Transaction:
      description: A transaction
      required:
      - id
      - creation_datetime
      - merchant_order_reference
      - merchant_id
      - type
      - status
      - store
      - amount
      type: object
      properties:
        id:
          description: Unique identifier generated by PayPlaza for this transaction.<br />Format will be 31 numeric characters
          pattern: '[0-9]{31}'
          type: string
        creation_datetime:
          allOf:
          - $ref: '#/components/schemas/ZonedDateTime'
          - description: 'Datetime identifying the moment the transaction was created at CM.com and in CM.com timezone.<br />The creation date is specified in the <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> format.<br />The date on the receipt is formatted to the store timezone. pattern: "ISO 8601: "YYYY-MM-DD''T''hh:mm:ssZ"'
            example: '2022-01-19T12:58:00Z'
        merchant_order_reference:
          description: Identifier provided by the merchant when creating the transaction.
          maxLength: 14
          minLength: 1
          pattern: ([0-9a-zA-Z]|-|_){1,14}}
          type: string
          example: '''TEN-103_1'', ''3987462423900'', ''Q99PM-2QHFW-FQ'''
        brand:
          description: Optional field, which will only be filled if this transaction is authorized by a processor.<br /><br />Identifies the brand on the bankcard of the consumer, possible values:<br />AMEX, CIRRUS, CUP, DINERS, DISCOVER, JCB, MAESTRO, MASTERCARD, VISA, V_PAY.
          type:
          - string
          - 'null'
        system_trace_audit_number:
          description: Optional field, which will only be filled if this transaction is authorized by a processor.<br /><br />Identifier generated by PayPlaza to trace a transaction through its lifecycle with a processor.<br />* Format is a 6 digit number, but should be treated as a string.<br />* Unique per day per processor, so not unique for merchants.
          type:
          - string
          - 'null'
        receipt:
          description: Optional field, which will only be filled if this transaction cleared or cancelled.<br /><br />Plain text description of the transaction, contains required information needed to print a proof of the transaction of the consumer.
          type:
          - string
          - 'null'
        merchant_receipt:
          description: Optional field.<br /><br />Plain text description of the transaction, contains required information needed to print a proof of the transaction of the merchant.
          type:
          - string
          - 'null'
        original_id:
          description: Optional field, which will only be filled if this transaction is a REFUND.<br /><br />This field contains the id of the original PURCHASE transaction to which this transaction is a refund.
          pattern: '[0-9]{31}'
          type:
          - string
          - 'null'
        authorization_code:
          description: Optional field, which will only be filled if this transaction is authorized by a processor.<br /><br />This field contains the authentication provided by the processor of the transaction.
          pattern: '[0-9]{6}'
          type:
          - string
          - 'null'
        merchant_id:
          description: Identifier of the merchant that initiated this transaction.
          type: string
        processor_terminal_id:
          description: Optional field, which will only be filled after this transaction is authorized.<br /><br />Terminal ID provided by the processor of the transaction.
          type:
          - string
          - 'null'
        type:
          $ref: '#/components/schemas/TransactionType'
        amount:
          $ref: '#/components/schemas/Amount'
        store:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Store1'
        result:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/TransactionResult'
        status:
          $ref: '#/components/schemas/TransactionStatus'
    Amount:
      description: Describes how much money the transaction should be.<br />'value' is a number value with a dot (.) as decimal separator. It should NOT have any digit grouping or thousands separators<br />'currency' is a 3-letter-code, compliant with <a href="https://en.wikipedia.org/wiki/ISO_4217">ISO 4217</a>
      required:
      - value
      - currency
      type: object
      properties:
        value:
          pattern: \d+\.\d{2}
          type: number
        currency:
          description: Currency Code
          enum:
          - EUR
          - USD
          - GBP
          type: string
      example:
        value: 10298.75
        currency: EUR
    Receipt:
      required:
      - receipt
      type: object
      properties:
        receipt:
          description: List of lines for the receipt
          type: string
    TransactionReference:
      description: Reference object that represents a unique identifier for a transaction
      type: object
      properties:
        id:
          description: Unique identifier that identifies a transaction
          type: string
    Device:
      required:
      - manufacturer
      - model
      - serial
      type: object
      properties:
        manufacturer:
          description: Manufacturer name of the device
          maxLength: 255
          minLength: 1
          type: string
        model:
          description: Model name of the device
          maxLength: 255
          minLength: 1
          type: string
        serial:
          description: Serial(number) of the device
          maxLength: 255
          minLength: 1
          type: string
    UUID:
      format: uuid
      pattern: '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'
      type: string
    Store1:
      title: StoreSummary
      description: Information about Store where merchant can do transactions.
      required:
      - uuid
      - name
      type: object
      properties:
        uuid:
          allOf:
          - $ref: '#/components/schemas/UUID'
          - description: Identifier of the store
        name:
          description: Name of the store
          maxLength: 255
          minLength: 1
          type: string
    TransactionResult:
      description: Final outcome of processing the transaction.<dl><dt>APPROVED</dt><dd>Indicates that the bank of the consumer authorized the payment.</dd><dt>DECLINED</dt><dd>Indicates that the bank of the consumer does NOT approve the payment.</dd></dl>
      enum:
      - APPROVED
      - DECLINED
      type: string
    TransactionStatus:
      description: <strong>Current state of a transaction.</strong><dl><dt>CREATED</dt><dd>Transaction is created and waiting authorization.</dd><dt>AUTHORIZED</dt><dd>Transaction is authorized and awaiting clearance.</dd><dt>CLEARED</dt><dd>Transaction is cleared and is completed successfully.</dd><dt>CANCELLED</dt><dd>Transaction is cancelled and is completed unsuccessfully.</dd>
      enum:
      - CREATED
      - AUTHORIZED
      - CLEARED
      - CANCELLED
      type: string
    Terminal:
      required:
      - device
      type: object
      properties:
        device:
          $ref: '#/components/schemas/Device'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: Authentication via the API Key provided by PayPlaza
      name: API-Key
      in: header
x-readme:
  explorer-enabled: true
  proxy-enabled: true