canonical: https://jentic.com/apis/adyen.com/adyen-pos-terminal-management

# Adyen POS Terminal Management API

The Adyen POS Terminal Management API administers the fleet of payment terminals in an Adyen merchant's estate. The five endpoints assign terminals to merchant accounts or stores, list terminals under an account, fetch the details of a specific terminal, find the account or store a terminal currently belongs to, and list the stores under an account. It is the back-office surface for terminal provisioning and reassignment, separate from the Terminal API that drives transactions.

## For AI agents

Provision, list, and reassign Adyen POS terminals across merchant accounts and stores via back-office terminal management endpoints.

## Scope

Does not drive in-store transactions, order new terminal hardware, or push firmware - use only for back-office terminal assignment, listing, and inspection.

## Capabilities

- Reassign one or more terminals to a merchant account or store via POST /assignTerminals
- List all terminals under a merchant account via POST /getTerminalsUnderAccount
- Inspect the configuration and status of a specific terminal via POST /getTerminalDetails
- Locate which account or store a terminal currently belongs to via POST /findTerminal
- List the stores under a merchant account via POST /getStoresUnderAccount
- Use the same X-API-Key or basic-auth model as the rest of Adyen's classic-platform back-office APIs

## Use cases

### Multi-Store Terminal Provisioning

Retail chains rolling out new stores order terminals from Adyen and then need to assign each terminal serial to the correct store before it goes live. POST /assignTerminals accepts a list of terminal IDs and the target merchantAccount or store, completing the assignment in one call. POST /getStoresUnderAccount lists the available stores so the agent or operator can choose the right destination.

Example prompt: Call POST /assignTerminals with terminals=[POIID list], merchantAccount, and store identifier to assign a batch of terminals to a new store

### Terminal Audit and Inventory

Operations teams need an accurate picture of where every terminal sits and what configuration it runs. POST /getTerminalsUnderAccount lists all terminals under a merchant account; POST /getTerminalDetails returns model, firmware, and assignment for a specific terminal. POST /findTerminal answers the inverse question - given a terminal ID, where is it currently assigned - which is essential for incident response when a terminal misbehaves at a particular store.

Example prompt: Call POST /getTerminalsUnderAccount with the merchantAccount, then POST /getTerminalDetails for any terminal flagged in the operations dashboard

### Terminal Move Between Stores

When a store reorganises or closes, terminals are moved to another location. POST /findTerminal locates the terminal's current assignment, POST /assignTerminals reassigns it to the destination store, and POST /getTerminalsUnderAccount confirms the new state. The whole move is back-office only - no firmware push or store visit is required for the assignment change itself.

Example prompt: Call POST /findTerminal with the POIID, then POST /assignTerminals to move it from the closing store to the destination store identifier

### AI Agent Estate Management via Jentic

An estate management agent that reconciles a quarterly inventory of terminals searches Jentic for 'list Adyen terminals under an account', loads the schema for /getTerminalsUnderAccount, and runs it for each merchant account in the corporate hierarchy. The agent compares the result against the asset register, flags missing or unassigned terminals, and proposes /assignTerminals calls for review. Jentic injects X-API-Key from the encrypted vault.

Example prompt: Search Jentic for 'list Adyen terminals under an account', load the getTerminalsUnderAccount schema, then execute once per merchantAccount in the corporate hierarchy

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /assignTerminals | Assign one or more terminals to a merchant account or store |
| POST | /getTerminalsUnderAccount | List all terminals under a merchant account |
| POST | /getTerminalDetails | Inspect a specific terminal's configuration |
| POST | /findTerminal | Find the account or store a terminal currently belongs to |
| POST | /getStoresUnderAccount | List the stores under a merchant account |

## Key resources

- **Terminals** — List terminals under an account, fetch terminal details, find a terminal's current assignment, and reassign terminals
- **Stores** — List the stores under a merchant account as targets for terminal assignment

## Why Jentic

- **Setup:** Wiring the POS Terminal Management API by hand means handling its X-API-Key or basic auth and targeting the terminal management test host for back-office assignment and inspection. Through Jentic you install once, import the POS Terminal Management API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** This API takes the terminal, store, and account references in the request body rather than a resource id in the URL path, so you limit the agent to the operations it needs, such as listing terminals under an account or getting terminal details. Because you pick the operations, assigning terminals stays out unless you include it.
- **Credential handling:** Your Adyen X-API-Key and basic auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'assign adyen terminals to a store' or 'list terminals under an account', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Adyen Terminal API** — Drive transactions on the terminals managed by this API
- **Adyen Management API** — Modern Management API covers terminals alongside accounts, users, and webhooks
- **Adyen Account API** — Manage account holders that hold the merchant accounts referenced here
- **Adyen Balance Platform API** — Modern platform for managing balance accounts and configuration

## FAQ

### What authentication does the POS Terminal Management API use?

The API supports an API key in the X-API-Key header (ApiKeyAuth) and HTTP Basic auth (BasicAuth) using web-service user credentials. Through Jentic, the credential is held encrypted in the vault and only a scoped execution token is exposed to the agent at runtime.

### Can I move a terminal between stores with this API?

Yes. POST /assignTerminals reassigns one or more terminals to a different merchantAccount or store identifier in one call. Use POST /findTerminal first to confirm the terminal's current assignment, then POST /getTerminalsUnderAccount on the destination to verify the move took effect.

### How is this different from the Terminal API?

The Terminal API drives in-flight transactions on a terminal - payments, reversals, displays, prints. The POS Terminal Management API is back-office only: assigning terminals to accounts and stores, listing them, and inspecting their config. The two APIs target different roles and use different base URLs.

### How do I list all terminals under a merchant account through Jentic?

Search Jentic for 'list Adyen terminals under an account', load the getTerminalsUnderAccount schema, then execute with the merchantAccount identifier. Jentic injects X-API-Key from the encrypted vault. Get an account through Jentic One, the self-hosted execution layer.

### What are the rate limits for the POS Terminal Management API?

Adyen does not publish a fixed numeric rate limit for Terminal Management in the spec; usage is administrative and rarely high-volume. If 429 responses appear, contact Adyen support to review the merchant account's quota.

### Can I list the stores under a merchant account?

Yes. POST /getStoresUnderAccount returns the stores configured under a merchantAccount, which is the standard input for /assignTerminals when you need to know which store identifier to use as the assignment target.

### Can I limit what my agent is allowed to do with the POS Terminal Management API?

Yes. Jentic One is self-hosted, so you decide which of this API's operations your agent may call, whether that is read-only work like POST /getTerminalsUnderAccount, POST /getTerminalDetails, and POST /findTerminal, or nothing more. Because the terminal, store, and account references travel in the request body rather than the URL path, and because you choose the operations, the write operation POST /assignTerminals stays out of reach unless you explicitly include it. Your Adyen credentials are held by your own instance and injected only at execution time, never exposed to the agent.
