---
title: "Change the status mapping"
method: PATCH
path: "/task-status-mapping"
tags: ["Task status mapping"]
---

# Change the status mapping

`PATCH /task-status-mapping`

## Request

- Base URL: `https://api.sazabi.com/v1`
- URL: `https://api.sazabi.com/v1/task-status-mapping`
- Auth: none declared

Turn the mapping on or off, set or empty any of the three rows, and on Jira pick the resolution a Resolved or an Ignored move closes with. Requires settings:write on the organization.

## Request body

- object
  - `organizationId` string: Organization whose tracker connection holds the mapping. Auto-filled from CLI and SDK context when omitted.
  - `provider` 'linear' | 'jira' | 'github', required: Task tracker whose connection holds the mapping.
  - `connectionId` string: The tracker connection holding the mapping. Defaults to the organization's live connection for the provider. GitHub may have one per installation.
  - `enabled` boolean: Turn the mapping on or off.
  - `mapping` object: Rows to change: a tracker state ref, or null to empty the row. An omitted row keeps its state. Two rows may pick the same state only where their resolutions tell them apart.
    - `open` string, nullable
    - `resolved` string, nullable
    - `ignored` string, nullable
  - `resolvedResolution` string, nullable: Jira only: the resolution ref a Resolved move closes with, or null to let the automatic done resolution decide. Refused while the Resolved row names a status that is not done-type.
  - `ignoredResolution` string, nullable: Jira only: the resolution ref an Ignored or Rejected move closes with, or null to let the tracker's first canceling resolution decide.

## Response `200`

OK

- object
  - `provider` 'linear' | 'jira' | 'github', required: Task tracker whose connection holds the mapping.
  - `enabled` boolean, required: Whether status flows between the issue and its task, in both directions.
  - `teamId` string, nullable, required: The tracker container (Linear team, Jira project, GitHub repository) whose states the rows name; null until a default is set.
  - `mapping` object, required: One row per Sazabi status; an empty row syncs nothing in either direction.
    - `open` object, nullable, required
      - `stateRef` string, required: The tracker's id for the state.
      - `name` string, required: The state's name in the tracker.
    - `resolved` object, nullable, required
      - `stateRef` string, required: The tracker's id for the state.
      - `name` string, required: The state's name in the tracker.
    - `ignored` object, nullable, required
      - `stateRef` string, required: The tracker's id for the state.
      - `name` string, required: The state's name in the tracker.
  - `resolvedResolution` object, nullable, required: The resolution a Resolved move closes the task with, for a tracker that keeps a reason on closed tickets (Jira). Null picks the automatic done resolution at push time ("Done", else "Fixed", else "Resolved", else the first that does not cancel); always null for a tracker without resolutions.
    - `ref` string, required: The tracker's id for the resolution.
    - `name` string, required: The resolution's name in the tracker.
  - `ignoredResolution` object, nullable, required: The resolution an Ignored or Rejected move closes the task with, for a tracker that keeps canceled in a resolution (Jira). Null picks the tracker's first canceling resolution at push time; always null for a tracker without resolutions.
    - `ref` string, required: The tracker's id for the resolution.
    - `name` string, required: The resolution's name in the tracker.

## Changes

- **2026-10-21** `7603203773d8`: 2 info
  - added the new optional request property `resolvedResolution`
  - added the required property `resolvedResolution` to the response with the `200` status
- **2026-10-21** `3ae568619997`: 1 warning, 2 info
  - added the new `github` enum value to the `provider` response property for the response status `200`
  - added the new optional request property `connectionId`
  - added the new `github` enum value to the request property `provider`
- **2026-10-20** `b32270ee84f4`: 1 warning, 3 info
  - added the new `jira` enum value to the `provider` response property for the response status `200`
  - added the new optional request property `ignoredResolution`
  - added the new `jira` enum value to the request property `provider`
  - added the required property `ignoredResolution` to the response with the `200` status
- **2026-10-19** `8961f4901b21`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sazabi/apis/sazabi-public-api/changes/task-status-mapping/patch.md)

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) - [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sazabi/apis/sazabi-public-api/revisions/965b6230cf45?raw)
