---
title: "Create a profile shelf"
method: POST
path: "/api/v2/profile/shelves"
tags: ["Account Endpoints"]
---

# Create a profile shelf

`POST /api/v2/profile/shelves`

Create a shelf for the authenticated wallet.

## Request body

- CreateProfileShelfRequest — Request body for creating a profile shelf
  - `title` string, required — Shelf title
  - `description` string — Shelf description
  - `items` ProfileShelfItemRequest[], required
    - `token_id` string, required — Item token ID
    - `chain` string, required — Blockchain chain slug
    - `contract_address` string, required — Contract address
  - `icon` string — Shelf icon
  - `view` string — Shelf view
  - `single_item_shelf_side` string — Single-item shelf side

## Response `200`

Shelf created successfully

- ProfileShelfResponse — Profile shelf
  - `id` string, required
  - `account_address` string
  - `title` string, required
  - `description` string
  - `display_order` integer, required
  - `items` ProfileShelfItemIdentifierResponse[], required
    - `chain` string, required
    - `contract_address` string, required
    - `token_id` string, required
  - `icon` string
  - `view` string
  - `single_item_shelf_side` string
  - `shelf_item_metadata` object, required

## Other responses

- `400` — For error reasons, review the response data.
- `401` — Invalid or missing API key
- `403` — Wallet token lacks permission for this request
- `404` — Resource not found
- `409` — Conflict
- `500` — Internal Server Error

---

[API](https://skmtc.net/opensea/apis/opensea-api.md) · [All operations](https://skmtc.net/opensea/apis/opensea-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/opensea/opensea-api/revisions/acee8835f2ae/schema)
