---
title: "Create Challenge"
method: POST
path: "/api/v1/challenges"
tags: ["challenges"]
---

# Create Challenge

`POST /api/v1/challenges`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/challenges`
- Auth: none declared

Create a new challenge. Admin-only — challenges are global catalog
rows visible to every user; only operators can author them.

## Request body

- ChallengeCreate
  - `title` string, required
  - `description` string, required
  - `domain` string, required
  - `task_ids` string[], required
  - `starts_at` string, date-time, required
  - `ends_at` string, date-time, required

## Response `201`

Successful Response

- ChallengeRead
  - `id` string, uuid, required
  - `title` string, required
  - `description` string, required
  - `domain` string, required
  - `task_ids` string[], required
  - `starts_at` string, date-time, required
  - `ends_at` string, date-time, required
  - `is_active` boolean, required
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
