# Create terminal

Creates a new terminal (POS device).
**Required scope:** terminal:create

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

## Security:

  - `accountId` (unknown)
    apiKey in header AccountId

  - `apiKey` (unknown)
    apiKey in header ApiKey

## Request body:

  - `application/json` (unknown)
    Terminal object to create a new terminal

## 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"

## Request examples:

  - `Create a Terminal` (unknown)

## Response 201:

  - `201` (unknown)
    Created

## 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:

  - `400` (unknown)
    Bad Request

## 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:

  - `403` (unknown)
    Forbidden

## 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 403 fields (application/xml):

  - `message` (array)

## Response 409:

  - `409` (unknown)
    Conflict

## 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:

  - `429` (unknown)
    Too Many Requests

## 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:

  - `500` (unknown)
    Internal Server Error

## 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.

## Response 201 examples:

  - `Success` (unknown)
    Success

## Response 403 examples:

  - `Wrong credentials provided` (unknown)

## Response 409 examples:

  - `Resource conflict example` (unknown)

## Response 429 examples:

  - `Rate limit exceeded` (unknown)

## Response 500 examples:

  - `Internal error` (unknown)

