---
title: "Configure workspace statuses."
method: POST
path: "/api/workspaces/{workspaceId}/statuses"
tags: ["Workspaces"]
---

# Configure workspace statuses.

`POST /api/workspaces/{workspaceId}/statuses`

## Request

- Base URL: `https://app.airfocus.com`
- URL: `https://app.airfocus.com/api/workspaces/{workspaceId}/statuses`
- Auth: HTTP bearer

Sets statuses (all at once) for the specified workspace.
New statuses in the list will be added to the database, missing statuses will be removed from the database, all other statuses will be updated.
Each workspace must have at least one status in each category: 'draft', 'active', 'closed'<br/>Requirements:<br/>- auth-client scopes: "workspace"<br/>- user permission: "write" or higher

## Path parameters

- `workspaceId` string, uuid, required

## Query parameters

- `actAsAdmin` boolean

## Request body

- SetWorkspaceStatusesRequest
  - `replacements` object, required: A map of status replacements, where key is and OLD status-id and value is a NEW status-id. Replacements must be specified for each status being deleted from the workspace.This mapping will be used to migrate all items in the workspace to new statuses before deleting the old ones.
  - `statuses` Status[], required: Statuses to be set for the specified workspace. New statuses will be added to database, missing statuses will be removed from database.
    - `category` 'active' | 'closed' | 'draft', required: Status category adds some additional meaning to each status: - 'draft': only semantic meaning - 'active': only semantic meaning - 'closed': items with a status in this category will be considered as completed, which contributes to progress calculation (e.g. "1/3 items completed").
    - `color` 'blue' | 'coco' | 'daulphine' | 'great' | 'orange' | 'pink' | 'red' | 'violet' | 'yellow': Color of a status-chip in UI.
    - `default` boolean, required: Whether this status should be applied by default to newly created items. There can be only one default status in each workspace.
    - `id` string, uuid, required
    - `name` string, required: Name of this status in UI.
    - `order` integer, required: Order of this status comparing to other statuses in the same workspace.
    - `presetId` string, uuid: Id of the status preset it is part of. Empty if this status is custom for a workspace.
    - `workspaceId` string, uuid: The workspace this status belongs to. Empty for preset statuses, which are shared across workspaces

## Response `204`

## Other responses

- `400`: If path parameters are invalid or payload is invalid or resource does not exist.
- `401`: If missing authentication token.
- `403`: If user does not have the required permission, or authenticated client does not have the required access scopes.
- `default`: If any other error happens.

---

[API](https://skmtc.dev/airfocus/apis/airfocus-api.md) · [All operations](https://skmtc.dev/airfocus/apis/airfocus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/airfocus/apis/airfocus-api/revisions/fc9ccaa2ec6d?raw)
