---
title: "Create new Collection"
method: POST
path: "/api/v1/tokenization/collections"
tags: ["tokenization"]
---

# Create new Collection

`POST /api/v1/tokenization/collections`

Start the create-collection workflow. Returns workflow ID; collection is created asynchronously.

## Headers

- `x-sdk-version` string, required

## Request body

- CreateCollectionBodyDto
  - `networkId` string, required
  - `addressId` string, required
  - `type` 'NON_FUNGIBLE_TOKEN' | 'SEMI_FUNGIBLE_TOKEN', required
  - `clientShare` string, required
  - `createParams` CreateParams, required
    - `initializeParams` ConstructorParam[], required
      - `name` string, required
      - `type` string, required
      - `value` string, required
  - `displayName` string
  - `useGasless` boolean
  - `fee` string
  - `feeLevel` 'LOW' | 'MEDIUM' | 'HIGH'
  - `description` string

## Response `202`

Create new Collection - workflow started

- CreateCollectionWorkflowResponseDto
  - `workflowResult` WorkflowStartResultDto, required
    - `workflowId` string, required — Workflow ID
    - `operationId` string, required — Operation ID (e.g. deploymentId, collectionId, mintId, writeCallId)
    - `status` 'started' | 'already_running', required — Workflow status
    - `message` string, required — Human-readable status message

## Other responses

- `400` — Bad request or validation failed. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-010 | The request could not be processed. | | ERR-310 | Contract does not have a valid ABI. | | ERR-311 | Contract initialize function not found. | | ERR-312 | Required initialization parameters are missing. | | ERR-313 | Parameter types do not match the expected types. | | ERR-126 | Contract deployment failed. |
- `401` — Unauthorized – invalid or missing token. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-008 | You need to sign in to continue. | | ERR-011 | Your session is invalid or expired. Please sign in again. |
- `403` — Forbidden – insufficient permissions. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-009 | You don't have permission to do that. | | ERR-410 | Error occurred |
- `404` — Resource not found. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-013 | Organization not found. | | ERR-066 | Contract not found. | | ERR-096 | Address not found. |
- `500` — Internal server error. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-019 | Something went wrong on our side. | | ERR-999 | An unexpected error occurred. Please try again. |

## Changes

- **2026-04-21** `bdac7e47d1c2` — 35 warning
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `400`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `401`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `403`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `404`
  - …31 more
- **2026-03-13** `86f37d72f0a0` — 38 breaking, 28 warning, 19 info
  - added the new required request property `networkId`
  - the `header` request parameter `x-sdk-version` became required
  - request property `feeLevel` was restricted to a list of enum values
  - the response's body type/format changed from `object`/`` to ``/`` for status `400`
  - …81 more
- **2026-02-05** `1c3252ab9dd6` — 4 breaking, 2 warning, 2 info
  - added the new required request property `createParams/initializeParams`
  - added the new required request property `type`
  - the `addressId` request property's minLength was increased from `0` to `1`
  - the `clientShare` request property's minLength was increased from `0` to `1`
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/oumla/apis/oumla-core-server/changes/api/v1/tokenization/collections/post.md)

---

[API](https://skmtc.dev/oumla/apis/oumla-core-server.md) · [All operations](https://skmtc.dev/oumla/apis/oumla-core-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oumla/oumla-core-server/revisions/2154835230b5/schema)
