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

# Create a new offer

`POST /api/v1/offer`

Create a new offer with URL and optional metadata.

## Request body

- OfferCreateDTO — DTO for creating a new offer.
  - `name` string, nullable — Name of the offer
  - `offerUrl` string, required — offer_url of the offer
  - `data` object, nullable — Arbitrary JSON data for the offer
  - `comment` string, nullable — Optional comment or description for the offer

## Response `201`

Resource created successfully.

- CreatedResponse
  - `detail` string

## Other responses

- `401` — Authentication required.
- `403` — Access denied.
- `422` — Validation error. Please check your input.

---

[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/060ef67e573a/schema)
