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

# Create IP Collection

> Create a new collection with a pre-computed id, or get an existing one if the id already exists

**API scope required**: `collections.create`

<Warning>This API is still under development. Contact support for early access.</Warning>


## OpenAPI

````yaml post /v1/ip/collections
openapi: 3.0.0
info:
  title: Crossmint Story API
  description: Crossmint Story API
  version: 1.0.0
  contact:
    name: Crossmint Support
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
security: []
tags: []
paths:
  /v1/ip/collections:
    post:
      tags:
        - IP Story Protocol
      summary: Create Collection (Idempotent)
      description: >-
        Create a new collection with a pre-computed id, or get an existing one
        if the id already exists


        **API scope required**: `collections.create`
      operationId: StoryApiController-create-2
      parameters:
        - name: X-API-KEY
          in: header
          description: API key required for authentication
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CollectionCreationInputDto'
      responses:
        '201':
          description: Collection created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionResponseDto'
components:
  schemas:
    CollectionCreationInputDto:
      type: object
      properties:
        reuploadLinkedFiles:
          default: true
          type: boolean
          description: >-
            Controls whether external files (like images) in the metadata should
            be reuploaded to decentralized storage (IPFS) (true) or referenced
            with their original URLs (false). Default is True.
          example: true
        metadata:
          type: object
          properties:
            name:
              type: string
              description: The name of the collection
              example: My Collection
            symbol:
              type: string
              description: The symbol of the collection
              example: MYCOL
            description:
              type: string
              description: The description of the contract
              example: My Collection Description
            image:
              type: string
              format: uri
              description: >-
                A URI pointing to a resource with mime type image/* that
                represents the contract, typically displayed as a profile
                picture
              example: https://example.com/image.png
            banner_image:
              type: string
              format: uri
              description: >-
                A URI pointing to a resource with mime type image/* that
                represents the contract, displayed as a banner image
              example: https://example.com/banner.png
            featured_image:
              type: string
              format: uri
              description: >-
                A URI pointing to a resource with mime type image/* that
                represents the featured image for the contract
              example: https://example.com/featured.png
            external_link:
              type: string
              format: uri
              description: The external link of the contract
              example: https://example.com
          required:
            - name
            - symbol
            - description
          additionalProperties: false
          description: Story Protocol collection metadata
          example:
            name: My Collection
            symbol: MYCOL
            description: My Collection Description
            image: https://example.com/image.png
        chain:
          type: string
          description: The chain of the collection, either `story` or `story-testnet`
          example: story-testnet
        supplyLimit:
          type: number
          description: The supply limit of the collection
          example: 100
      required:
        - metadata
        - chain
      description: Story Protocol collection creation input
      example:
        reuploadLinkedFiles: true
        metadata:
          name: My Collection
          symbol: MYCOL
          description: My Collection Description
          image: https://example.com/image.png
        chain: story-testnet
    CollectionResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The id of the collection
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        actionId:
          type: string
          description: The action id of the collection
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        metadata:
          type: object
          properties:
            name:
              type: string
              description: The name of the collection
              example: My Collection
            symbol:
              type: string
              description: The symbol of the collection
              example: MYCOL
            description:
              type: string
              description: The description of the contract
              example: My Collection Description
            image:
              type: string
              format: uri
              description: >-
                A URI pointing to a resource with mime type image/* that
                represents the contract, typically displayed as a profile
                picture
              example: https://example.com/image.png
            banner_image:
              type: string
              format: uri
              description: >-
                A URI pointing to a resource with mime type image/* that
                represents the contract, displayed as a banner image
              example: https://example.com/banner.png
            featured_image:
              type: string
              format: uri
              description: >-
                A URI pointing to a resource with mime type image/* that
                represents the featured image for the contract
              example: https://example.com/featured.png
            external_link:
              type: string
              format: uri
              description: The external link of the contract
              example: https://example.com
            contractUri:
              type: string
              format: uri
              description: The contract URI of the collection
              example: https://www.crossmint.com/assets/crossmint/logo.png
          required:
            - name
            - symbol
            - description
          description: Story Protocol collection metadata response
          example:
            name: My Collection
            symbol: MYCOL
            description: My Collection Description
            image: https://example.com/image.png
        onChain:
          type: object
          properties:
            chain:
              type: string
              description: The chain of the collection
              example: story-testnet
            contractAddress:
              type: string
              description: The address of the collection on the chain
              example: '0x123'
            explorerLink:
              type: string
              format: uri
              description: The explorer link of the collection
              example: >-
                https://portal.story.foundation/collections/0xAC6062FF53fa41e61Fe01B89B83d9dB96b5F9280
          required:
            - chain
      required:
        - id
        - actionId
        - metadata
        - onChain
      description: Story Protocol collection creation output
      example:
        id: d290f1ee-6c54-4b01-90e6-d701748f0851
        actionId: d290f1ee-6c54-4b01-90e6-d701748f0851
        metadata:
          name: My Collection
          symbol: MYCOL
          description: My Collection Description
          image: https://example.com/image.png
        onChain:
          chain: story-testnet
          contractAddress: '0x123'

````