# Retrieves a device by ID

<span class="api-endpoint">GET {{<a href="#urlbases">baseURL</a>}}/pay-api/v1/devices/{{deviceId}}</span>
This endpoint retrieves the specified device.

Endpoint: GET /pay-api/v1/devices/{deviceId}
Version: V1
Security: Bearer

## Path parameters:

  - `deviceId` (string, required)
    <br>Specifies the device identifier.

## Response 200 fields (application/json):

  - `deviceId` (string)
    Indicates the device identifier.

Example: 7aafd09f-b3e6-43fb-b815-5db3bf7f1451
    Example: 7aafd09f-b3e6-43fb-b815-5db3bf7f1451

  - `deviceName` (string)
    Indicates the device name.

Example: iPhone12,1
    Example: iPhone12,1

  - `lastLoginAt` (string)
    Indicates the last log in time (in an ISO 8601 date-time UTC format).

Example: 2026-01-19T14:27:02.767105Z
    Example: 2026-01-19T14:27:02.767105Z

  - `apiKeyName` (string)
    Indicates the API key name being used.

Example: Peppared's Cafe Key
    Example: Peppared's Cafe Key

  - `tapToPayStatus` (string)
    Indicates the tap to pay status.
Valid values are:
| Tap To Pay status |
|  --- |
| Active |
| Approved |
| Denied |
| Inactive |
| Requested |

Example: Active
    Example: Active

  - `tapToPayStatusId` (integer)
    Indicates the tap to pay status identifier.
Valid values are:
| Id | Status |
|  --- | --- |
| 0 | Inactive |
| 1 | Requested |
| 2 | Approved |
| 3 | Active |
| 4 | Denied |

Example: 2
    Example: 2

  - `tapToPayEnabled` (boolean)
    Indicates tap to pay feature is enabled.
If `true`, tap to pay feature is enabled.
If `false`, tap to pay feature is not enabled.
Example: true
    Example: true

  - `userProfiles` (array)
    Profiles associated with this device

  - `userProfiles.id` (string)
    Indicates the user identifier.

Example: 04103b7f-c2fc-444b-b1ab-93eee3aec815
    Example: 04103b7f-c2fc-444b-b1ab-93eee3aec815

  - `userProfiles.firstName` (string)
    Indicates the customer's first name.

Example: Alexandro
    Example: Alexandro

  - `userProfiles.lastName` (string)
    Indicates the customer's last name.

Example: Peppared
    Example: Peppared

  - `userProfiles.email` (string)
    Indicates the user's email address.
Example: peppared@example.com
    Example: peppared@example.com

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 404 fields (application/json):

  - `details` (string)

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)

  - `exceptionType` (string)

  - `correlationId` (string)

  - `entityId` (string)

  - `errorCode` (string)

## Response 500 fields (application/json):

  - `details` (string)

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)

  - `exceptionType` (string)

  - `correlationId` (string)

  - `entityId` (string)

  - `errorCode` (string)

