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

# List Machines

> List all machines for the authenticated organization.

Supports pagination and filtering by status, name, or substring search.

Use the `include` parameter to fetch related resources in the response.
Related resources are returned in the `included` array following the JSON:API pattern.



## OpenAPI

````yaml /openapi.json get /v1/machines
openapi: 3.1.0
info:
  title: Cyberdesk Cloud
  description: >-
    The Cyberdesk API provides programmatic access to all platform features,
    enabling you to automate desktop tasks at scale.
  version: 1.0.0
servers:
  - url: https://api.cyberdesk.io
    description: Production server
  - url: https://cyberdesk-api-dev.fly.dev
    description: Development server
security: []
paths:
  /v1/machines:
    get:
      tags:
        - machines
      summary: List Machines
      description: >-
        List all machines for the authenticated organization.


        Supports pagination and filtering by status, name, or substring search.


        Use the `include` parameter to fetch related resources in the response.

        Related resources are returned in the `included` array following the
        JSON:API pattern.
      operationId: list_machines_v1_machines_get
      parameters:
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Search machines by id, name, or hostname (case-insensitive
              substring match)
            title: Search
          description: >-
            Search machines by id, name, or hostname (case-insensitive substring
            match)
        - name: name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Exact-match filter on the machine's name (case-sensitive). Use
              this to look up machines by the value passed to `cyberdriver
              --name`, e.g. when correlating VMs you spawned from the same
              image. Names are not unique; the response is a list.
            title: Name
          description: >-
            Exact-match filter on the machine's name (case-sensitive). Use this
            to look up machines by the value passed to `cyberdriver --name`,
            e.g. when correlating VMs you spawned from the same image. Names are
            not unique; the response is a list.
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/MachineStatus'
              - type: 'null'
            description: Filter by machine status
            title: Status
          description: Filter by machine status
        - name: created_at_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Filter machines created at or after this ISO timestamp (UTC)
            title: Created At From
          description: Filter machines created at or after this ISO timestamp (UTC)
        - name: created_at_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Filter machines created at or before this ISO timestamp (UTC)
            title: Created At To
          description: Filter machines created at or before this ISO timestamp (UTC)
        - name: include
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Comma-separated list of related resources to include. Allowed
              values: pools. Example: include=pools
            title: Include
          description: >-
            Comma-separated list of related resources to include. Allowed
            values: pools. Example: include=pools
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
            title: Skip
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000
            minimum: 1
            default: 100
            title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PaginatedResponseWithIncludes_MachineResponse_
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    MachineStatus:
      type: string
      enum:
        - connected
        - disconnected
        - error
      title: MachineStatus
    PaginatedResponseWithIncludes_MachineResponse_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/MachineResponse'
          type: array
          title: Items
        total:
          type: integer
          title: Total
        skip:
          type: integer
          title: Skip
        limit:
          type: integer
          title: Limit
        included:
          anyOf:
            - items:
                $ref: '#/components/schemas/IncludedResource'
              type: array
            - type: 'null'
          title: Included
          description: Related resources requested via the `include` query parameter
      type: object
      required:
        - items
        - total
        - skip
        - limit
      title: PaginatedResponseWithIncludes[MachineResponse]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    MachineResponse:
      properties:
        name:
          anyOf:
            - type: string
              maxLength: 255
            - type: 'null'
          title: Name
        version:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Version
        hostname:
          anyOf:
            - type: string
              maxLength: 255
            - type: 'null'
          title: Hostname
        os_info:
          anyOf:
            - type: string
            - type: 'null'
          title: Os Info
        machine_parameters:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Machine Parameters
          description: Machine-specific input values that auto-populate runs
        machine_sensitive_parameters:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Machine Sensitive Parameters
          description: Machine-specific sensitive input aliases (stored in Basis Theory)
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: User Id
        organization_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Organization Id
        unkey_key_id:
          type: string
          title: Unkey Key Id
        status:
          $ref: '#/components/schemas/MachineStatus'
        is_available:
          type: boolean
          title: Is Available
        reserved_session_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Reserved Session Id
        linked_keepalive_machine_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Linked Keepalive Machine Id
        physical_server_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Physical Server Id
          description: Fly machine ID hosting the WebSocket connection
        created_at:
          type: string
          format: date-time
          title: Created At
        last_seen:
          type: string
          format: date-time
          title: Last Seen
        pools:
          anyOf:
            - items:
                $ref: '#/components/schemas/PoolResponse'
              type: array
            - type: 'null'
          title: Pools
      type: object
      required:
        - id
        - unkey_key_id
        - status
        - is_available
        - created_at
        - last_seen
      title: MachineResponse
      description: Machine response schema
    IncludedResource:
      properties:
        type:
          type: string
          title: Type
          description: Resource type (e.g., 'workflow', 'machine', 'pool')
        id:
          type: string
          format: uuid
          title: Id
          description: Resource UUID
      additionalProperties: true
      type: object
      required:
        - type
        - id
      title: IncludedResource
      description: >-
        A resource in the JSON:API-style included array.


        Each included resource has a `type` field indicating what kind of
        resource it is

        (e.g., "workflow", "machine", "pool") and an `id` field with the
        resource's UUID.

        All other fields from the resource's response model are included.


        Example:
            {
                "type": "workflow",
                "id": "550e8400-e29b-41d4-a716-446655440000",
                "name": "My Workflow",
                "main_prompt": "Do something...",
                "created_at": "2024-01-15T10:30:00Z"
            }
    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
          additionalProperties: true
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    PoolResponse:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        id:
          type: string
          format: uuid
          title: Id
        organization_id:
          type: string
          title: Organization Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        machine_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Machine Count
          description: Number of machines in this pool
          default: 0
      type: object
      required:
        - name
        - id
        - organization_id
        - created_at
        - updated_at
      title: PoolResponse
      description: Pool response schema
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````