---
title: "Create a goal"
method: POST
path: "/goals"
tags: ["Goals"]
---

# Create a goal

`POST /goals`

## Request

- Base URL: `https://service.steady.space/api/v2`
- URL: `https://service.steady.space/api/v2/goals`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://app.steady.space/oauth/authorize`, token URL `https://app.steady.space/oauth/token`)
  - HTTP bearer

## Request body

- Goal
  - `type` 'goal'
  - `id` string, uuid, required
  - `title` string
  - `description` string: Goal description rendered as Markdown.
  - `start_date` string, date
  - `end_date` string, date
  - `update_cadence` 'Weekly' | 'Biweekly' | 'Monthly'
  - `owner` PersonRef, required
    - `id` string, uuid, required
    - `name` string, required
  - `owner_id` string, uuid
  - `parent` GoalRef, required
    - `id` string, uuid, required
    - `title` string, required
  - `parent_id` string, uuid
  - `private` boolean
  - `archived` boolean
  - `progress` integer, required: Progress percentage toward completing the goal.
  - `confidence` integer, required: Confidence score, normalized to one of: 30 (Off track), 60 (At risk), or 90 (On track). Returns 100 (On track) if no updates have been reported yet.
  - `confidence_description` 'Off track' | 'At risk' | 'On track', required: Human-readable label for the confidence score.
  - `contributors` PersonRef[], required
    - `id` string, uuid, required
    - `name` string, required
  - `contributor_ids` Id[]
  - `teams` TeamRef[], required
    - `id` string, uuid, required
    - `name` string, required
  - `team_ids` Id[]
  - `url` string, uri, required

## Response `201`

The created goal.

- Goal
  - `type` 'goal'
  - `id` string, uuid, required
  - `title` string
  - `description` string: Goal description rendered as Markdown.
  - `start_date` string, date
  - `end_date` string, date
  - `update_cadence` 'Weekly' | 'Biweekly' | 'Monthly'
  - `owner` PersonRef, required
    - `id` string, uuid, required
    - `name` string, required
  - `owner_id` string, uuid
  - `parent` GoalRef, required
    - `id` string, uuid, required
    - `title` string, required
  - `parent_id` string, uuid
  - `private` boolean
  - `archived` boolean
  - `progress` integer, required: Progress percentage toward completing the goal.
  - `confidence` integer, required: Confidence score, normalized to one of: 30 (Off track), 60 (At risk), or 90 (On track). Returns 100 (On track) if no updates have been reported yet.
  - `confidence_description` 'Off track' | 'At risk' | 'On track', required: Human-readable label for the confidence score.
  - `contributors` PersonRef[], required
    - `id` string, uuid, required
    - `name` string, required
  - `contributor_ids` Id[]
  - `teams` TeamRef[], required
    - `id` string, uuid, required
    - `name` string, required
  - `team_ids` Id[]
  - `url` string, uri, required

## Other responses

- `<<`

---

[API](https://skmtc.dev/statushero/apis/steady-v2-rest-api.md) · [All operations](https://skmtc.dev/statushero/apis/steady-v2-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/statushero/apis/steady-v2-rest-api/revisions/a3ee255356cd?raw)
