# Get terminal Retrieve a single terminal by its ID. > 🔑 Access with > > [API key](/reference/authentication) > > [Organization access token with **terminals.read**](/reference/authentication) > > [OAuth access with **terminals.read**](/reference/authentication) # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "Accepting payments", "version": "1.0.0", "license": { "name": "Attribution-NonCommercial-ShareAlike 4.0 International", "identifier": "CC-BY-NC-SA-4.0" } }, "servers": [ { "url": "https://api.mollie.com/v2" } ], "security": [ { "apiKey": [] }, { "organizationAccessToken": [] }, { "oAuth": [] } ], "paths": { "/terminals/{terminalId}": { "parameters": [ { "name": "terminalId", "description": "Provide the ID of the related terminal.", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^term_.+$", "example": "term_vytxeTZskVKR7C7WgdSP3d" } } ], "get": { "summary": "Get terminal", "x-speakeasy-name-override": "get", "tags": [ "Terminals API" ], "operationId": "get-terminal", "security": [ { "apiKey": [] }, { "organizationAccessToken": [ "terminals.read" ] }, { "oAuth": [ "terminals.read" ] } ], "description": "Retrieve a single terminal by its ID.\n\n> 🔑 Access with\n>\n> [API key](/reference/authentication)\n>\n> [Organization access token with **terminals.read**](/reference/authentication)\n>\n> [OAuth access with **terminals.read**](/reference/authentication)", "parameters": [ { "name": "testmode", "description": "Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`.\n\nTest entities cannot be retrieved when the endpoint is set to live mode, and vice versa.", "in": "query", "schema": { "type": "boolean", "example": false } } ], "responses": { "200": { "description": "The terminal object.", "content": { "application/hal+json": { "schema": { "type": "object", "required": [ "resource", "id", "mode", "profileId", "status", "brand", "model", "serialNumber", "currency", "description", "createdAt", "updatedAt", "_links" ], "properties": { "resource": { "type": "string", "description": "Indicates the response contains a terminal object. Will always contain the string `terminal` for this endpoint.", "readOnly": true, "default": "terminal" }, "id": { "allOf": [ { "type": "string", "pattern": "^term_.+$", "example": "term_vytxeTZskVKR7C7WgdSP3d" } ], "description": "The identifier uniquely referring to this terminal. Example: `term_7MgL4wea46qkRcoTZjWEH`.", "readOnly": true }, "mode": { "type": "string", "description": "Whether this entity was created in live mode or in test mode.\n\nPossible values: `live` `test`", "readOnly": true, "example": "live" }, "description": { "type": "string", "description": "A short description of the terminal. The description can be used as an identifier for the terminal. Currently, the description is set when the terminal is initially configured. It will be visible in the Mollie Dashboard, and it may be visible on the device itself depending on the device.", "maxLength": 255, "example": "Main Terminal" }, "status": { "allOf": [ { "type": "string", "description": "The status of the terminal.\n\nPossible values: `pending` `active` `inactive`", "x-enumDescriptions": { "pending": "The device has been linked to your account, but has not yet been activated. If you ordered a terminal\nfrom us, it may already become visible in your account with this status.", "active": "The terminal is fully configured and ready to accept payments.", "inactive": "The terminal has been deactivated. Deactivation happens for example if you returned the device to\nMollie, or if you requested to move it to another profile or organization." }, "example": "active" } ], "readOnly": true }, "brand": { "type": [ "string", "null" ], "example": "PAX", "description": "The brand of the terminal.\n\nPossible values: `PAX` `Tap`" }, "model": { "type": [ "string", "null" ], "example": "A920", "description": "The model of the terminal. For example for a PAX A920, this field's value will be `A920`.\n\nPossible values: `A35` `A77` `A920` `A920Pro` `IM30` `Tap`" }, "serialNumber": { "type": [ "string", "null" ], "example": "1234567890", "description": "The serial number of the terminal. The serial number is provided at terminal creation time." }, "currency": { "type": "string", "example": "EUR", "description": "The currency configured on the terminal, in ISO 4217 format. Currently most of our terminals are bound to a specific currency, chosen during setup." }, "profileId": { "type": "string", "description": "The identifier referring to the [profile](get-profile) this entity belongs to.\n\nMost API credentials are linked to a single profile. In these cases the `profileId` must not be sent in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.", "pattern": "^pfl_.+$", "example": "pfl_5B8cwPMGnU" }, "createdAt": { "type": "string", "description": "The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "readOnly": true, "example": "2024-03-20T09:13:37+00:00" }, "updatedAt": { "type": "string", "description": "The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.", "example": "2025-03-20T09:13:37+00:00" }, "_links": { "type": "object", "description": "An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.", "required": [ "self", "documentation" ], "properties": { "self": { "type": "object", "description": "In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "description": "The actual URL string.", "example": "https://..." }, "type": { "type": "string", "description": "The content type of the page or endpoint the URL points to.", "example": "application/hal+json" } } }, "documentation": { "type": "object", "description": "In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "description": "The actual URL string.", "example": "https://..." }, "type": { "type": "string", "description": "The content type of the page or endpoint the URL points to.", "example": "application/hal+json" } } } }, "readOnly": true } } }, "examples": { "get-terminal-200-1": { "summary": "The terminal object", "value": { "resource": "terminal", "id": "term_7MgL4wea46qkRcoTZjWEH", "mode": "live", "status": "active", "brand": "PAX", "model": "A920", "serialNumber": "1234567890", "currency": "EUR", "description": "Terminal #12345", "profileId": "pfl_QkEhN94Ba", "createdAt": "2022-02-12T11:58:35+00:00", "updatedAt": "2022-02-12T11:58:35+00:00", "_links": { "self": { "href": "...", "type": "application/hal+json" }, "documentation": { "href": "...", "type": "text/html" } } } } } } } }, "404": { "description": "No entity with this ID exists.", "content": { "application/hal+json": { "schema": { "type": "object", "description": "An error response object.", "required": [ "status", "title", "detail", "_links" ], "properties": { "status": { "type": "integer", "description": "The status code of the error message. This is always the same code as the status code of the HTTP message itself.", "minimum": 400, "maximum": 599, "example": 404 }, "title": { "type": "string", "description": "The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`.", "example": "Not Found" }, "detail": { "type": "string", "description": "A detailed human-readable description of the error that occurred.", "example": "The resource does not exist" }, "field": { "type": "string", "description": "If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue.", "example": "description" }, "_links": { "type": "object", "required": [ "documentation" ], "properties": { "documentation": { "type": "object", "description": "The URL to the generic Mollie API error handling guide.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "example": "https://docs.mollie.com/errors" }, "type": { "type": "string", "example": "text/html" } } } } } } }, "example": { "status": 404, "title": "Not Found", "detail": "No entity exists with token 'uct_abcDEFghij123456789'", "_links": { "documentation": { "href": "...", "type": "text/html" } } } } } } }, "x-readme": { "code-samples": [ { "language": "shell", "code": "curl -X GET https://api.mollie.com/v2/terminals/term_7MgL4wea46qkRcoTZjWEH \\\n -H \"Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\"" }, { "language": "php", "code": "setApiKey(\"live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\");\n\n$terminal = $mollie->send(new GetTerminalRequest(id: \"term_7MgL4wea46qkRcoTZjWEH\"));", "install": "composer require mollie/mollie-api-php" }, { "language": "node", "code": "/*\nWe don't have a Node.js code example for this\nAPI call yet.\n\nIf you have some time to spare, feel free to\nshare suggestions on our Discord:\nhttps://discord.gg/VaTVkXB4aQ\n*/", "install": "npm install @mollie/api-client" }, { "language": "python", "code": "from mollie.api.client import Client\n\nmollie_client = Client()\nmollie_client.set_api_key(\"live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\")\n\nterminal = mollie_client.terminals.get(\"term_7MgL4wea46qkRcoTZjWEH\")", "install": "pip install mollie-api-python" }, { "language": "ruby", "code": "# We don't have a Ruby code example for this\n# API call yet.\n#\n# If you have some time to spare, feel free to\n# share suggestions on our Discord:\n# https://discord.gg/VaTVkXB4aQ", "install": "gem install mollie-api-ruby" } ] } } } }, "components": { "securitySchemes": { "apiKey": { "type": "http", "scheme": "bearer", "x-default": "live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" }, "organizationAccessToken": { "type": "http", "scheme": "bearer", "x-default": "access_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" }, "oAuth": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://my.mollie.com/oauth2/authorize", "tokenUrl": "https://api.mollie.com/oauth2/tokens", "scopes": {} } } } } }, "x-readme": { "explorer-enabled": false, "samples-languages": [ "shell", "php", "node", "python", "ruby" ] } } ```