# “Time entries” Endpoints - PATCH Bulk editing time entries

**URL:** <https://community.toggl.com/t/time-entries-endpoints-patch-bulk-editing-time-entries/186>\
**Category:** API References\
**Tags:** time-entries, api, me-endpoint, patch, edit\
**Created:** [November 21, 2024, 12:59pm UTC](https://community.toggl.com/t/time-entries-endpoints-patch-bulk-editing-time-entries/186 "2024-11-21T12:59:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Support](https://yyz2.discourse-cdn.com/flex012/user_avatar/community.toggl.com/support/32/1577_2.png) [@Support](https://community.toggl.com/u/Support)\
**Post date:** [November 21, 2024, 12:59pm UTC](https://community.toggl.com/t/time-entries-endpoints-patch-bulk-editing-time-entries/186/1 "2024-11-21T12:59:48Z")

</div>

```auto
https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/time_entries/{time_entry_ids}

```

In short: [RFC 6902 - JavaScript Object Notation (JSON) Patch](http://tools.ietf.org/html/rfc6902) and [RFC 6901 - JavaScript Object Notation (JSON) Pointer](http://tools.ietf.org/html/rfc6901) with some additions. Patch will be executed partially when there are errors with some records. No transaction, no rollback.

- cURL
- Go
- Ruby
- JavaScript
- Python
- Rust

```auto
extern crate tokio;extern crate serde_json;use reqwest::{Client};use reqwest::header::{CONTENT_TYPE};#[tokio::main]async fn main() -> Result<(), reqwest::Error> { let client = Client::new().basic_auth("<email>", "<password>"); let json = client.request(Method::PATCH, "https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/time_entries/{time_entry_ids}".to_string()).json(&serde_json::json!([\{"op":"string","path":"string","value":\{\}\}])) .header(CONTENT_TYPE, "application/json") .send() .await? .json() .await?; println!("{:#?}", json); Ok(())}

```

### Parameters[​](https://engineering.toggl.com/docs/api/time_entries/#parameters-3)

#### Path[​](https://engineering.toggl.com/docs/api/time_entries/#path-2)

| name | type | required | description |
| --- | --- | --- | --- |
| workspace\_id | integer | true | Numeric ID of the workspace |
| time\_entry\_ids | string | true | Numeric IDs of time\_entries, separated by comma. E.g.: `204301830,202700150,202687559`. The limit is 100 IDs per request. |

#### Query[​](https://engineering.toggl.com/docs/api/time_entries/#query-4)

| name | type | required | description |
| --- | --- | --- | --- |
| meta | boolean | false | Should the response contain data for meta entities |

#### Body[​](https://engineering.toggl.com/docs/api/time_entries/#body-1)

| Name | Type | Description |
| --- | --- | --- |
| items | Array of object | - |

##### items[​](https://engineering.toggl.com/docs/api/time_entries/#items-1)

| Name | Type | Description |
| --- | --- | --- |
| op | string | Operation (add/remove/replace) |
| path | string | The path to the entity to patch (e.g. /description) |
| value | object | The new value for the entity in path. |

##### value[​](https://engineering.toggl.com/docs/api/time_entries/#value)

### Response[​](https://engineering.toggl.com/docs/api/time_entries/#response-4)

#### 200[​](https://engineering.toggl.com/docs/api/time_entries/#200-4)

| Name | Type | Description |
| --- | --- | --- |
| failure | Array of object | - |
| success | Array of integer | The IDs for which the patch was succesful. |

##### failure[​](https://engineering.toggl.com/docs/api/time_entries/#failure)

| Name | Type | Description |
| --- | --- | --- |
| id | integer | The ID for which the patch operation failed. |
| message | string | The operation failure reason. |

#### 500[​](https://engineering.toggl.com/docs/api/time_entries/#500-4)

Internal Server Error
