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

> ## Agent Instructions
> OwnPay is licensed under AGPL-3.0 and is completely free - no licensing fees.
> Production docs URL: https://ownpay.org/docs - append .md to any page URL for clean markdown.
> OwnPay requires PHP 8.3+, MySQL/MariaDB, and Redis.
> MCP server available at https://ownpay.org/docs/mcp for programmatic documentation queries.
> Use root-relative links (e.g. /quickstart) for internal navigation - do NOT include /docs prefix.
> Plugin development: consult /developer/plugin-types/ pages for correct interfaces and manifests.

# List Paired Companion Devices

> Retrieves all active paired companion devices registered for the brand.




## OpenAPI

````yaml /api/admin_api.yaml get /devices
openapi: 3.1.0
info:
  title: OwnPay Brand Administrative API
  description: >
    The OwnPay Administrative API is used by per-merchant/brand administrators
    to configure and audit their gateway components.

    It exposes endpoints under `/api/admin/v1` to manage regex-based SMS parsing
    templates, inspect and retry failed messages in the outbound SMS
    communication queue, list/revoke paired companion devices, and verify
    white-labeled custom domains.


    ### Authentication

    Administrative endpoints require Bearer authentication using an API key
    generated with the `admin` privilege scope.

    ```http

    Authorization: Bearer <admin_api_key>

    ```

    All actions executed via this API are strictly isolated and scoped to the
    brand/merchant associated with the provided credentials.

    Note that administrative API routes are protected and are **only**
    accessible on the master domain configured via the `APP_DOMAIN` environment
    variable (e.g. `ownpay.org`), and are blocked on custom brand domains.
  version: 1.0.0
servers:
  - url: https://{master_domain}/api/admin/v1
    description: Master administrative API server.
    variables:
      master_domain:
        default: ownpay.org
        description: The APP_DOMAIN host where the administrative panel is accessible.
security:
  - AdminBearerAuth: []
paths:
  /devices:
    get:
      summary: List Paired Companion Devices
      description: |
        Retrieves all active paired companion devices registered for the brand.
      operationId: listPairedDevices
      responses:
        '200':
          description: Paired devices list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PairedDevicesListResponse'
components:
  schemas:
    PairedDevicesListResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                example: 2
              merchant_id:
                type: integer
                example: 1
              device_id:
                type: string
                format: uuid
                example: b810d1c8-bc1e-4df1-b2f4-83b9c9d2b2f4
              device_name:
                type: string
                example: Samsung SM-G991B
              platform:
                type: string
                example: android
              app_version:
                type: string
                example: 1.2.4
              status:
                type: string
                enum:
                  - active
                  - suspended
                  - revoked
                example: active
              last_heartbeat:
                type: string
                format: date-time
                nullable: true
                example: '2026-06-23T14:25:00Z'
              created_at:
                type: string
                format: date-time
                example: '2026-06-22T08:00:00Z'
  securitySchemes:
    AdminBearerAuth:
      type: http
      scheme: bearer
      description: Enter the Admin scope Bearer API key.

````

## Related topics

- [List Companion App Notifications](/docs/api-reference/list-companion-app-notifications.md)
- [Revoke Paired Device](/docs/api-reference/revoke-paired-device.md)
- [Pair Mobile Companion Device](/docs/api-reference/pair-mobile-companion-device.md)
- [Retrieve Device Connection Status](/docs/api-reference/retrieve-device-connection-status.md)
- [List SMS Templates](/docs/api-reference/list-sms-templates.md)
