Terminal-2 icon

Automate the management of your terminals

Use APIs to order, assign, and configure payment terminals.

In your Customer Area, you can manually order, assign, and configure terminals, and schedule actions like installing Android apps. However, doing this manually can be too time-consuming or impractical.

To automate the management of terminals you can make API requests to order, assign, and configure terminals. Then, when the configured terminal is delivered to the store that it is assigned to, store staff only need to board the terminal. You can also schedule terminal actions through API.

API key and roles

Using Management API, you can order, assign, and configure terminals, and schedule terminal actions. To authenticate your requests, you need an API credential. This API credential must have an API key.

If you are using a Terminal API integration with cloud-based communications, you can use the existing API key that you use for Terminal API requests.

Your API credential must also have specific roles, depending on what you want to do.

Task Roles
Order terminals Management API—Terminal ordering read
Management API—Terminal ordering read and write
Assign terminals Management API—Stores read
Management API—Stores read and write
Configure terminals Management API—Terminal settings read
Management API—Terminal settings read and write
Management API—Terminal settings Advanced read and write
Schedule terminal actions Management API—Terminal actions read
Management API—Terminal actions read and write

Rate limits in the live environment

To ensure the stability of the live environment, we enforce rate limits on live Management API endpoints related to payment terminal management and stores. This means that when the number of requests you send exceeds a threshold within a time frame, additional requests are blocked until the time frame ends.

For example: if the rate limit is 160 requests per minute for a group of endpoints, things work as usual for the first 160 requests within the minute. But if you send another request to an endpoint in that same group in that same minute, the request fails. You need to wait until the minute ends before you retry the request.

When a Management API request fails due to exceeding a rate limit, the response includes "detail": "too many requests".

{
    "type": "https://docs.adyen.com/errors/internal",
    "title": "An internal error happened",
    "status": 500,
    "detail": "too many requests",
    "errorCode": "00_500"
}

Expand the following sections to see the rate limits per endpoint level. Note that these limits are indicative and can change as needed to maintain the stability of the live environment.

The live base URL for all these endpoints is https://management-live.adyen.com/v{version_number}.

Total 160 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Upload Android appPOST /companies/{companyId}/androidApps
Upload Android certificatePOST /companies/{companyId}/androidCertificates
Total 2000 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Get a list of Android appsGET /companies/{companyId}/androidApps
Get an Android appGET /companies/{companyId}/androidApps/{id}
Reprocess an Android appPATCH /companies/{companyId}/androidApps/{id}
Get a list of Android certificatesGET /companies/{companyId}/androidCertificates
Get a list of billing entitiesGET /companies/{companyId}/billingEntities
Get a list of shipping locationsGET /companies/{companyId}/shippingLocations
Create a shipping locationPOST /companies/{companyId}/shippingLocations
Get a list of terminal actionsGET /companies/{companyId}/terminalActions
Get a terminal actionGET /companies/{companyId}/terminalActions/{actionId}
Get the terminal logoGET /companies/{companyId}/terminalLogos
Update the terminal logoPATCH /companies/{companyId}/terminalLogos
Get a list of terminal modelsGET /companies/{companyId}/terminalModels
Get a list of ordersGET /companies/{companyId}/terminalOrders
Create an orderPOST /companies/{companyId}/terminalOrders
Get an orderGET /companies/{companyId}/terminalOrders/{orderId}
Update an orderPATCH /companies/{companyId}/terminalOrders/{orderId}
Cancel an orderPOST /companies/{companyId}/terminalOrders/{orderId}/cancel
Get a list of terminal productsGET /companies/{companyId}/terminalProducts
Get terminal settingsGET /companies/{companyId}/terminalSettings
Update terminal settingsPATCH /companies/{companyId}/terminalSettings
Total 160 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Create a storePOST /merchants/{merchantId}/stores
Update a storePATCH /merchants/{merchantId}/stores/{storeId}
Total 2000 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Get a list of billing entitiesGET /merchants/{merchantId}/billingEntities
Get a list of shipping locationsGET /merchants/{merchantId}/shippingLocations
Create a shipping locationPOST /merchants/{merchantId}/shippingLocations
Get a list of storesGET /merchants/{merchantId}/stores
Get a storeGET /merchants/{merchantId}/stores/{storeId}
Get the terminal logoGET /merchants/{merchantId}/terminalLogos
GET /merchants/{merchantId}/stores/{reference}/terminalLogos
Update the terminal logoPATCH /merchants/{merchantId}/terminalLogos
PATCH /merchants/{merchantId}/stores/{reference}/terminalLogos
Get a list of terminal modelsGET /merchants/{merchantId}/terminalModels
Get a list of ordersGET /merchants/{merchantId}/terminalOrders
Create an orderPOST /merchants/{merchantId}/terminalOrders
Get an orderGET /merchants/{merchantId}/terminalOrders/{orderId}
Update an orderPATCH /merchants/{merchantId}/terminalOrders/{orderId}
Cancel an orderPOST /merchants/{merchantId}/terminalOrders/{orderId}/cancel
Get a list of terminal productsGET /merchants/{merchantId}/terminalProducts
Get terminal settingsGET /merchants/{merchantId}/terminalSettings
GET /merchants/{merchantId}/stores/{reference}/terminalSettings
Update terminal settingsPATCH /merchants/{merchantId}/terminalSettings
PATCH /merchants/{merchantId}/stores/{reference}/terminalSettings
Total 160 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Create a storePOST /stores
Update a storePATCH /stores/{storeId}
Update the terminal logoPATCH /stores/{storeId}/terminalLogos
Total 2000 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Get a list of storesGET /stores
Get a storeGET /stores/{storeId}
Get the terminal logoGET /stores/{storeId}/terminalLogos
Get terminal settingsGET /stores/{storeId}/terminalSettings
Update terminal settingsPATCH /stores/{storeId}/terminalSettings
160 requests/minute rate limit for the following endpoint
ActionEndpoint
Reassign a terminalPOST /terminals/{terminalId}/reassign
Total 2000 requests/minute rate limit for the following endpoints combined
ActionEndpoint
Get a list of terminalsGET /terminals
Create a terminal actionPOST /terminals/scheduleActions
Get the terminal logoGET /terminals/{terminalId}/terminalLogos
Update the terminal logoPATCH /terminals/{terminalId}/terminalLogos
Get terminal settingsGET /terminals/{terminalId}/terminalSettings
Update terminal settingsPATCH /terminals/{terminalId}/terminalSettings

What do you want to do?