---
title: "Create or replace a project bundle (up to 50 pages)"
method: POST
path: "/p/{id}"
---

# Create or replace a project bundle (up to 50 pages)

`POST /p/{id}`

## Request

- Base URL: `https://marklayer.app/api`
- URL: `https://marklayer.app/api/p/{id}`
- Auth: none declared

## Path parameters

- `id` string, required: Unguessable share id you choose — it is the access token. Creating a new one takes at least 12 characters of [A-Za-z0-9_-]; a nanoid() or uuid is ideal.

## Request body

- StoreProject
  - `pageIds` string[], required: Ids of annotation pages in this bundle
  - `expires_in` integer: Seconds until cleanup (max 2592000 = 30 days)

## Response `200`

Stored

- Ok
  - `ok` boolean, required

## Other responses

- `400`: Invalid pageIds

---

[API](https://skmtc.dev/marklayer/apis/marklayer-share-api.md) · [All operations](https://skmtc.dev/marklayer/apis/marklayer-share-api/llms.txt) · [OpenAPI document](https://skmtc.dev/marklayer/apis/marklayer-share-api/revisions/0d8cd55afad9?raw)
