> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-leet-slack-mcp-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List Device Clients

> ListDeviceClients returns the app clients registered on a device, one page at
 a time. A device can accrue many app clients over time, so the clients are
 served from this dedicated paginated endpoint rather than inlined on the
 device.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/iam/personal_devices/{device_id}/clients
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/iam/personal_devices/{device_id}/clients:
    get:
      tags:
        - Personal Device
      summary: List Device Clients
      description: >-
        ListDeviceClients returns the app clients registered on a device, one
        page at
         a time. A device can accrue many app clients over time, so the clients are
         served from this dedicated paginated endpoint rather than inlined on the
         device.
      operationId: c1.api.iam.v1.PersonalDeviceService.ListDeviceClients
      parameters:
        - in: path
          name: device_id
          required: true
          schema:
            description: >-
              The device identity (a base64url-encoded SHA-256 thumbprint of the
              device
               root key) whose clients to list.
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.iam.v1.PersonalDeviceServiceListDeviceClientsResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: ListDeviceClients
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.PersonalDevice.ListDeviceClients(ctx, operations.C1APIIamV1PersonalDeviceServiceListDeviceClientsRequest{\n        DeviceID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.PersonalDeviceServiceListDeviceClientsResponse != nil {\n        // handle response\n    }\n}"
components:
  schemas:
    c1.api.iam.v1.PersonalDeviceServiceListDeviceClientsResponse:
      description: The PersonalDeviceServiceListDeviceClientsResponse message.
      properties:
        clients:
          description: The app clients registered on the device.
          items:
            $ref: '#/components/schemas/c1.api.iam.v1.PersonalDeviceClient'
          type:
            - array
            - 'null'
        nextPageToken:
          description: >-
            A token to retrieve the next page of results, or empty if there are
            no more.
          type: string
      title: Personal Device Service List Device Clients Response
      type: object
      x-speakeasy-name-override: PersonalDeviceServiceListDeviceClientsResponse
    c1.api.iam.v1.PersonalDeviceClient:
      description: |-
        PersonalDeviceClient is a single app client on a device. The client
         authenticates with its own asymmetric key; there is no client secret.
      properties:
        clientId:
          description: The full client_id of the device credential.
          readOnly: true
          type: string
        clientName:
          description: The human-friendly client name from its registration metadata.
          readOnly: true
          type: string
        consumerKeyId:
          description: The stable identity of this client's per-app key.
          readOnly: true
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        deviceOs:
          description: >-
            The device operating system captured for this client, e.g.
            "macos-14.5".
          readOnly: true
          type: string
        deviceSurface:
          description: The device surface captured for this client, e.g. "macos-desktop".
          readOnly: true
          type: string
        displayName:
          description: The display name of the device credential.
          readOnly: true
          type: string
        id:
          description: The unique ID of the device client (the local part of client_id).
          readOnly: true
          type: string
        lastUsedAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        softwareId:
          description: >-
            An identifier for the client software, from its registration
            metadata.
          readOnly: true
          type: string
        softwareVersion:
          description: The version of the client software, from its registration metadata.
          readOnly: true
          type: string
      title: Personal Device Client
      type: object
      x-speakeasy-name-override: PersonalDeviceClient
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````