{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ce9adf26-b1b9-44aa-a3fb-1ddcd8026ca2","name":"Ascend's Terminal API - v1.0.7","description":"The Terminal API is available to be used by applications running on payment terminals, tablets, or phones that integrate with the **Ascend Platform**. The platform supports two types of applications:\n\n- **Payment Apps**  \n    Apps that use features such as: sending transaction and receipt data to Ascend; retrieving Transaction History reports to display on the device; support for Terminal Users to add a level of control over who can perform refunds.\n    \n- **Distribution Apps**  \n    To support functionality such as: providing device theming; retrieving software profiles for terminal management; sending log files to Ascend.\n    \n\n## Base URLs\n\nThe Terminal API has 2 base URLs to reflect this split:\n\n- **Distribution API**: {DISTRIBUTION_API_HOST}\n    \n- **Payment API**: {PAYMENTS_API_HOST}\n    \n\nPlease contact [implementations@miurapay.com](https://mailto:implementations@miurapay.com) for the latest URLs to use for development and testing purposes. Once you're ready to go live, the Implementations Team will provide the URLs to use against the Production instance of Ascend.\n\n## Authentication Overview\n\nThe Direct API supports two integration methods:\n\n- **Host to Host**: used in instances where requests are proxied through a back-end system.\n    \n- **Miura Device to Host**: for scenarios where partner's install their Android apps on the Miura device\n    \n\nIn a **Miura Device to Host** implementation, all messages to the Terminal API should be secured by mTLS. **\\[Note that mTLS has not been implemented yet\\]**\n\nIn a **Host to Host** implementation, Miura will provide the partner with an Ascend API key. This key is provided in a HTTP header (`x-login-source-key`) of the initial authentication request (`POST /login`) to the Distribution or Payment end-point. If the `login` request is successfully processed, a JWT will be issued which will be used as a bearer token for subsequent requests for the lifetime of the session.\n\n## Distribution End-Points Feature Overview\n\nThe below tables provide an overview as to which Distribution end-points should be used for specific features of the Ascend Platform:\n\n### EMV Configuration Distribution\n\nEMV Configuration retrieval is covered in the Ascend Terminal Distribution API section, the following URIs will need to be used:\n\n| URI | Description | Request In This Collection |\n| --- | --- | --- |\n| `GET /status` | Retrieves the status of the device within the Ascend Platform. The Response indicates whether an EMV configuration update is required for the device | Distribution End-Points > Configurations > GET Device Status |\n| `GET /v2/configuration/emv/file` | If the response to the GET /status indicates that EMV Configuration is required, this end point is used to retrieve the URL to download the zip file required for the device. | Distribution End-Points > Configurations > GET Retrieve MPI/EMV Config Zip CDN URL |\n| `GET [downloadUrl]` | Downloads the ZIP file to install. | Distribution End-Points > Configurations > Download MPI/EMV Config Zip from CDN |\n| `POST /webhooks` | Once the config has been installed, confirmation of the update to the device should be sent to the Ascend Platform using this URI. | Distribution End-Points > Configurations > POST Confirm MPI/EMV Config Installation |\n\n### App & Firmware Distribution\n\nFor App & Firmware management functionality, refer to the Ascend Terminal Distribution API section and review the following request:\n\n| URI | Description | Request In This Collection |\n| --- | --- | --- |\n| `GET /profile` | Retrieves the profile for the device. The response includes all apps and firmware that should be installed upon the device. The requestor should then compare what is running on the device and then use the URLs provided in the profile to download any packages it needs to install upon the device. | Distribution End-Points > Software Profiles > GET Retrieve Profile |\n\n### RKL (Remote Key Loading)\n\nFor Remote Key Loading functionality, refer to the Ascend Terminal Distribution API section and review the following requests:\n\n| URI | Description | Request In This Collection |\n| --- | --- | --- |\n| `GET /configuration/status` | Retrieves the status of the device within the Ascend Platform. The Response indicates whether a key update is required | Distribution End-Points > Configurations >GET Retrieve RKI Key Status |\n| `POST /remote-keys/inject` | If GET /status indicates a key update is needed, this POST is sent to request the keys from the Ascend Platform. The response includes the keys to be installed on the requesting device. | Distribution End-Points > Configurations > POST Request Keys |\n| `POST /webhooks` | Once keys are installed, the Ascend Platform needs to be notified. | Distribution End-Points > Configurations > POST Confirm Key Installation |\n\n## Payments End-Points Feature Overview\n\nThe below tables provide an overview as to which Payments end-points should be used for specific features of the Ascend Platform:\n\n### Payment Application Configurations\n\nConfigurations retrieval is covered in the Ascend Terminal Payments API section, the following URIs will need to be used:\n\n| URI | Description | Request In This Collection |\n| --- | --- | --- |\n| `GET /configuration/status` | Retrieves the configuration status of the device within the Ascend Platform. The Response indicates whether any configuration updates are required for the device | Payments End-Points > Configurations > GET Config Status Check |\n| `GET /v2/settings` | If a settings update is required, this end point is used to retrieve the settings. | Payments End-Points > Configurations > GET Retrieve Settings |\n| `GET /configuration/theme` | If a theme update is required, this end point is used to retrieve the theme. | Payments End-Points > Configurations > GET Retrieve Theme |\n| `GET /configuration/connector/{{applicationVersionRef}}` | If a theme connector config update is required, this end point is used to retrieve the config. | Payments End-Points > Configurations > GET Retrieve Connector Config |\n| POST /webhooks | Once any of the configs have been retrieved and applied, confirmation of the update to the device should be sent to the Ascend Platform using this URI. | Payments End-Points > Configurations > POST Confirm Settings/Theme/Connector Config |\n\n### Send Transactions Info to Ascend\n\nWhen transaction information is sent to Ascend, transactions processed by the payment application can be viewed, searched, and analyzed in the Ascend Portal for troubleshooting purposes. Reports can also be generated, viewed, and exported directly from the portal.\n\n| URI | Description | Request In This Collection |\n| --- | --- | --- |\n| POST /webhooks | This endpoint is used to send Transaction info to Ascend | Payments End-Points > Configurations > POST Send Transaction Info to Ascend |\n\nThe Ascend Terminal Distribution API and Ascend Terminal Payments API sections provide more detailed guidance on these resources including how to authenticate.\n\n---\n\n### Change Control\n\nAll notable changes to Ascend Terminal API's Postman collection will be documented here.  \n_The format is based on_ [<i>Keep a Changelog</i>](https://keepachangelog.com/en/1.0.0/)_._\n\n#### \\[1.0.7\\] - 2026-06-09\n\n| Type | Description |\n| --- | --- |\n| **Added** | \\- Note saying that mTLS has not been implemented yet.  <br>\\- Payments End-Points  <br>\\- API version added to the documentation title.  <br>\\- Added Distribution End-Points > Configurations > Confirm Theme |\n| **Changed** | \\- Updated the Introduction to include the Payment End-Points high level descriptions  <br>\\- Moved Log Upload and Upload Device Metrics under Distribution End-Points > Support functions |\n\n#### \\[1.0.6\\] - 2025-10-01\n\n| Type | Description |\n| --- | --- |\n| **Changed** | No changes |\n\n#### \\[1.0.5\\] - 2025-09-19\n\n| Type | Description |\n| --- | --- |\n| **Added** | \\- GET Retrieve MPI/EMV Config Zip CDN URL  <br>\\- GET Download MPI/EMV Config Zip from CDN  <br>  <br>(In the Distribution End-Points > Configurations folder) |\n| **Changed** | \\- Updated the documentation with the new endpoints.  <br>\\- Deprecated Download MPI/EMV Config Zip endpoint |\n| **Removed** | \\- Payments End-Points as they are not currently used |\n\n#### \\[1.0.4\\] - 2025-08-07\n\n| Type | Description |\n| --- | --- |\n| **Added** | \\- MPI/EMV Configuration URIs to the Distribution API (In the Distribution End-Points > Configurations folder) |\n| **Changed** | \\- Distribution End-Points > Configurations > GET Retrieve RKI Key Status has been relabelled GET Device Status and the documentation enhanced. |\n\n#### \\[1.0.3\\] - 2025-06-19\n\n| Type | Description |\n| --- | --- |\n| **Added** | \\- Change Control section added to the top of level folder (Ascend's Terminal API)  <br>\\- Added some scripts to _Distribution End-Points > Configurations > GET Retrieve RKI Key Status_ and _POST Request Keys_ to better illustrate how the GET's query string is dependant upon whether a key group name has been provided by Ascend. |\n| **Changed** | \\- Added clarification around file type/size in documentation for _Distribution End-Points > Log Upload > POST Log Upload_  <br>\\- Updated documentation for _Distribution End-Points > Configurations > GET Retrieve RKI Key Status_ and _Distribution End-Points > Configurations > POST Request Keys_ to confirm the logic around key group name information and how it should be used. |\n\n#### \\[1.0.2\\] - 2025-06-05\n\n| Type | Description |\n| --- | --- |\n| **Added** | \\- Documentation for `GET Download EMV Config Zip` in _Payment End-Points > MPI/EMV Configuration_  <br>\\- Script for zip file retrieval based on API response |\n| **Changed** | \\- Updated `POST Request Keys` (Distribution End-Points) to warn about future deprecation of `keyHostIndex` and `suggestedIKSN`  <br>\\- Clarified `compressedFileUrl` usage in `GET Retrieve Config` |\n\n#### \\[1.0.1\\] - 2025-06-02\n\n| Type | Description |\n| --- | --- |\n| **Changed** | \\- Fixed typos throughout  <br>\\- Removed deprecated `deviceGroup` from `POST Request Keys`  <br>\\- Moved `keyGroupName` to query param in `GET Retrieve RKI Key Status`  <br>\\- Moved `emvConfigRef` to query param in `GET Status Check` |\n\n#### \\[1.0.0\\] - 2025-05-23\n\n| Type | Description |\n| --- | --- |\n| **Added** | \\- Initial Release  <br>\\- Endpoints for Distribution API  <br>\\- Endpoints for Terminal API |\n\n---","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"20908367","team":3453742,"collectionId":"ce9adf26-b1b9-44aa-a3fb-1ddcd8026ca2","publishedId":"2sBXwtqpMb","public":true,"publicUrl":"https://terminal-api-docs.miurapay.cloud","privateUrl":"https://go.postman.co/documentation/20908367-ce9adf26-b1b9-44aa-a3fb-1ddcd8026ca2","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/4d5b1d60-032c-432e-b213-951f1c5f54d7/ZGVmYXVsdC1sb2dvLnBuZw==","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/4d5b1d60-032c-432e-b213-951f1c5f54d7/ZGVmYXVsdC1sb2dvLnBuZw==","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.11.8","publishDate":"2026-06-17T13:22:49.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/4d5b1d60-032c-432e-b213-951f1c5f54d7/ZGVmYXVsdC1sb2dvLnBuZw==","logoDark":"https://content.pstmn.io/4d5b1d60-032c-432e-b213-951f1c5f54d7/ZGVmYXVsdC1sb2dvLnBuZw=="}},"statusCode":200},"environments":[{"name":"DEMO","id":"5729d4fa-eaf2-4590-9df3-8acb494ac503","owner":"20908367","values":[{"key":"API_HOST","value":"https://portal.demo.miurapay.cloud/api/v1","enabled":true,"type":"default"},{"key":"TEMINAL_API_HOST","value":"https://portal.demo.miurapay.cloud","enabled":true,"type":"default"},{"key":"ORG_API_KEY","value":"API_KEY","enabled":true,"type":"secret"},{"key":"DEVICE_API_HOST","value":"https://terminal.demo.miurapay.cloud","enabled":true,"type":"default"},{"key":"DISTRIBUTION_API_HOST","value":"https://terminal-software-distribution.demo.miurapay.cloud","enabled":true,"type":"default"},{"key":"PAYMENTS_API_HOST","value":"https://portal.demo.miurapay.cloud","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/55c9b2fa2ae4fbb6031a0bad6a5f261079c982e9ebbde6f0868e3249a9e4777d","favicon":"https://miurapay.cloud/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"DEMO","value":"20908367-5729d4fa-eaf2-4590-9df3-8acb494ac503"}],"canonicalUrl":"https://terminal-api-docs.miurapay.cloud/view/metadata/2sBXwtqpMb"}