---
title: "Create Collection (Idempotent)"
method: POST
path: "/v1/ip/collections"
tags: ["IP Story Protocol"]
---

# Create Collection (Idempotent)

`POST /v1/ip/collections`

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

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

## Headers

- `X-API-KEY` string, required

## Request body

- CollectionCreationInputDto
  - `reuploadLinkedFiles` boolean — 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.
  - `metadata` object, required — Story Protocol collection metadata
    - `name` string — The name of the collection
    - `symbol` string — The symbol of the collection
    - `description` string — The description of the contract
    - `image` string, uri — A URI pointing to a resource with mime type image/* that represents the contract, typically displayed as a profile picture
    - `banner_image` string, uri — A URI pointing to a resource with mime type image/* that represents the contract, displayed as a banner image
    - `featured_image` string, uri — A URI pointing to a resource with mime type image/* that represents the featured image for the contract
    - `external_link` string, uri — The external link of the contract
  - `chain` string, required — The chain of the collection
  - `supplyLimit` number — The supply limit of the collection

## Response `201`

Collection created

- CollectionResponseDto
  - `id` string, required — The id of the collection
  - `actionId` string, required — The action id of the collection
  - `metadata` object, required — Story Protocol collection metadata response
    - `name` string — The name of the collection
    - `symbol` string — The symbol of the collection
    - `description` string — The description of the contract
    - `image` string, uri — A URI pointing to a resource with mime type image/* that represents the contract, typically displayed as a profile picture
    - `banner_image` string, uri — A URI pointing to a resource with mime type image/* that represents the contract, displayed as a banner image
    - `featured_image` string, uri — A URI pointing to a resource with mime type image/* that represents the featured image for the contract
    - `external_link` string, uri — The external link of the contract
    - `contractUri` string, uri — The contract URI of the collection
  - `onChain` object, required
    - `chain` string — The chain of the collection
    - `contractAddress` string — The address of the collection on the chain
    - `explorerLink` string, uri — The explorer link of the collection

---

[API](https://skmtc.net/crossmint/apis/onramp.md) · [All operations](https://skmtc.net/crossmint/apis/onramp/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crossmint/onramp/versions/e2143d192130/schema)
