> ## Documentation Index
> Fetch the complete documentation index at: https://devzone.nayax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TriggerTransaction

The `TriggerTransaction` endpoint initiates user interaction with the physical terminal by sending a wake-up signal to the specified device.


## OpenAPI

````yaml /openapi/spark.yaml post /TriggerTransaction
openapi: 3.0.1
info:
  title: Nayax Spark API
  description: RemoteStart V2
  version: v2
servers:
  - url: https://{domain}/api
    variables:
      domain:
        default: nayax-spark-dmz.nayax.com
        description: >-
          Your Nayax-assigned domain (e.g., nayax-spark-dmz.nayax.com). Nayax
          provides a QA domain during sandbox onboarding and a production domain
          after certification.
security: []
tags:
  - name: Transactions
paths:
  /TriggerTransaction:
    post:
      tags:
        - Transactions
      summary: TriggerTransaction
      requestBody:
        description: The request payload containing the details to trigger a transaction.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerTransactionRequest'
      responses:
        '200':
          description: Success. The transaction was successfully triggered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerTransactionResponse'
components:
  schemas:
    TriggerTransactionRequest:
      type: object
      nullable: true
      description: >
        The request payload for the `/spark/TriggerTransaction` endpoint. This
        call initiates user interaction with a physical terminal and provides
        the necessary details for the transaction.
      properties:
        SparkTransactionId:
          type: string
          nullable: true
          description: >
            The unique session ID received from Spark during the
            `StartAuthentication` process.
        TerminalId:
          type: string
          nullable: false
          description: |
            The unique ID of the target terminal.
        TerminalIdType:
          type: integer
          format: int32
          nullable: true
          description: >
            Defines the ID type used for the `TerminalId`. Use `1` for the HW
            Serial or `2` for the Nayax Machine ID.
        Amount:
          type: number
          format: double
          description: >
            The amount to be pre-authorized or charged for the transaction. This
            value is required for the Pre-Selection flow.
        PosDisplay:
          type: string
          nullable: true
          description: |
            An optional custom message to show on the terminal's display.
        EReceiptData:
          type: string
          nullable: true
          description: >
            Optional JSON-formatted string representing e-receipt details for
            machine operators who wish to provide digital receipts.
        TransactionTimeout:
          type: integer
          format: int16
          description: >
            The timeout in seconds for the terminal to wait for a card to be
            presented. This value must be greater than `0`.
      example:
        SparkTransactionId: 12c7cec2-c690-4425-9a1f-db0db60e2d8c
        TerminalId: '0434334921100366'
        TerminalIdType: 1
        Amount: 15
        PosDisplay: >-
          ;Charging Station:3;Day:30.52p;Night:9p;Standing charge:52.18p/day;
          Off-peak:12:30-04:30;
        TransactionTimeout: 60
    TriggerTransactionResponse:
      type: object
      nullable: true
      description: >
        The response payload from the `/spark/TriggerTransaction` endpoint,
        which confirms the result of the request to initiate user interaction
        with a physical terminal.
      properties:
        SparkTransactionId:
          type: string
          nullable: true
          description: |
            The unique transaction ID, echoed from the request.
        Status:
          $ref: '#/components/schemas/Status'
          description: >
            An object containing the resulting verdict and an optional error
            description.
      example:
        SparkTransactionId: 12c7cec2-c690-4425-9a1f-db0db60e2d8c
        Status:
          Verdict: Approved
          ErrorDescription: ' No Errors '
    Status:
      type: object
      nullable: false
      description: Transaction Status Details
      properties:
        Verdict:
          type: string
          nullable: false
          description: Status of the request (Approved / Declined)
        ErrorCode:
          type: integer
          format: int16
          nullable: true
          description: |
            - Conditional
            - Reason for declined request
        ErrorDescription:
          type: string
          nullable: true
          description: |
            - Conditional
            - Length: 255
            - Error description
        StatusMessage:
          type: string
          nullable: true
          description: |
            - Optional
            - Length: 255
            - Transaction status message as free text field

````