# List Terminals

Retrieves all terminals associated with a specific merchant location.

### Endpoint

`GET https://api.test.devs.beadpay.io/Locations/{locationId}/terminals`

### Authentication

Use your **admin API key** in the request header for terminal management operations.

### Request headers

| Header      | Value              |
| ----------- | ------------------ |
| `X-Api-Key` | `{adminApiKey}`    |
| `Accept`    | `application/json` |

### Path parameter

| Name         | Type   | Description                                                  |
| ------------ | ------ | ------------------------------------------------------------ |
| `locationId` | string | Identifier of the merchant location that owns the terminals. |

### Query parameters

This endpoint does not require query parameters. It returns all terminals for the specified location.

### Example request

```bash
curl --request GET "https://api.test.devs.beadpay.io/Locations/67f00123456789abcdef0123/terminals" \
  --header "X-Api-Key: {adminApiKey}" \
  --header "Accept: application/json"
```

### Example response

```json
[
  {
    "id": "67f10123456789abcdef0456",
    "name": "Front Counter 1",
    "description": "Primary checkout terminal",
    "merchantId": "67e90123456789abcdef0001",
    "merchantStatus": "active",
    "type": "virtual",
    "merchantLocationId": "67f00123456789abcdef0123",
    "merchantLocation": {
      "id": "67f00123456789abcdef0123",
      "name": "Main Store",
      "address": {
        "address1": "123 Main St",
        "city": "Boston",
        "region": "MA",
        "country": "US",
        "postalCode": "02110"
      },
      "isEnabled": true
    },
    "displayLogo": true,
    "webhookUrl": "https://example.com/webhooks/terminal/67f10123456789abcdef0456",
    "isEnabled": true,
    "extendRedirectUrl": false,
    "tenderTypes": ["ethereum", "usdcBase"],
    "created": "2026-04-02T15:00:00Z",
    "updated": "2026-04-02T15:00:00Z",
    "maxTransactionAmount": 5000,
    "apiKey": {
      "secret": "pk_test_terminal_secret_value",
      "maskedSecret": "pk_****_value"
    },
    "useSandboxSharedWallet": true
  }
]
```

### Field descriptions

| Field                    | Type           | Description                                                           |
| ------------------------ | -------------- | --------------------------------------------------------------------- |
| `id`                     | string         | Terminal identifier.                                                  |
| `name`                   | string         | Friendly name for the terminal.                                       |
| `description`            | string         | Optional description for the terminal.                                |
| `merchantId`             | string         | Merchant that owns the terminal.                                      |
| `merchantStatus`         | string         | Current merchant status.                                              |
| `type`                   | string         | Terminal type, such as `virtual` or `physical`.                       |
| `merchantLocationId`     | string         | ID of the location that owns the terminal.                            |
| `merchantLocation`       | object         | Summary of the owning location.                                       |
| `displayLogo`            | boolean        | Indicates whether terminal branding is enabled where supported.       |
| `webhookUrl`             | string \| null | Terminal webhook URL, if configured.                                  |
| `isEnabled`              | boolean        | Indicates whether the terminal can create new payments.               |
| `extendRedirectUrl`      | boolean        | Redirect behavior setting for supported payment flows.                |
| `tenderTypes`            | array          | Tender types enabled for the terminal.                                |
| `created`                | string         | UTC ISO-8601 timestamp when the terminal was created.                 |
| `updated`                | string         | UTC ISO-8601 timestamp when the terminal was last updated.            |
| `maxTransactionAmount`   | number \| null | Optional maximum transaction amount for the terminal.                 |
| `apiKey`                 | object         | Terminal payments API key object. Treat `apiKey.secret` as sensitive. |
| `useSandboxSharedWallet` | boolean        | Sandbox wallet behavior setting for the terminal.                     |

### Notes

* Use this endpoint to review the terminals currently configured for a location.
* Use the terminal `id` from this response for follow-on terminal operations such as get, update, delete, webhook management, or cloning.
* Treat `apiKey.secret` as sensitive and do not expose it in logs or client-side code.
* Use your **admin API key** for terminal management operations. Use the terminal payments API key for payment activity performed by that terminal.

### Response codes

| Code  | Meaning                                                                                       |
| ----- | --------------------------------------------------------------------------------------------- |
| `200` | Terminals returned successfully. The array may be empty if the location has no terminals.     |
| `401` | The admin API key is missing or invalid.                                                      |
| `403` | The caller is authenticated but not permitted to access terminals for the specified location. |

### Related operations

* [Create Terminal](https://developers.bead.xyz/entity-management/terminal-management/create-terminal)
* [Get Terminal](https://developers.bead.xyz/entity-management/terminal-management/get-terminal)
* [Update Terminal](https://developers.bead.xyz/entity-management/terminal-management/update-terminal)
* [Delete Terminal](https://developers.bead.xyz/entity-management/terminal-management/delete-terminal)
* [Webhook Management](https://developers.bead.xyz/entity-management/terminal-management/webhook-management)
