> ## 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.

# Create a collection

> Creates a collection and returns it immediately in `deploying` status with its unique address. Provisioning completes asynchronously; the status becomes `active` once the collection is ready to use.



## OpenAPI

````yaml /openapi.json post /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:
    post:
      tags:
        - Collections
      summary: Create a collection
      description: >-
        Creates a collection and returns it immediately in `deploying` status
        with its unique address. Provisioning completes asynchronously; the
        status becomes `active` once the collection is ready to use.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCollectionRequest'
            example:
              name: Example Collection
              symbol: EXMP
              external_id: collection-001
              redirect_url: https://brand.example/p
      responses:
        '201':
          description: >-
            Created collection. `contract.status` is usually `deploying`, and
            may be `failed` if provisioning could not be queued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
              example:
                id: 8e1a7f50-90ab-4cde-8012-3456789abcde
                contract:
                  address: '0x1111111111111111111111111111111111111111'
                  chain_id: 84532
                  status: deploying
                name: Example Collection
                external_id: collection-001
                redirect_url: https://brand.example/p
      security:
        - ApiKeyBearer: []
components:
  schemas:
    CreateCollectionRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 256
          description: Human-readable collection name.
          example: Example Collection
        symbol:
          type: string
          minLength: 1
          maxLength: 4
          description: >-
            Short collection symbol (max 4 chars). Derived from `name` when
            omitted.
          example: EXMP
        external_id:
          type: string
          minLength: 1
          maxLength: 256
          description: Your own mapping to this collection (SKU / concept id).
          example: collection-001
        chain_id:
          type: integer
          exclusiveMinimum: 0
          description: >-
            Identifier of the network to create the collection on. Defaults to
            your organization's configured network; send a value only to
            override it where enabled for your organization.
          example: 84532
        redirect_url:
          type:
            - string
            - 'null'
          format: uri
          description: >-
            Tap redirect URL for this collection's units. Omit or null for none;
            unit- and product-level redirects still take precedence.
          example: https://brand.example/p
      required:
        - name
      additionalProperties: false
    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
  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`).

````