---
title: "List terminal orders"
method: GET
path: "/processing-accounts/{processingAccountId}/terminal-orders"
tags: ["processingAccounts"]
---

# List terminal orders

`GET /processing-accounts/{processingAccountId}/terminal-orders`

Use this method to return a [paginated](https://docs.payroc.com/api/pagination) list of terminal orders associated with a processing account.  

**Note:** If you want to view the details of a specific terminal order and you have its terminalOrderId, use our [Retrieve Terminal Order](https://docs.payroc.com/api/schema/boarding/terminal-orders/retrieve) method.  

Use the query parameters to filter the list of results that we return, for example, to search for terminal orders by their status.  

To list the terminal orders for a processing account, you need its processingAccountId. If you don't have the processingAccountId, use our [List Merchant Platforms](https://docs.payroc.com/api/schema/boarding/merchant-platforms/list) method to search for a merchant platform and its processing accounts.

Our gateway returns the following information for each terminal order in the list:  

- Status of the order  
- Items in the order  
- Training provider  
- Shipping information  

For each terminal order, we also return its terminalOrderId, which you can use to perform follow-on actions.

## Path parameters

- `processingAccountId` string, required

## Query parameters

- `status` 'open' | 'held' | 'dispatched' | 'fulfilled' | 'cancelled' — Filter terminal orders by status.
- `fromDateTime` string, date-time
- `toDateTime` string, date-time

## Headers

- `Authorization` string, required

## Response `200`

Successful request. Returns a list of terminal orders associated with the processing account.

- TerminalOrder[]
  - `terminalOrderId` string, required — Unique identifier that we assigned to the terminal order.
  - `status` 'open' | 'held' | 'dispatched' | 'fulfilled' | 'cancelled', required — Status of the terminal order. **Note**: You can subscribe to our terminalOrder.status.changed event to get notifications when we update the status of a terminal order. For more information about how to subscribe to events, go to [Event Subscriptions](https://docs.payroc.com/guides/board-merchants/event-subscriptions).
  - `trainingProvider` 'partner' | 'payroc' — Indicates who provides training to the merchant for the solution.
  - `shipping` TerminalOrderShipping — Object that contains the shipping details for the terminal order. If you don't provide a shipping address, we use the Doing Business As (DBA) address of the processing account.
    - `preferences` TerminalOrderShippingPreferences — Object that contains the shipping preferences for the terminal order.
      - `method` 'nextDay' | 'ground' — Shipping method for the terminal order. Send one of the following values: - `nextDay` - We schedule the order to be delivered the next day. - `ground` - We ship the order with ground shipping.
      - `saturdayDelivery` boolean — Indicates if we can schedule the terminal order to be delivered on a Saturday.
    - `address` TerminalOrderShippingAddress — Object that contains the shipping address for the terminal order.
      - `recipientName` string, required — Name of the person receiving the shipment.
      - `businessName` string — Name of the business receiving the shipment.
      - `addressLine1` string, required — First line of the shipment address.
      - `addressLine2` string — Second line of the shipment address.
      - `city` string, required — City of the shipment address.
      - `state` string, required — State of the shipment address.
      - `postalCode` string, required — Postal code of the shipment address.
      - `email` string, email, required — Contact email address for the shipment.
      - `phone` string — Contact number for the shipment.
  - `orderItems` TerminalOrderOrderItemsItems[], required — Array of orderItem objects. Provide a minimum of 1 order item and a maximum of 20 order items.
    - `type` 'solution', required — Type of item.
    - `solutionTemplateId` string, required — Unique identifier of the solution. Send one of the following values: - `Roc Services_DX8000` - `Roc Services_DX4000` - `Roc Services_Web` - `Roc Services_Mobile` - `Payroc DX8000` - `Payroc DX4000` - `Payroc RX7000_Cloud` - `Payroc DX8000_Cloud` - `Payroc DX4000_Cloud` - `Payroc A920Pro` - `Payroc A80` - `Payroc A920Pro_Cloud` - `Payroc A80_Cloud` - `Roc Terminal Plus_N950` - `Roc Terminal Plus_N950-S` - `Roc Terminal Plus_X800` - `Gateway_Payroc` - `VAR_Only_TSYS` - `ROC Services Chipper3X` - `BBPOS Chipper 3X` - `Augusta EMV` - `Ingenico - AXIUM Full Functional Base` - `Pax A920 Charging Base` - `Pax A920 Comms Base` - `A920 Pro Ethernet` - `Axium Bundle`
    - `solutionQuantity` integer — Quantity of the solution.
    - `deviceCondition` 'new' | 'refurbished' — Indicates if the order contains a new item or a refurbished item.
    - `solutionSetup` TerminalOrderOrderItemsItemsSolutionSetup — Object that contains the settings for the solution, including gateway settings, device settings, and application settings.
      - `timezone` 'Pacific/Midway' | 'Pacific/Honolulu' | 'America/Anchorage' | 'America/Los_Angeles' | 'America/Denver' | 'America/Phoenix' | 'America/Chicago' | 'America/Indiana/Indianapolis' | 'America/New_York' — Time zone of the terminal. **Note**: If you don't send a value for this parameter, we use the time zone of the processing account.
      - `industryTemplateId` string — Unique identifier of the industry template you want to apply to the solution. Send one of the following values: - `Retail` - `Restaurant` - `Moto` - `Ecommerce`
      - `gatewaySettings` TerminalOrderOrderItemsItemsSolutionSetupGatewaySettings — Object that contains the gateway settings for the solution.
        - `merchantPortfolioId` string — Unique identifier of the merchant portfolio.
        - `merchantTemplateId` string — Unique identifier of the gateway merchant template.
        - `userTemplateId` string — Unique identifier of the gateway user template.
        - `terminalTemplateId` string — Unique identifier of the gateway terminal template.
      - `applicationSettings` TerminalOrderOrderItemsItemsSolutionSetupApplicationSettings — Object that contains the application settings for the solution.
        - `clerkPrompt` boolean — Indicates if the terminal should prompt the clerk, for example, if the terminal should prompt when the clerk needs to enter an amount on the terminal.
        - `security` TerminalOrderOrderItemsItemsSolutionSetupApplicationSettingsSecurity — Object that contains the password settings when running specific transaction types.
          - `refundPassword` boolean — Indicates if the terminal should prompt the clerk for a password when running a refund.
          - `keyedSalePassword` boolean — Indicates if the terminal should prompt the clerk for a password when running a keyed sale.
          - `reversalPassword` boolean — Indicates if the terminal should prompt the clerk for a password when cancelling a transaction.
      - `deviceSettings` TerminalOrderOrderItemsItemsSolutionSetupDeviceSettings — Object that contains the device settings if the solution includes a terminal or a peripheral device such as a printer.
        - `numberOfMobileUsers` integer — Number of users that we need to set up for mobile solutions.
        - `communicationType` 'bluetooth' | 'cellular' | 'ethernet' | 'wifi' — Method of connection between a terminal or a peripheral device and the host.
      - `batchClosure` union — Object that contains information about when and how the terminal closes the batch.
        - object — Indicates how the merchant batches their transactions.
          - `batchCloseType` 'automatic', required — Discriminator value: automatic
          - `batchCloseTime` string — Time that the batch automatically closes.
        - object — Indicates how the merchant batches their transactions.
          - `batchCloseType` 'manual', required — Discriminator value: manual
      - `receiptNotifications` TerminalOrderOrderItemsItemsSolutionSetupReceiptNotifications — Object that indicates if the terminal can send email receipts, text receipts, or both.
        - `emailReceipt` boolean — Indicates if the terminal can send receipts by email.
        - `smsReceipt` boolean — Indicates if the terminal can send receipts by text message.
      - `taxes` TerminalOrderOrderItemsItemsSolutionSetupTaxesItems[] — Array of tax objects that contains the taxes that apply to the merchant's transactions.
        - `taxRate` number, double, required — Rate of tax that the terminal applies to each transaction.
        - `taxLabel` string, required — Short description of the tax rate, for example, "Sales Tax".
      - `tips` TerminalOrderOrderItemsItemsSolutionSetupTips — Object that contains the tip options for transactions ran on the terminal.
        - `enabled` boolean — Indicates if the terminal can accept tips.
      - `tokenization` boolean — Indicates if the terminal can tokenize customer's payment details. For more information about tokenization, go to [Tokenization.](https://docs.payroc.com/knowledge/basic-concepts/tokenization)
    - `links` TerminalOrderOrderItemsItemsLinksItems[] — Array of objects that contain information about each processing terminal that the terminal order is linked to.
      - `processingTerminalId` string, required — Unique identifier that we assigned to the processing terminal.
      - `link` ProcessingTerminalSummaryLink, required — Array of links related to your request. For more information about HATEOAS, go to [Hypermedia as the engine of application state](https://docs.payroc.com/knowledge/basic-concepts/hypermedia-as-the-engine-of-application-state-hateoas).
        - `href` string, required — URL of the target resource.
        - `rel` string, required — Indicates the relationship between the current resource and the target resource.
        - `method` string, required — HTTP method that you need to use with the target resource.
  - `paymentIntent` PaymentIntentSummary — Object that contains information about who pays for the terminal order and how they are paying for it.
    - `paymentIntentId` string, required — Unique identifier that we assigned to the payment intent.
    - `paymentIntentType` 'purchase' | 'free' | 'loan', required — Type of payment intent.
    - `link` PaymentIntentSummaryLink, required — Array of useful links related to your request.
      - `href` string, required — The URL.
      - `rel` string, required — The link type.
      - `method` string, required — The REST method.
  - `createdDate` string, date-time, required — Date that we received the terminal order. We return this value in the [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
  - `lastModifiedDate` string, date-time, required — Date that the terminal order was last changed. We return this value in the [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.

## Other responses

- `400` — Invalid request
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `404` — Resource not found
- `406` — Not acceptable
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
