---
title: "Create mailbox folder"
method: POST
path: "/mailboxes/{id}/folders"
tags: ["Mailboxes"]
---

# Create mailbox folder

`POST /mailboxes/{id}/folders`

## Request

- Base URL: `https://shipmail.to/api/v1`
- URL: `https://shipmail.to/api/v1/mailboxes/{id}/folders`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://shipmail.to/api/auth/oauth2/authorize`, token URL `https://shipmail.to/api/auth/oauth2/token`)

Create a custom folder or subfolder for a mailbox. System folder names are reserved.

## Headers

- `Idempotency-Key` string
- `X-Shipmail-Organization` string

## Request body

- CreateMailboxFolderRequest
  - `name` string, required: Custom folder name. Reserved system folder names and path separators are rejected.
  - `parent_id` string, nullable, required: Parent folder ID for a subfolder, or null to create a root folder.

## Response `201`

Mailbox folder created.

- MailboxFolder
  - `object` 'mailbox_folder', required
  - `id` string, required
  - `name` string, required
  - `parent_id` string, nullable, required: Parent folder ID for subfolders, or null for a root folder.
  - `role` string, nullable, required
  - `kind` 'custom' | 'system', required
  - `total_emails` integer, required
  - `unread_emails` integer, required
  - `unread_threads` integer, required
  - `sort_order` integer, required

## Other responses

- `401`: Authentication failed.
- `403`: Insufficient permissions.
- `404`: Resource not found.
- `409`: Resource conflict.
- `422`: Validation failed.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/shipmail/apis/shipmail-api.md) · [All operations](https://skmtc.dev/shipmail/apis/shipmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shipmail/apis/shipmail-api/revisions/2c23e59d7e30?raw)
