{"title":"Automate the management of your terminals","category":"default","creationDate":1619007600,"content":"<p>In your Customer Area, you can <a href=\"\/pt\/point-of-sale\/managing-terminals\">manually<\/a> order, assign, and configure terminals, and schedule actions like installing Android apps. However, doing this manually can be too time-consuming or impractical.<\/p>\n<p>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 <a href=\"\/pt\/point-of-sale\/managing-terminals\/board-terminal\">board the terminal<\/a>. You can also schedule terminal actions through API.<\/p>\n<h2 id=\"authentication\">API key and roles<\/h2>\n<p>Using  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/overview\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Management API<\/a>, you can order, assign, and configure terminals, and schedule terminal actions. To authenticate your requests, you need an <a href=\"\/pt\/development-resources\/api-credentials\">API credential<\/a>. This API credential must have an <a href=\"\/pt\/development-resources\/api-credentials#generate-api-key\">API key<\/a>.<\/p>\n<div class=\"notices blue\">\n<p>If you are using a Terminal API integration with <a href=\"\/pt\/point-of-sale\/design-your-integration\/choose-your-architecture#cloud-communications\">cloud-based communications<\/a>, you can use the existing API key that you use for Terminal API requests.<\/p>\n<\/div>\n<p>Your API credential must also have specific <a href=\"\/pt\/development-resources\/api-credentials#api-permissions\">roles<\/a>, depending on what you want to do.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Task<\/th>\n<th style=\"text-align: left;\">Roles<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Order terminals<\/td>\n<td style=\"text-align: left;\">Management API\u2014Terminal ordering read <br> Management API\u2014Terminal ordering read and write<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Assign terminals<\/td>\n<td style=\"text-align: left;\">Management API\u2014Stores read <br> Management API\u2014Stores read and write<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Configure terminals<\/td>\n<td style=\"text-align: left;\">Management API\u2014Terminal settings read <br> Management API\u2014Terminal settings read and write <br> Management API\u2014Terminal settings Advanced read and write<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Schedule terminal actions<\/td>\n<td style=\"text-align: left;\">Management API\u2014Terminal actions read <br> Management API\u2014Terminal actions read and write<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Rate limits in the live environment<\/h2>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>When a Management API request fails due to exceeding a rate limit, the response includes <code>\"detail\": \"too many requests\"<\/code>.<\/p>\n<pre><code class=\"language-json\">{\n    \"type\": \"https:\/\/docs.adyen.com\/errors\/internal\",\n    \"title\": \"An internal error happened\",\n    \"status\": 500,\n    \"detail\": \"too many requests\",\n    \"errorCode\": \"00_500\"\n}<\/code><\/pre>\n<p>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.<\/p>\n<p>The live base URL for all these endpoints is <code>https:\/\/management-live.adyen.com\/v{version_number}<\/code>.<\/p>\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#company-endpoints-and-rate-limits\">\n                                    <h3 class=\"adl-accordion__title\">Company endpoints and rate limits<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<table>\n<tr><th colspan=\"2\">Total 160 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Upload Android app<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/androidApps\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/androidApps<\/a><\/td><\/tr>\n<tr><td>Upload Android certificate<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/androidCertificates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/androidCertificates<\/a><\/td><\/tr>\n<\/table>\n<table>\n<tr><th colspan=\"2\">Total 2000 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Get a list of Android apps<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/androidApps\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/androidApps<\/a><\/td><\/tr>\n<tr><td>Get an Android app<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/androidApps\/(id)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/androidApps\/{id}<\/a><\/td><\/tr>\n<tr><td>Reprocess an Android app<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/companies\/(companyId)\/androidApps\/(id)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/androidApps\/{id}<\/a><\/td><\/tr>\n<tr><td>Get a list of Android certificates<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/androidCertificates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/androidCertificates<\/a><\/td><\/tr>\n<tr><td>Get a list of billing entities<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/billingEntities\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/billingEntities<\/a><\/td><\/tr>\n<tr><td>Get a list of shipping locations<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/shippingLocations\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/shippingLocations<\/a><\/td><\/tr>\n<tr><td>Create a shipping location<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/companies\/(companyId)\/shippingLocations\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/shippingLocations<\/a><\/td><\/tr>\n<tr><td>Get a list of terminal actions<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalActions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalActions<\/a><\/td><\/tr>\n<tr><td>Get a terminal action<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalActions\/(actionId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalActions\/{actionId}<\/a><\/td><\/tr>\n<tr><td>Get the terminal logo<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalLogos<\/a><\/td><\/tr>\n<tr><td>Update the terminal logo<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/companies\/(companyId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalLogos<\/a><\/td><\/tr>\n<tr><td>Get a list of terminal models<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalModels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalModels<\/a><\/td><\/tr>\n<tr><td>Get a list of orders<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalOrders\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalOrders<\/a><\/td><\/tr>\n<tr><td>Create an order<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/companies\/(companyId)\/terminalOrders\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalOrders<\/a><\/td><\/tr>\n<tr><td>Get an order<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalOrders\/(orderId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalOrders\/{orderId}<\/a><\/td><\/tr>\n<tr><td>Update an order<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/companies\/(companyId)\/terminalOrders\/(orderId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalOrders\/{orderId}<\/a><\/td><\/tr>\n<tr><td>Cancel an order<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/companies\/(companyId)\/terminalOrders\/(orderId)\/cancel\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalOrders\/{orderId}\/cancel<\/a><\/td><\/tr>\n<tr><td>Get a list of terminal products<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalProducts\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalProducts<\/a><\/td><\/tr>\n<tr><td>Get terminal settings<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalSettings<\/a><\/td><\/tr>\n<tr><td>Update terminal settings<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/companies\/(companyId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/companies\/{companyId}\/terminalSettings<\/a><\/td><\/tr>\n<\/table>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#merchant-endpoints-and-rate-limits\">\n                                    <h3 class=\"adl-accordion__title\">Merchant endpoints and rate limits<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<table>\n<tr><th colspan=\"2\">Total 160 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Create a store<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/merchants\/(merchantId)\/stores\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores<\/a><\/td><\/tr>\n<tr><td>Update a store<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/stores\/(storeId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores\/{storeId}<\/a><\/td><\/tr>\n<\/table>\n<table>\n<tr><th colspan=\"2\">Total 2000 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Get a list of billing entities<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/billingEntities\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/billingEntities<\/a><\/td><\/tr>\n<tr><td>Get a list of shipping locations<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/shippingLocations\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/shippingLocations<\/a><\/td><\/tr>\n<tr><td>Create a shipping location<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/merchants\/(merchantId)\/shippingLocations\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/shippingLocations<\/a><\/td><\/tr>\n<tr><td>Get a list of stores<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/stores\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores<\/a><\/td><\/tr>\n<tr><td>Get a store<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/stores\/(storeId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores\/{storeId}<\/a><\/td><\/tr>\n<tr><td>Get the terminal logo<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalLogos<\/a> <br> GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/stores\/(reference)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores\/{reference}\/terminalLogos<\/a> <\/td><\/tr>\n<tr><td>Update the terminal logo<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalLogos<\/a> <br> PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/stores\/(reference)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores\/{reference}\/terminalLogos<\/a> <\/td><\/tr>\n<tr><td>Get a list of terminal models<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalModels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalModels<\/a><\/td><\/tr>\n<tr><td>Get a list of orders<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalOrders\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalOrders<\/a><\/td><\/tr>\n<tr><td>Create an order<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/merchants\/(merchantId)\/terminalOrders\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalOrders<\/a><\/td><\/tr>\n<tr><td>Get an order<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalOrders\/(orderId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalOrders\/{orderId}<\/a><\/td><\/tr>\n<tr><td>Update an order<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/terminalOrders\/(orderId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalOrders\/{orderId}<\/a><\/td><\/tr>\n<tr><td>Cancel an order<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/merchants\/(merchantId)\/terminalOrders\/(orderId)\/cancel\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalOrders\/{orderId}\/cancel<\/a><\/td><\/tr>\n<tr><td>Get a list of terminal products<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalProducts\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalProducts<\/a><\/td><\/tr>\n<tr><td>Get terminal settings<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalSettings<\/a> <br> GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/stores\/(reference)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores\/{reference}\/terminalSettings<\/a><\/td><\/tr>\n<tr><td>Update terminal settings<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/terminalSettings<\/a> <br> PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/merchants\/(merchantId)\/stores\/(reference)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/merchants\/{merchantId}\/stores\/{reference}\/terminalSettings<\/a><\/td><\/tr>\n<\/table>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#store-endpoints-and-rate-limits\">\n                                    <h3 class=\"adl-accordion__title\">Store endpoints and rate limits<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<table>\n<tr><th colspan=\"2\">Total 160 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Create a store<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/stores\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores<\/a><\/td><\/tr>\n<tr><td>Update a store<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/stores\/(storeId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores\/{storeId}<\/a><\/td><\/tr>\n<tr><td>Update the terminal logo<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/stores\/(storeId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores\/{storeId}\/terminalLogos<\/a><\/td><\/tr>\n<\/table>\n<table>\n<tr><th colspan=\"2\">Total 2000 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Get a list of stores<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/stores\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores<\/a><\/td><\/tr>\n<tr><td>Get a store<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/stores\/(storeId)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores\/{storeId}<\/a><\/td><\/tr>\n<tr><td>Get the terminal logo<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/stores\/(storeId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores\/{storeId}\/terminalLogos<\/a><\/td><\/tr>\n<tr><td>Get terminal settings<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/stores\/(storeId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores\/{storeId}\/terminalSettings<\/a><\/td><\/tr>\n<tr><td>Update terminal settings<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/stores\/(storeId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/stores\/{storeId}\/terminalSettings<\/a><\/td><\/tr>\n<\/table>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#terminal-endpoints-and-rate-limits\">\n                                    <h3 class=\"adl-accordion__title\">Terminal endpoints and rate limits<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<table>\n<tr><th colspan=\"2\">160 requests\/minute rate limit for the following endpoint<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Reassign a terminal<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/terminals\/(terminalId)\/reassign\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals\/{terminalId}\/reassign<\/a><\/td><\/tr>\n<\/table>\n<table>\n<tr><th colspan=\"2\">Total 2000 requests\/minute rate limit for the following endpoints combined<\/th><\/tr>\n<tr><td><b>Action<\/b><\/td><td><b>Endpoint<\/b><\/td><\/tr>\n<tr><td>Get a list of terminals<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/terminals\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals<\/a><\/td><\/tr>\n<tr><td>Create a terminal action<\/td><td>POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/post\/terminals\/scheduleActions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals\/scheduleActions<\/a><\/td><\/tr>\n<tr><td>Get the terminal logo<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/terminals\/(terminalId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals\/{terminalId}\/terminalLogos<\/a><\/td><\/tr>\n<tr><td>Update the terminal logo<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/terminals\/(terminalId)\/terminalLogos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals\/{terminalId}\/terminalLogos<\/a><\/td><\/tr>\n<tr><td>Get terminal settings<\/td><td>GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/terminals\/(terminalId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals\/{terminalId}\/terminalSettings<\/a><\/td><\/tr>\n<tr><td>Update terminal settings<\/td><td>PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/terminals\/(terminalId)\/terminalSettings\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/terminals\/{terminalId}\/terminalSettings<\/a><\/td><\/tr>\n<\/table>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<h2>What do you want to do?<\/h2>\n<div class=\"next-steps\" id=\"next-steps\" >\n<a href=\"\/point-of-sale\/automating-terminal-management\/order-terminals-api\" class=\"next-steps__step\" style=\"width:45%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><img src=\"\/user\/themes\/adyen\/images\/illustrations\/delivery.svg\"><h6 class=\"next-steps__title\">Order terminals<\/h6><p>Make API requests to order payment terminals and accessories.<\/p><\/div><\/p><\/a><a href=\"\/point-of-sale\/automating-terminal-management\/assign-terminals-api\" class=\"next-steps__step\" style=\"width:45%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><img src=\"\/user\/themes\/adyen\/images\/illustrations\/store.svg\"><h6 class=\"next-steps__title\">Assign terminals<\/h6><p>Make API requests to assign payment terminals to a store.<\/p><\/div><\/p><\/a><a href=\"\/point-of-sale\/automating-terminal-management\/configure-terminals-api\" class=\"next-steps__step\" style=\"width:45%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><img src=\"\/user\/themes\/adyen\/images\/illustrations\/settings.svg\"><h6 class=\"next-steps__title\">Configure terminals<\/h6><p>Make API requests to configure payment terminals.<\/p><\/div><\/p><\/a><a href=\"\/point-of-sale\/android-terminals\/deploy-apps\/terminal-actions-api\" class=\"next-steps__step\" style=\"width:45%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><img src=\"\/user\/themes\/adyen\/images\/illustrations\/calendar-18.svg\"><h6 class=\"next-steps__title\">Schedule actions<\/h6><p>Make API requests to schedule actions on terminals.<\/p><\/div><\/p><\/a><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/automating-terminal-management","articleFields":{"description":"Use APIs to order, assign, and configure payment terminals.","feedback_component":true,"last_edit_on":"21-04-2021 14:23","robots":"noindex,nofollow"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/automating-terminal-management","title":"Automate the management of your terminals","content":"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.\nTo 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.\nAPI key and roles\nUsing  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.\n\nIf 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.\n\nYour API credential must also have specific roles, depending on what you want to do.\n\n\n\nTask\nRoles\n\n\n\n\nOrder terminals\nManagement API\u2014Terminal ordering read  Management API\u2014Terminal ordering read and write\n\n\nAssign terminals\nManagement API\u2014Stores read  Management API\u2014Stores read and write\n\n\nConfigure terminals\nManagement API\u2014Terminal settings read  Management API\u2014Terminal settings read and write  Management API\u2014Terminal settings Advanced read and write\n\n\nSchedule terminal actions\nManagement API\u2014Terminal actions read  Management API\u2014Terminal actions read and write\n\n\n\nRate limits in the live environment\nTo 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.\nFor 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.\nWhen a Management API request fails due to exceeding a rate limit, the response includes \"detail\": \"too many requests\".\n{\n    \"type\": \"https:\/\/docs.adyen.com\/errors\/internal\",\n    \"title\": \"An internal error happened\",\n    \"status\": 500,\n    \"detail\": \"too many requests\",\n    \"errorCode\": \"00_500\"\n}\nExpand 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.\nThe live base URL for all these endpoints is https:\/\/management-live.adyen.com\/v{version_number}.\n\n    \n    \n        \n            \n            \n                                    Company endpoints and rate limits\n                            \n        \n        \n            \n\nTotal 160 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nUpload Android appPOST  \/companies\/{companyId}\/androidApps\nUpload Android certificatePOST  \/companies\/{companyId}\/androidCertificates\n\n\nTotal 2000 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nGet a list of Android appsGET  \/companies\/{companyId}\/androidApps\nGet an Android appGET  \/companies\/{companyId}\/androidApps\/{id}\nReprocess an Android appPATCH  \/companies\/{companyId}\/androidApps\/{id}\nGet a list of Android certificatesGET  \/companies\/{companyId}\/androidCertificates\nGet a list of billing entitiesGET  \/companies\/{companyId}\/billingEntities\nGet a list of shipping locationsGET  \/companies\/{companyId}\/shippingLocations\nCreate a shipping locationPOST  \/companies\/{companyId}\/shippingLocations\nGet a list of terminal actionsGET  \/companies\/{companyId}\/terminalActions\nGet a terminal actionGET  \/companies\/{companyId}\/terminalActions\/{actionId}\nGet the terminal logoGET  \/companies\/{companyId}\/terminalLogos\nUpdate the terminal logoPATCH  \/companies\/{companyId}\/terminalLogos\nGet a list of terminal modelsGET  \/companies\/{companyId}\/terminalModels\nGet a list of ordersGET  \/companies\/{companyId}\/terminalOrders\nCreate an orderPOST  \/companies\/{companyId}\/terminalOrders\nGet an orderGET  \/companies\/{companyId}\/terminalOrders\/{orderId}\nUpdate an orderPATCH  \/companies\/{companyId}\/terminalOrders\/{orderId}\nCancel an orderPOST  \/companies\/{companyId}\/terminalOrders\/{orderId}\/cancel\nGet a list of terminal productsGET  \/companies\/{companyId}\/terminalProducts\nGet terminal settingsGET  \/companies\/{companyId}\/terminalSettings\nUpdate terminal settingsPATCH  \/companies\/{companyId}\/terminalSettings\n\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Merchant endpoints and rate limits\n                            \n        \n        \n            \n\nTotal 160 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nCreate a storePOST  \/merchants\/{merchantId}\/stores\nUpdate a storePATCH  \/merchants\/{merchantId}\/stores\/{storeId}\n\n\nTotal 2000 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nGet a list of billing entitiesGET  \/merchants\/{merchantId}\/billingEntities\nGet a list of shipping locationsGET  \/merchants\/{merchantId}\/shippingLocations\nCreate a shipping locationPOST  \/merchants\/{merchantId}\/shippingLocations\nGet a list of storesGET  \/merchants\/{merchantId}\/stores\nGet a storeGET  \/merchants\/{merchantId}\/stores\/{storeId}\nGet the terminal logoGET  \/merchants\/{merchantId}\/terminalLogos  GET  \/merchants\/{merchantId}\/stores\/{reference}\/terminalLogos \nUpdate the terminal logoPATCH  \/merchants\/{merchantId}\/terminalLogos  PATCH  \/merchants\/{merchantId}\/stores\/{reference}\/terminalLogos \nGet a list of terminal modelsGET  \/merchants\/{merchantId}\/terminalModels\nGet a list of ordersGET  \/merchants\/{merchantId}\/terminalOrders\nCreate an orderPOST  \/merchants\/{merchantId}\/terminalOrders\nGet an orderGET  \/merchants\/{merchantId}\/terminalOrders\/{orderId}\nUpdate an orderPATCH  \/merchants\/{merchantId}\/terminalOrders\/{orderId}\nCancel an orderPOST  \/merchants\/{merchantId}\/terminalOrders\/{orderId}\/cancel\nGet a list of terminal productsGET  \/merchants\/{merchantId}\/terminalProducts\nGet terminal settingsGET  \/merchants\/{merchantId}\/terminalSettings  GET  \/merchants\/{merchantId}\/stores\/{reference}\/terminalSettings\nUpdate terminal settingsPATCH  \/merchants\/{merchantId}\/terminalSettings  PATCH  \/merchants\/{merchantId}\/stores\/{reference}\/terminalSettings\n\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Store endpoints and rate limits\n                            \n        \n        \n            \n\nTotal 160 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nCreate a storePOST  \/stores\nUpdate a storePATCH  \/stores\/{storeId}\nUpdate the terminal logoPATCH  \/stores\/{storeId}\/terminalLogos\n\n\nTotal 2000 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nGet a list of storesGET  \/stores\nGet a storeGET  \/stores\/{storeId}\nGet the terminal logoGET  \/stores\/{storeId}\/terminalLogos\nGet terminal settingsGET  \/stores\/{storeId}\/terminalSettings\nUpdate terminal settingsPATCH  \/stores\/{storeId}\/terminalSettings\n\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Terminal endpoints and rate limits\n                            \n        \n        \n            \n\n160 requests\/minute rate limit for the following endpoint\nActionEndpoint\nReassign a terminalPOST  \/terminals\/{terminalId}\/reassign\n\n\nTotal 2000 requests\/minute rate limit for the following endpoints combined\nActionEndpoint\nGet a list of terminalsGET  \/terminals\nCreate a terminal actionPOST  \/terminals\/scheduleActions\nGet the terminal logoGET  \/terminals\/{terminalId}\/terminalLogos\nUpdate the terminal logoPATCH  \/terminals\/{terminalId}\/terminalLogos\nGet terminal settingsGET  \/terminals\/{terminalId}\/terminalSettings\nUpdate terminal settingsPATCH  \/terminals\/{terminalId}\/terminalSettings\n\n\n        \n    \n\n\nWhat do you want to do?\n\nOrder terminalsMake API requests to order payment terminals and accessories.Assign terminalsMake API requests to assign payment terminals to a store.Configure terminalsMake API requests to configure payment terminals.Schedule actionsMake API requests to schedule actions on terminals.\n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"Automate the management of your terminals"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/point-of-sale","lvl2":"\/pt\/point-of-sale\/automating-terminal-management"},"levels":3,"category":"In-person payments","category_color":"green","tags":["Automate","management","terminals"]}}
