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

# List

> List all roles for the current user.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/iam/roles
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/roles:
    get:
      tags:
        - Role
      summary: List
      description: List all roles for the current user.
      operationId: c1.api.iam.v1.Roles.List
      parameters:
        - in: query
          name: page_size
          schema:
            description: The pageSize field.
            format: int32
            readOnly: false
            type: integer
        - in: query
          name: page_token
          schema:
            description: The pageToken field.
            readOnly: false
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.iam.v1.ListRolesResponse'
          description: >-
            The ListRolesResponse message contains a list of results and a
            nextPageToken if applicable.
      x-codeSamples:
        - lang: go
          label: List
          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.Roles.List(ctx, operations.C1APIIamV1RolesListRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.ListRolesResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.roles.list();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.iam.v1.ListRolesResponse:
      description: >-
        The ListRolesResponse message contains a list of results and a
        nextPageToken if applicable.
      properties:
        list:
          description: >-
            The list of results containing up to X results, where X is the page
            size defined in the request.
          items:
            $ref: '#/components/schemas/c1.api.iam.v1.Role'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: >-
            The nextPageToken is shown for the next page if the number of
            results is larger than the max page size.
             The server returns one page of results and the nextPageToken until all results are retreived.
             To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page.
          readOnly: false
          type: string
      title: List Roles Response
      type: object
      x-speakeasy-name-override: ListRolesResponse
    c1.api.iam.v1.Role:
      description: Role is a role that can be assigned to a user in ConductorOne.
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        displayName:
          description: The display name of the role.
          readOnly: false
          type: string
        id:
          description: The id of the role.
          readOnly: true
          type: string
        name:
          description: The internal name of the role.
          readOnly: true
          type: string
        permissions:
          description: The list of permissions this role has.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        serviceRoles:
          description: The list of serviceRoles that this role has.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        systemApiOnly:
          description: >-
            This Role is intended for API keys usage only, and the user
            interface may not function as expected.
          readOnly: true
          type: boolean
        systemBuiltin:
          description: >-
            The system builtin field. If this field is set, the role is not
            editable.
          readOnly: true
          type: boolean
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: Role
      type: object
      x-speakeasy-name-override: Role
  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

````