> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://learning.postman.com/llms.txt. # Update a workspace update PATCH https://api.postman.com/workspaces/{workspaceId}/updates/{updateId} Content-Type: application/json Updates a workspace update. **Note:** This endpoint requires the `application/merge-patch+json` Content-Type header. Reference: https://learning.postman.com/api-docs/api-reference/workspaces/patch-workspace-update ## Authentication - `x-api-key` header (required) — API Key authentication via header ## Servers - `https://api.postman.com` (https://api.postman.com, default) - `https://api.eu.postman.com` (https://api.eu.postman.com) ## Request ### Path parameters - `workspaceId` (string, required) — The workspace's ID. - `updateId` (integer, required) — The workspace update's ID. ### Body (application/json) This endpoint expects an object. - `description` (string, required) — The content of the workspace update. - `topic` (string, required) — The title of the workspace update. - `category` (enum, required) — The update's assigned category. - Allowed values: `improvement`, `new_feature`, `bug_fix`, `breaking_change`, `announcement` - `isPinned` (boolean, optional, default: false) — If true, the workspace update is pinned to the top of the workspace updates list. - `relatedResources` (list of object, optional) — A list containing the update's related elements. Related elements include links to collections, requests, folders, and saved examples in the update. - `resource` (enum, required) — The type of linked resource. - Allowed values: `collection`, `request`, `response`, `folder`, `extensibleCollection`, `extensibleCollectionItem` - `resourceId` (string, required) — The linked resource's ID. ## Response ### 200 Successful Response - `id` (integer, optional) — The workspace update's ID. - `topic` (string, optional) — The title of the workspace update. - `description` (string, optional) — The content of the workspace update. - `workspaceId` (string, optional) — The ID of the workspace in which the workspace update was created. - `createdBy` (integer, optional) — The user ID of the user that created the workspace update. - `updatedBy` (integer, optional) — The ID of the user who last updated the workspace update. - `createdAt` (datetime, optional) — The date and time at which the workspace update was created. - `updatedAt` (datetime, optional) — The date and time at which the workspace update was last updated. - `category` (enum, optional) — The update's assigned category. - Allowed values: `improvement`, `new_feature`, `bug_fix`, `breaking_change`, `announcement` - `isPinned` (boolean, optional, default: false) — If true, the workspace update is pinned to the top of the workspace updates list. - `relatedResources` (list of object, optional) — A list containing the update's related elements. Related elements include links to collections, requests, folders, and saved examples in the update. - `resource` (enum, required) — The type of linked resource. - Allowed values: `collection`, `request`, `response`, `folder`, `extensibleCollection`, `extensibleCollectionItem` - `resourceId` (string, required) — The linked resource's ID. ## Errors ### 400 Bad Request Error Bad Request - `type` (string or string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — Information about the error. - `status` (integer, optional) — The error's HTTP status code. ### 401 Unauthorized Error Unauthorized - `type` (string, optional) — The [URI reference](https://www.rfc-editor.org/rfc/rfc3986) that identifies the type of problem. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — An explanation about the problem. - `status` (integer, optional) — The HTTP status code generated by the origin server. - `instance` (string, optional) — The URI reference that identifies the specific occurrence of the problem. ### 403 Forbidden Error Forbidden - `type` (string or string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — Information about the error. - `status` (integer, optional) — The error's HTTP status code. ### 404 Not Found Error Not Found - `type` (string or string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — Information about the error. - `status` (integer, optional) — The error's HTTP status code. ### 415 Unsupported Media Type Error Unsupported Media Type - `type` (string or string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — Information about the error. - `status` (integer, optional) — The error's HTTP status code. ### 422 Unprocessable Entity Error Unprocessable Content - `type` (string or string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — Information about the error. - `status` (integer, optional) — The error's HTTP status code. ### 500 Internal Server Error Internal Server Error - `object or object or object` - Error (Type, Title, Detail) - `type` (string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string or map from string to any, optional) — Information about the error. - Error (Type, Title, Detail, Status) - `type` (string or string, optional) — The type of error. - `title` (string, optional) — A short summary of the problem. - `detail` (string, optional) — Information about the error. - `status` (integer, optional) — The error's HTTP status code. - Error (Name, Message) - `error` (object, optional) — Information about the error. - `name` (string, optional) — The error name. - `message` (string, optional) — The error message. ## Examples ### Successful Response **Request** ```json undefined ``` **Response** ```json { "id": 1, "topic": "API v1.0 released", "description": "We've released the first version of our newest API!", "workspaceId": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", "createdBy": 12345678, "updatedBy": 12345678, "createdAt": "2026-04-10T09:36:21.000Z", "updatedAt": "2026-04-10T11:58:43.000Z", "category": "announcement", "isPinned": true, "relatedResources": [ { "resource": "collection", "resourceId": "12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2" } ] } ``` **SDK Code** ```python Successful Response import requests url = "https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123" headers = {"x-api-key": ""} response = requests.patch(url, headers=headers) print(response.json()) ``` ```javascript Successful Response const url = 'https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123'; const options = {method: 'PATCH', headers: {'x-api-key': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Successful Response package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123" req, _ := http.NewRequest("PATCH", url, nil) req.Header.Add("x-api-key", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Successful Response require 'uri' require 'net/http' url = URI("https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["x-api-key"] = '' response = http.request(request) puts response.read_body ``` ```java Successful Response import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123") .header("x-api-key", "") .asString(); ``` ```php Successful Response request('PATCH', 'https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123', [ 'headers' => [ 'x-api-key' => '', ], ]); echo $response->getBody(); ``` ```csharp Successful Response using RestSharp; var client = new RestClient("https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123"); var request = new RestRequest(Method.PATCH); request.AddHeader("x-api-key", ""); IRestResponse response = client.Execute(request); ``` ```swift Successful Response import Foundation let headers = ["x-api-key": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### Update a Workspace Update **Request** ```json { "description": "We've released the first version of our newest API!", "topic": "API v1.0 released", "category": "announcement", "isPinned": true, "relatedResources": [ { "resource": "collection", "resourceId": "12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2" } ] } ``` **Response** ```json { "id": 1, "topic": "API v1.0 released", "description": "We've released the first version of our newest API!", "workspaceId": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", "createdBy": 12345678, "updatedBy": 12345678, "createdAt": "2026-04-10T09:36:21.000Z", "updatedAt": "2026-04-10T11:58:43.000Z", "category": "announcement", "isPinned": true, "relatedResources": [ { "resource": "collection", "resourceId": "12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2" } ] } ``` **SDK Code** ```python Update a Workspace Update import requests url = "https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123" payload = { "description": "We've released the first version of our newest API!", "topic": "API v1.0 released", "category": "announcement", "isPinned": True, "relatedResources": [ { "resource": "collection", "resourceId": "12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2" } ] } headers = { "x-api-key": "", "Content-Type": "application/json" } response = requests.patch(url, json=payload, headers=headers) print(response.json()) ``` ```javascript Update a Workspace Update const url = 'https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123'; const options = { method: 'PATCH', headers: {'x-api-key': '', 'Content-Type': 'application/json'}, body: '{"description":"We\'ve released the first version of our newest API!","topic":"API v1.0 released","category":"announcement","isPinned":true,"relatedResources":[{"resource":"collection","resourceId":"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2"}]}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Update a Workspace Update package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123" payload := strings.NewReader("{\n \"description\": \"We've released the first version of our newest API!\",\n \"topic\": \"API v1.0 released\",\n \"category\": \"announcement\",\n \"isPinned\": true,\n \"relatedResources\": [\n {\n \"resource\": \"collection\",\n \"resourceId\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n ]\n}") req, _ := http.NewRequest("PATCH", url, payload) req.Header.Add("x-api-key", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Update a Workspace Update require 'uri' require 'net/http' url = URI("https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["x-api-key"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"description\": \"We've released the first version of our newest API!\",\n \"topic\": \"API v1.0 released\",\n \"category\": \"announcement\",\n \"isPinned\": true,\n \"relatedResources\": [\n {\n \"resource\": \"collection\",\n \"resourceId\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n ]\n}" response = http.request(request) puts response.read_body ``` ```java Update a Workspace Update import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123") .header("x-api-key", "") .header("Content-Type", "application/json") .body("{\n \"description\": \"We've released the first version of our newest API!\",\n \"topic\": \"API v1.0 released\",\n \"category\": \"announcement\",\n \"isPinned\": true,\n \"relatedResources\": [\n {\n \"resource\": \"collection\",\n \"resourceId\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n ]\n}") .asString(); ``` ```php Update a Workspace Update request('PATCH', 'https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123', [ 'body' => '{ "description": "We\'ve released the first version of our newest API!", "topic": "API v1.0 released", "category": "announcement", "isPinned": true, "relatedResources": [ { "resource": "collection", "resourceId": "12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2" } ] }', 'headers' => [ 'Content-Type' => 'application/json', 'x-api-key' => '', ], ]); echo $response->getBody(); ``` ```csharp Update a Workspace Update using RestSharp; var client = new RestClient("https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123"); var request = new RestRequest(Method.PATCH); request.AddHeader("x-api-key", ""); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"description\": \"We've released the first version of our newest API!\",\n \"topic\": \"API v1.0 released\",\n \"category\": \"announcement\",\n \"isPinned\": true,\n \"relatedResources\": [\n {\n \"resource\": \"collection\",\n \"resourceId\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n ]\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift Update a Workspace Update import Foundation let headers = [ "x-api-key": "", "Content-Type": "application/json" ] let parameters = [ "description": "We've released the first version of our newest API!", "topic": "API v1.0 released", "category": "announcement", "isPinned": true, "relatedResources": [ [ "resource": "collection", "resourceId": "12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2" ] ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.postman.com/workspaces/1f0df51a-8658-4ee8-a2a1-d2567dfa09a9/updates/123")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```