--- title: "Update order status" source_url: https://dev.digicert.com/certcentral-apis/services-api/orders/update-order-status.html api_method: PUT api_endpoint: "/services/v2/order/certificate/{{order_id}}/status" api_url: "https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status" --- **PUT** `https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status` Use this endpoint to update the status of the order with the given `order_id`. By updating the status of an order, you can: - **Cancel a pending order for a new or renewed certificate**. To cancel a pending order, the order status must be `pending` or `waiting_pickup`. - **Cancel a pending reissue.** To cancel a pending reissue, the order status must be `reissue_pending`. > **Tip** > > **Cancel and reject a pending reissue `request`** > > If you use the Services API to manage certificate request approvals, you can use the **Update order status** endpoint to cancel reissue requests that are pending admin approval. When using this endpoint to cancel a pending reissue `request`: > > - The reissue is canceled, and the `status` of the order changes from `reissue_pending` back to `issued`. > - The `status` of the corresponding `request` becomes `rejected`. > - The `note` (if provided) from the **Update order status** payload is stored in the `processor_comment` field on the rejected `request`. > > You can also reject a pending reissue `request` by using the [Update request status](https://dev.digicert.com/md/certcentral-apis/services-api/requests/update-request-status.md) endpoint. - **Mark a migrated certificate order as either `renewed` or `not_renewed`.** To mark a migrated certificate order as `renewed`, the certificate must be within 90 days of expiring, or it must have already expired. To mark a migrated certificate order as `not_renewed`, the order must already be marked as `renewed`. > **Info** > > **Migrated certificate orders** > > When you migrate an order from your legacy console and then renew it in CertCentral, the original order may not automatically update to reflect the renewal. To prevent these "renewed" orders from appearing alongside orders that still need to be renewed, you can manually change the status of the original order to renewed. > > To renew a migrated order that you've marked `renewed`, you must first set the status of that order to `not_renewed`. ## Example requests and response **cURL** ```bash curl -X PUT \ 'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status' \ -H 'Content-Type: application/json' \ -H 'X-DC-DEVKEY: {{api_key}}' \ -d '{ "status": "canceled", "note": "Message about the cancellation." }' ``` **Python** ```python import requests url = "https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status" payload = "{\n \"status\": \"canceled\",\n \"note\": \"Message about the cancellation.\"\n}" headers = { 'X-DC-DEVKEY': "{{api_key}}", 'Content-Type': "application/json" } response = requests.request("PUT", url, data=payload, headers=headers) print(response.text) ``` **Go** ```go package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status" payload := strings.NewReader("{\n \"status\": \"canceled\",\n \"note\": \"Message about the cancellation.\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("X-DC-DEVKEY", "{{api_key}}") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` **NodeJS** ```javascript var request = require("request"); var options = { method: 'PUT', url: 'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status', headers: { 'Content-Type': 'application/json', 'X-DC-DEVKEY': '{{api_key}}' }, body: { status: 'canceled', note: 'Message about the cancellation.' }, json: true }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); }); ``` ## 204 No Content ```json // empty ``` ## Request parameters
Name Req/Opt Type Description
status required string Updated status for the order.
Allowed values (case sensitive):
  • canceled
  • renewed
  • not_renewed
note conditional string Custom message about the status change.
The note parameter is required when canceling an order, and optional when performing other status update operations.