---
title: "Update a Work order Status"
method: PUT
path: "/workorders/{workorderId}/status"
tags: ["WorkOrders"]
---

# Update a Work order Status

`PUT /workorders/{workorderId}/status`

## Request

- Base URL: `https://sb2api.servicechannel.com/v3`
- URL: `https://sb2api.servicechannel.com/v3/workorders/{workorderId}/status`
- Auth: OAuth 2
  - Authorization code: `https://sb2login.servicechannel.com/oauth/authorize`
  - Token URL: `https://sb2login.servicechannel.com/oauth/token`
- TypeScript: <https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/docs/workorders/:workorderId/status/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates Work Order status with optional Note. Returns Work order Id for successful request.
            <br /><br />This method can only be used for users with 'WorkOrderStatusChange' permissions.
            Available for provider and subscriber usage.

## Path parameters

- `workorderId` integer, required

## Request body

- ServiceChannelServicesMessagingWorkordersChangeWoStatusRequestExt
  - `Status` ServiceChannelServicesMessagingWorkordersWorkorderStatusExt, required
    - `Primary` string, required: Required, primary work order status value
    - `Extended` string, required: Required, but can be empty. Extended status value
    - `PrimaryStatus` 'NotSet' | 'Open' | 'InProgress' | 'Completed' | 'Incomplete': Converted to WoPrimaryStatus, primary work order status value
  - `Note` string: Optional, Note
  - `Actor` string: Optional, Actor
  - `DeclineReasonId` integer: Optional, for OPEN/DECLINED status if DeclineHistoryWO FF is on
  - `CustomDeclineReason` string: Optional, for OPEN/DECLINED status if the decline reason has AskCustomReason=true

## Response `200`

Indicates that the request succeeded and that the requested information is in the response.

- ServiceChannelServicesMessagingWorkordersChangeWorkOrderStatusResponse
  - `result` string: Last note
  - `id` integer: Unique work order identifier.

## Other responses

- `400`: Bad Request - the request could not be understood or was missing required parameters. <br/>Error codes: <br/> 100 - You don't have location access to perform this operation; <br/> User has no permissions to perform this action; <br/> 502 - WorkOrder not found; <br/> 503 - Request data is empty; User data not found; <br/> 904 - Invalid WorkOrder status; <br/> User has no permission to set selected status; <br/> 921 - Cannot update invoiced Work order; <br/> 9001 - Decline reason id is required; <br/> 9002 - This decline reason doesn't allow custom text
- `401`: Indicates that the requested resource requires authentication. <br/>Error codes: <br/> 504 - API call rejected by security permissions;
- `500`: Indicates that a generic error has occurred on the server.

---

[API](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3.md) - [All operations](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/llms.txt) - [OpenAPI document](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/revisions/d490d6596809?raw)
