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

# List collections

> Returns a cursor-paginated list of collections. Use `external_id` to filter to one caller-supplied identifier.



## OpenAPI

````yaml /openapi.json get /v1/collections
openapi: 3.1.0
info:
  title: Endstate API
  version: v1
  description: Endstate developer API for chip verification and ownership workflows.
servers:
  - url: https://api2.endstate.io
    description: Production
security: []
paths:
  /v1/collections:
    get:
      tags:
        - Collections
      summary: List collections
      description: >-
        Returns a cursor-paginated list of collections. Use `external_id` to
        filter to one caller-supplied identifier.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
            description: Maximum number of records to return. Defaults to 50; maximum 100.
          required: false
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            description: Opaque cursor from the previous page.
          required: false
          name: cursor
          in: query
        - schema:
            type: string
            minLength: 1
            description: Filter to collections with this external identifier.
          required: false
          name: external_id
          in: query
      responses:
        '200':
          description: A page of collections.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionsListResponse'
              example:
                collections:
                  - id: 8e1a7f50-90ab-4cde-8012-3456789abcde
                    contract:
                      address: '0x1111111111111111111111111111111111111111'
                      chain_id: 84532
                      status: active
                    name: Example Collection
                    external_id: collection-001
                    redirect_url: null
                pagination:
                  limit: 50
                  has_more: false
                  next_cursor: null
      security:
        - ApiKeyBearer: []
components:
  schemas:
    CollectionsListResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/Collection'
        pagination:
          $ref: '#/components/schemas/CursorPagination'
      required:
        - collections
        - pagination
      example:
        collections:
          - id: 8e1a7f50-90ab-4cde-8012-3456789abcde
            contract:
              address: '0x1111111111111111111111111111111111111111'
              chain_id: 84532
              status: active
            name: Example Collection
            external_id: collection-001
            redirect_url: null
        pagination:
          limit: 50
          has_more: false
          next_cursor: null
    Collection:
      type: object
      properties:
        id:
          type: string
          format: uuid
        contract:
          type: object
          properties:
            address:
              type: string
              description: Unique address identifying the collection.
              example: '0x1111111111111111111111111111111111111111'
            chain_id:
              type: integer
              example: 84532
            status:
              type: string
              enum:
                - deploying
                - active
                - failed
              description: >-
                Collection lifecycle status. `deploying` while the collection is
                being provisioned; `active` once it is ready to use.
              example: deploying
          required:
            - address
            - chain_id
            - status
        name:
          type:
            - string
            - 'null'
        external_id:
          type:
            - string
            - 'null'
        redirect_url:
          type:
            - string
            - 'null'
          format: uri
          description: >-
            URL a tap on this collection's units redirects to. Unit- and
            product-level redirects take precedence over this value.
          example: https://brand.example/p
      required:
        - id
        - contract
        - name
        - external_id
        - redirect_url
    CursorPagination:
      type: object
      properties:
        limit:
          type: integer
          exclusiveMinimum: 0
          description: Maximum number of records returned.
          example: 50
        has_more:
          type: boolean
          description: Whether another page is available. Pass `next_cursor` to fetch it.
          example: false
        next_cursor:
          type:
            - string
            - 'null'
          description: Opaque cursor for the next page. Null when there is no next page.
          example: >-
            eyJjcmVhdGVkX2F0IjoiMjAyNi0wNS0xNlQxMjowMDowMC4wMDBaIiwiaWQiOiIzMzMzMzMzMy0zMzMzLTMzMzMtMzMzMy0zMzMzMzMzMzMzMzMifQ
      required:
        - limit
        - has_more
        - next_cursor
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: end_sk
      description: >-
        Use `Authorization: Bearer end_sk_*` for partner API keys (e.g.
        `end_sk_AbCd_example_api_key`).

````