---
title: "Create a new cap offer"
method: POST
path: "/api/v1/cap-offers"
tags: ["Cap Offers"]
---

# Create a new cap offer

`POST /api/v1/cap-offers`

Create a new offer cap with name, type, size, Keitaro IDs, comments, and optional user linking.

## Request body

- CapOfferCreateDTO
  - `name` string, required
  - `capType` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY' | 'PERMANENT', required — Enum for cap types
  - `capSize` integer, required
  - `keitaroIds` integer[], required
  - `comments` string, nullable
  - `userId` string, uuid, nullable

## Response `201`

Resource created successfully.

- CreatedResponse
  - `detail` string

## Other responses

- `400` — The request is invalid.
- `422` — Validation error. Please check your input.
- `500` — An unexpected error occurred. Please try again later.

---

[API](https://skmtc.dev/pwapps/apis/curie-api.md) · [All operations](https://skmtc.dev/pwapps/apis/curie-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pwapps/curie-api/revisions/b0af9064dfef/schema)
