> ## 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 Attribute Types

> List all attribute types.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/attributes/types
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/attributes/types:
    get:
      tags:
        - Attribute
      summary: List Attribute Types
      description: List all attribute types.
      operationId: c1.api.attribute.v1.Attributes.ListAttributeTypes
      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.attribute.v1.ListAttributeTypesResponse
          description: >-
            ListAttributeTypesResponse is the response for listing attribute
            types.
      x-codeSamples:
        - lang: go
          label: ListAttributeTypes
          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.Attributes.ListAttributeTypes(ctx, operations.C1APIAttributeV1AttributesListAttributeTypesRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.ListAttributeTypesResponse != 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.attributes.listAttributeTypes();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.attribute.v1.ListAttributeTypesResponse:
      description: ListAttributeTypesResponse is the response for listing attribute types.
      properties:
        list:
          description: The list of AttributeTypes.
          items:
            $ref: '#/components/schemas/c1.api.attribute.v1.AttributeType'
          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 Attribute Types Response
      type: object
      x-speakeasy-name-override: ListAttributeTypesResponse
    c1.api.attribute.v1.AttributeType:
      description: AttributeType defines the type of an attribute.
      properties:
        id:
          description: The ID of the AttributeType.
          readOnly: false
          type: string
        name:
          description: The name of the AttributeType.
          readOnly: false
          type: string
      title: Attribute Type
      type: object
      x-speakeasy-name-override: AttributeType
  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

````