***

title: Order a terminal
icon: cart-plus
published: false
intro: Order a terminal for a processing account.
---------------------

For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.payroc.com/full-stack-guides/board-merchants/boarding/llms.txt. For full documentation content, see https://docs.payroc.com/full-stack-guides/board-merchants/boarding/llms-full.txt.

<Warning>
  **Important:**

   These documents are an early draft and are subject to change.
</Warning>

<Note>
  To order a terminal, you need the 

  `processingAccountId`

   of the account you want to order the terminal for. To get the 

  `processingAccountId`

  , go to 

  [Retrieve Merchant Platform](/api/resources#getMerchantAcccounts)

  .
</Note>

To order one or more terminals for a processing account, provide the following information:

* Training provider who will train the merchant to use the solution.
* Shipping address for hardware devices and peripheral devices.
* Solution details for each terminal including gateway settings, device settings, and application settings.

<Note>
  To receive a notification when we change the status of a terminal order, subscribe to our terminalOrder.status.changed event. For more information about how to subscribe to an event, go to 

  [Create a Subscription](/guides/board-merchants/event-subscriptions/create-an-event-subscription)

  .
</Note>

## Integration steps

* Create a terminal order.

## Before you begin

### Bearer tokens

Use our Identity Service to generate a Bearer token to include in the header of your requests. To generate your Bearer token, complete the following steps:

1. Include your API key in the x-api-key parameter in the header of a POST request.
2. Send your request to [https://identity.payroc.com/authorize](https://identity.payroc.com/authorize).

<Note>
  **Note:** You need to generate a new Bearer token before the previous Bearer token expires.
</Note>

#### Example request

```sh
curl --location --request POST  'https://identity.payroc.com/authorize' --header 'x-api-key: <api key>'
```

#### Example response

If your request is successful, we return a response that contains your Bearer token, information about its scope, and when it expires.

```json
{
  "access_token": "eyJhbGc....adQssw5c",
  "expires_in": 3600,
  "scope": "service_a service_b",
  "token_type": "Bearer"
}
```

### Headers

To create the header of each POST request, you must include the following parameters:

* **Content-Type:** Include application/json as the value for this parameter.
* **Authorization:** Include your Bearer token in this parameter.
* **Idempotency-Key:** Include a UUID v4 to make the request idempotent.

```sh
curl
  -H "Content-Type: application/json"
  -H "Authorization: <Bearer token>"
  -H "Idempotency-Key: <UUID v4>"
```

### Errors

If your request is unsuccessful, we return an error. For more information about errors, see [Errors](/api/errors).

## Create a terminal order

To order a terminal, send a POST request to our processing accounts endpoint.

| Endpoint   | Prefix     | URL                                                                                                                                                                                  |
| :--------- | :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Test       | `api.uat.` | [https://api.uat.payroc.com/v1/processing-accounts/\{processingAccountId}/terminal-orders](https://api.uat.payroc.com/v1/processing-accounts/\{processingAccountId}/terminal-orders) |
| Production | `api.`     | [https://api.payroc.com/v1/processing-accounts/\{processingAccountId}/terminal-orders](https://api.payroc.com/v1/processing-accounts/\{processingAccountId}/terminal-orders)         |

### Request parameters

To create the body of your request, use the following parameters:

<EndpointSchemaSnippet endpoint="POST /processing-accounts/{processingAccountId}/terminal-orders" selector="request.body" />

### Example request

<EndpointRequestSnippet endpoint="POST /processing-accounts/{processingAccountId}/terminal-orders" />

### Response fields

If the request is successful, we create the terminal order and return the following response:

**Status code 201**

Successful request. We created the terminal order.

<EndpointSchemaSnippet endpoint="POST /processing-accounts/{processingAccountId}/terminal-orders" selector="response.body" />

### Example response

<EndpointResponseSnippet endpoint="POST /processing-accounts/{processingAccountId}/terminal-orders" />