# Create terminal

Creates a new terminal (POS device).
**Required scope:** <code style="background:#e8f0fe;color:#1a73e8;padding:2px 8px;border-radius:12px;font-size:0.85em">terminal:create</code>

Endpoint: POST /terminal
Version: 2.0
Security: accountId, apiKey

## Request fields (application/json):

  - `serial_number` (string, required)
    The serial number of the terminal device. Unique per acquirer.
    Example: 123-456-789

  - `name` (string, required)
    The name of the terminal. Must be unique.
    Example: Terminal Checkout 1

  - `acquirer` (string, required)
    The acquirer associated with the terminal.
    Enum: "VERIFONE"

## Response 201 fields (application/json):

  - `id` (string)
    The unique identifier of the terminal.
    Example: 458b2fc4-3092-4de3-abd4-fe1600c09420

  - `serial_number` (string)
    The serial number of the terminal device. Unique per acquirer.
    Example: 123-456-789

  - `name` (string)
    The name of the terminal. Must be unique.
    Example: Terminal Checkout 1

  - `status` (string)
    The current status of the terminal. Determined by the device state.
    Enum: "ACTIVE", "INACTIVE", "DELETED"

  - `acquirer` (string)
    The acquirer associated with the terminal.
    Enum: "VERIFONE"

  - `model` (string)
    The model of the terminal device. Inferred from the serial number.
    Example: V240m

  - `last_transaction_at` (string | null)
    The date and time of the last transaction processed by the terminal. Null if no transactions have been processed.
    Example: 2025-08-05T13:44:29Z

  - `created_at` (string)
    The date and time when the terminal was created.
    Example: 2025-08-05T13:44:29Z

## Response 400 fields (application/json):

  - `status` (string, required)

  - `message` (array, required)
    An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request.

## Response 403 fields (application/json):

  - `status` (string, required)

  - `message` (array, required)
    An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request.

## Response 409 fields (application/json):

  - `status` (string, required)

  - `message` (array, required)
    An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request.

## Response 429 fields (application/json):

  - `status` (string, required)

  - `message` (array, required)
    An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request.

## Response 500 fields (application/json):

  - `status` (string, required)

  - `message` (array, required)
    An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request.

