---
title: "Create Goal"
method: POST
path: "/v1/dev/user/goals"
tags: ["Goals"]
---

# Create Goal

`POST /v1/dev/user/goals`

Create a new goal. Supports up to 3 active goals; the oldest is deactivated if at max.

- **title**: The goal title/description (1-500 characters)
- **goal_type**: Type of goal metric: boolean, scale, or numeric (default: scale)
- **target_value**: Target value to achieve
- **current_value**: Current progress (default: 0)
- **min_value**: Minimum scale value (default: 0)
- **max_value**: Maximum scale value (default: 10)
- **unit**: Optional unit label (e.g., 'users', 'points')

## Request body

- CreateGoalRequest
  - `current_value` number — Current progress value
  - `goal_type` 'boolean' | 'scale' | 'numeric'
  - `max_value` number — Maximum value of the scale
  - `min_value` number — Minimum value of the scale
  - `target_value` number, required — Target value to achieve
  - `title` string, required — The goal title/description
  - `unit` string, nullable — Unit label (e.g., 'users', 'points')

## Response `200`

Successful Response

- DeveloperGoal
  - `created_at` string, date-time, required
  - `current_value` number, required
  - `goal_type` string, required
  - `id` string, required
  - `is_active` boolean, required
  - `max_value` number, required
  - `min_value` number, required
  - `target_value` number, required
  - `title` string, required
  - `unit` string, nullable
  - `updated_at` string, date-time, required

## Other responses

- `401` — Missing or invalid authentication credentials.
- `403` — Authenticated, but the token does not grant the required scope.
- `422` — Validation Error

## Changes

- **2026-06-30** `c2ab717efdbc` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-06-30** `fbfe4956e141` — 2 warning
  - removed the optional property `detail/items/ctx` from the response with the `422` status
  - removed the optional property `detail/items/input` from the response with the `422` status
- **2026-06-30** `c2ab717efdbc` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-06-30** `fbfe4956e141` — 2 warning
  - removed the optional property `detail/items/ctx` from the response with the `422` status
  - removed the optional property `detail/items/input` from the response with the `422` status
- **2026-06-30** `c2ab717efdbc` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Full history](https://skmtc.dev/basedhardware/apis/omi-developer-api/changes/v1/dev/user/goals/post.md)

---

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