# Delete Terminal

Deletes a terminal that is no longer needed and has no associated payment history.

Use this endpoint for cleanup of unused terminals. If a terminal has associated payments, it should not be deleted. Terminals with payment history are retained for auditability, reconciliation, reporting, and historical traceability.

### Endpoint

`DELETE https://api.test.devs.beadpay.io/Terminals/{id}`

### 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                                                                       |
| ---- | ------ | --------------------------------------------------------------------------------- |
| `id` | string | Terminal identifier returned by Create Terminal, List Terminals, or Get Terminal. |

### Request body

This endpoint does not require a request body.

### Example request

```bash
curl --request DELETE "https://api.test.devs.beadpay.io/Terminals/67f10123456789abcdef0456" \
  --header "X-Api-Key: {adminApiKey}" \
  --header "Accept: application/json"
```

### Success response

A successful delete returns:

`204 No Content`

No response body is returned on success.

### Before you delete

Use delete only when the terminal has not been used for payment activity and no longer needs to be retained.

If a terminal has associated payments, it should not be deleted. Instead:

* keep the terminal for audit and historical reference
* disable it so it cannot be used for new payment activity
* retain the terminal ID relationship for existing payment records

In practice, disabling the terminal is the better option when you want to stop future use but preserve historical payment integrity.

### Error responses

| Code  | Meaning                                                                                                                                         |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `204` | Terminal deleted successfully.                                                                                                                  |
| `400` | The request is invalid. A common example is attempting to delete a terminal that has associated payments and must be retained for auditability. |
| `401` | The admin API key is missing or invalid.                                                                                                        |
| `403` | The caller is authenticated but not permitted to delete the specified terminal.                                                                 |
| `404` | No terminal was found for the supplied `id`.                                                                                                    |

### Notes

* Deletion is intended for unused terminals.
* If you need to stop a terminal from being used without removing its history, update the terminal and set it to disabled instead.
* Historical payments should continue to reference the original terminal that created them.
* Deleting a terminal should not be used as a substitute for hiding or deactivating a terminal that already has transaction history.

### Related operations

* [List Terminals](/entity-management/terminal-management/list-terminals.md)
* [Get Terminal](/entity-management/terminal-management/get-terminal.md)
* [Update Terminal](/entity-management/terminal-management/update-terminal.md)
* [Reset Terminal API Key](/entity-management/terminal-management/reset-terminal-api-key.md)
* [Webhook Management](/entity-management/terminal-management/webhook-management.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.bead.xyz/entity-management/terminal-management/delete-terminal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
