---
title: "Worklogs (v1)"
canonical: "https://support.appfire.com/space/7TFM/2253946983/Worklogs%20(v1)"
format: markdown
---
> Macro (aura-html)

| **On this page: **<br>> Macro (toc) |
| --- |

## Endpoint specification

> 📝 Developer documentation is available! This includes endpoint definitions and all current schemas. You can access it here: [Endpoint specification](https://timehubmdy.7pace.com/swagger/index.html?urls.primaryName=7pace+REST+API+v1)

## Actions

```
GET /api/v1/worklogs
```

Retrieve a paginated list of worklogs with optional filtering criteria. See **Get** below for more details. 

```
POST /api/v1/worklogs
```

Create a new worklog entry. See **Post **below for more details.

```
PUT /api/v1/worklogs/<worklog id>
```

Update a worklog using the worklog ID. See **Put **below for more details.

```
DELETE /api/v1/worklogs/<worklog id>
```

Delete a worklog using the worklog ID. See **Delete **below for more details.

## Query parameters

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| before | string | Cursor for pagination of results. Returns results before the specified cursor. |
| after | string | Cursor for pagination of results. Returns results after the specified cursor. |
| externalItemId | array of strings | Filter by external item IDs |
| assigneeId | array of strings | Filter by assignee IDs |
| authorId | array of strings | Filter by author IDs |
| startedAt.start | datetime | Start of worklog date range |
| startedAt.end | datetime | End of worklog date range |
| editedAt.start | datetime | Start of edit date range |
| editedAt.end | datetime | End of edit date range |
| createdAt.start | datetime | Start of create date range |
| createdAt.end | datetime | End of create date range |

### Passing Arrays in Queries

- When passing arrays (e.g., authorId, assigneeId, externalItemId), use comma-separated values:

```
GET /api/v1/worklogs?authorId=1,2,3,4
```

No need to repeat the parameter. The server automatically splits the values based on commas.

## GET

Retrieve a paginated list of worklogs with optional filtering criteria.

> ⚠️ 

### Returns

| **Name** | **Type** | **Notes** |
| --- | --- | --- |
| id | string | UUID. Does not change. |
| comment | string | Optional text entered by user, typically describing work performed. |
| startedAt | string | Date-time. UTC datetime when the user started the work being logged. |
| createdAt | string | Date-time. UTC datetime when the worklog was created in the system. |
| editedAt | string | Date-time. UTC datetime when the worklog was last modified. |
| assigneeId | string | The monday.com User ID. The user to whom the worklog belongs. |
| authorId | string | The monday.com User ID. The user who originally created the worklog. |
| accountId | string | The monday.com Account ID. |
| editorId | string | The monday.com User ID. The user who last edited the worklog. |
| duration | integer | Total time recorded for the worklog in seconds. |
| externalItemId | string | The monday.com Item ID. The internal, immutable ID for the item associated to the worklog. |
| customFields | ref | See [Custom Fields](https://appfire.atlassian.net/wiki/spaces/7TFM/pages/2253422874). |

### Example response

```
Response (200 OK)
{
    "result": [
        {
            "id": "<id_value>",
            "comment": null,
            "duration": 3600,
            "startedAt": "2025-07-07T13:00:00",
            "createdAt": "2025-07-08T22:23:41.756Z",
            "editedAt": "2025-07-08T22:23:41.756Z",
            "assigneeId": <assignee_id>,
            "authorId": <author_id>,
            "accountId": <account_id>,
            "editorId": <editor_id>,
            "externalItemId": "1035962",
            "customFields": {
                "toggle": [],
                "dropdown": []
            }
        },
        {
            "id": "<id_value>",
            "comment": "Setup a sandbox environment",
            "duration": 7200,
            "startedAt": "2025-07-07T16:28:01",
            "createdAt": "2025-07-07T22:28:24.108Z",
            "editedAt": "2025-07-07T22:28:24.108Z",
            "assigneeId": "<assignee_id>",
            "authorId": "<author_id>",
            "accountId": "<account_id>",
            "editorId": "<editor_id>",
            "externalItemId": "1035600",
            "customFields": {
                "toggle": [],
                "dropdown": []
            }
        }
    ],
    "_links": {
        "self": {
            "href": "https://timehubmdy.7pace.com/api/v1/worklogs"
        }
    },
    "pageInfo": {
        "startCursor": "MA==",
        "endCursor": "NA==",
        "hasNextPage": false,
        "hasPreviousPage": false
    }
}
```

## POST

Create a new worklog entry. To set custom fields, provide the custom field ID and the value for that worklog. See [Settings: Custom fields](https://appfire.atlassian.net/wiki/spaces/7TFM/pages/2253422874) for more information on retrieving custom field data. When using custom fields, all custom fields must be represented in the request body regardless of the value to be set. 

### Example request body

```
{
  "comment": "Setup of test environment",
  "startedAt": "2025-07-01T12:00:00",
  "assigneeId": "<id_value>",
  "duration": 3600,
  "externalItemId": "423432",
  "customFields": {
    "toggle": [
      {
        "id": "toggle-8dk9",
        "value": false
      }
    ],
    "dropdown": [
      {
        "id": "dropdown-uddw",
        "value": [
          "opt-1"
        ]
      }
    ]
  }
}
```

### Example response

```
{
    "worklog": {
        "id": "<id_value>",
        "comment": "Setup of test environment",
        "duration": 3600,
        "startedAt": "2025-07-01T12:00:00",
        "createdAt": "2025-07-30T19:47:58.038Z",
        "editedAt": "2025-07-30T19:47:58.038Z",
        "assigneeId": "<assignee_id>",
        "authorId": "<author_id>",
        "accountId": "<account_id>",
        "editorId": "<editor_id>",
        "externalItemId": "423432",
        "customFields": {
            "toggle": [
                {
                    "value": false,
                    "id": "toggle-8dk9"
                }
            ],
            "dropdown": [
                {
                    "value": [
                        "opt-1"
                    ],
                    "id": "dropdown-uddw"
                }
            ]
        }
    }
}
```

![api-postSuccessfulPostman.png](media://3e992eaa-8977-42f9-a593-2b2c97c855f2)

## PUT

Update a worklog using the worklog ID. When making an update, you must include the entire worklog object, changing the values for fields you want to update and including the fields you do not want to change (passing the original values). It is highly recommended that you use GET to retrieve the worklog then make the necessary changes with a PUT action.  

### Example request body

Using the example POST from above, update the **duration** value and the custom field **toggle-8dk9**. 

```
{
    "comment": "Setup of test environment",
    "duration": 4800,
    "startedAt": "2025-07-01T12:00:00",
    "assigneeId": "<assignee_id>",
    "externalItemId": "423432",
    "customFields": {
        "toggle": [
            {
                "value": true,
                "id": "toggle-8dk9"
            }
        ],
        "dropdown": [
            {
                "value": [
                    "opt-1"
                ],
                "id": "dropdown-uddw"
            }
        ]
    }
}
```

### Example response

```
{
    "worklog": {
        "id": "<id_value>",
        "comment": "Setup of test environment",
        "duration": 4800,
        "startedAt": "2025-07-01T12:00:00",
        "createdAt": "2025-07-30T19:47:58.038Z",
        "editedAt": "2025-07-31T16:57:05.205Z",
        "assigneeId": "<assignee_id>",
        "authorId": "<author_id>",
        "accountId": "<account_id>",
        "editorId": "<editor_id>",
        "externalItemId": "423432",
        "customFields": {
            "toggle": [
                {
                    "value": true,
                    "id": "toggle-8dk9"
                }
            ],
            "dropdown": [
                {
                    "value": [
                        "opt-1"
                    ],
                    "id": "dropdown-uddw"
                }
            ]
        }
    }
}
```

![api-putSuccessfulPostman.png](media://152cc977-9b7c-44e3-af3e-97a4a6e784ee)


## DELETE

Delete a worklog using the worklog ID. 

### Example response

![api-deleteSuccessfulPostman.png](media://ab7fd9f5-dfd9-46fb-99f6-c3fed339ec6d)