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

# List Devices

> List WhatsApp devices available to the authenticated organization.

Requires ``admin:read`` or higher because device inventory exposes
operational metadata for the workspace.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/devices
openapi: 3.1.0
info:
  title: wazzapi Public API
  description: >-
    Public API surface for external API-key clients. Only stable /api/v1
    endpoints are included.


    ## Webhook deliveries

    This reference also includes the webhook requests Wazzapi sends to your
    endpoint for incoming messages, message status updates, and device status
    changes. See the `Incoming webhooks` section in the sidebar for headers,
    payload fields, and concrete examples.
  version: 1.0.0
servers: []
security: []
tags:
  - name: Incoming webhooks
    description: >-
      POST deliveries that Wazzapi sends to your webhook endpoint after you
      subscribe to supported events. Verify the signature against the raw body
      and return a 2xx response quickly.
paths:
  /api/v1/devices:
    get:
      tags:
        - devices
      summary: List Devices
      description: |-
        List WhatsApp devices available to the authenticated organization.

        Requires ``admin:read`` or higher because device inventory exposes
        operational metadata for the workspace.
      operationId: list_devices_api_v1_devices_get
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 50
            title: Limit
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
            title: Offset
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Optional device status filter, such as connected, disconnected, or
              pairing.
            title: Status
          description: >-
            Optional device status filter, such as connected, disconnected, or
            pairing.
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by device name, session name, or phone number.
            title: Search
          description: Filter by device name, session name, or phone number.
        - name: sort_by
          in: query
          required: false
          schema:
            type: string
            description: >-
              Sort field: created_at, updated_at, name, status, or
              last_connected_at.
            default: created_at
            title: Sort By
          description: >-
            Sort field: created_at, updated_at, name, status, or
            last_connected_at.
        - name: sort_order
          in: query
          required: false
          schema:
            type: string
            description: 'Sort direction: asc or desc.'
            default: desc
            title: Sort Order
          description: 'Sort direction: asc or desc.'
        - 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/DeviceListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DeviceListResponse:
      properties:
        devices:
          items:
            $ref: '#/components/schemas/DeviceItem'
          type: array
          title: Devices
        total:
          type: integer
          title: Total
        limit:
          type: integer
          title: Limit
        offset:
          type: integer
          title: Offset
      type: object
      required:
        - devices
        - total
        - limit
        - offset
      title: DeviceListResponse
      description: Paginated response for listing devices.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DeviceItem:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        session_name:
          type: string
          title: Session Name
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
        status:
          type: string
          title: Status
        is_primary:
          type: boolean
          title: Is Primary
        message_logging_enabled:
          type: boolean
          title: Message Logging Enabled
        auto_warmer_enabled:
          type: boolean
          title: Auto Warmer Enabled
        last_connected_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Connected At
        last_health_check_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Health Check At
        total_messages_sent:
          type: integer
          title: Total Messages Sent
        total_messages_received:
          type: integer
          title: Total Messages Received
        last_contact_sync_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Contact Sync At
        last_contact_sync_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Contact Sync Status
        contacts_synced_count:
          type: integer
          title: Contacts Synced Count
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - id
        - name
        - session_name
        - status
        - is_primary
        - message_logging_enabled
        - auto_warmer_enabled
        - total_messages_sent
        - total_messages_received
        - contacts_synced_count
        - created_at
        - updated_at
      title: DeviceItem
      description: Summary view of a connected or historical WhatsApp device.
    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

````