> ## Documentation Index
> Fetch the complete documentation index at: https://docs.loyalty.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# Device Health Check

> Health check endpoint for device monitoring.

Called by the device itself using its device-specific JWT token.
The `current_device` dependency handles authentication and updates
lastSeenAt before this handler runs.

### Parameters:
- `device_id` (PydanticObjectId): Must match the device ID in the JWT token
- `device` (Device): Authenticated device from JWT (via current_device)

### Returns:
- `DeviceHealthResponse`: Device health status

### Raises:
- 404: If device_id does not match the authenticated device's ID



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json get /v2/devices/{device_id}/health
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/devices/{device_id}/health:
    get:
      tags:
        - Devices
      summary: Device Health Check
      description: >-
        Health check endpoint for device monitoring.


        Called by the device itself using its device-specific JWT token.

        The `current_device` dependency handles authentication and updates

        lastSeenAt before this handler runs.


        ### Parameters:

        - `device_id` (PydanticObjectId): Must match the device ID in the JWT
        token

        - `device` (Device): Authenticated device from JWT (via current_device)


        ### Returns:

        - `DeviceHealthResponse`: Device health status


        ### Raises:

        - 404: If device_id does not match the authenticated device's ID
      operationId: device_health_check_v2_devices__device_id__health_get
      parameters:
        - name: device_id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/PydanticObjectId'
        - name: authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceHealthResponse'
        '404':
          description: Device not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PydanticObjectId:
      type: string
      maxLength: 24
      minLength: 24
      pattern: ^[0-9a-f]{24}$
      example: 5eb7cf5a86d9755df3a6c593
    DeviceHealthResponse:
      properties:
        status:
          type: string
          title: Status
          description: Health status (ok/error)
        deviceId:
          type: string
          title: Deviceid
          description: Device ID
        lastSeenAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Lastseenat
          description: Last time the device was active
        deviceStatus:
          $ref: '#/components/schemas/DeviceStatus'
          description: Current device status
      type: object
      required:
        - status
        - deviceId
        - deviceStatus
      title: DeviceHealthResponse
      description: Response schema for device health check.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DeviceStatus:
      type: string
      enum:
        - active
        - inactive
        - blocked
        - pending_activation
      title: DeviceStatus
      description: Device status enumeration.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````