---
title: documents.dailyLog | Doing Work API
description: Render the daily log for a job as a PDF: each day's entries in the workers' own words with who wrote them, and the photos they attached. Optional from and 
url: https://doingwork.work/docs/reference/documents-dailylog/
---

# documents.dailyLog

Render the daily log for a job as a PDF: each day's entries in the workers' own words with who wrote them, and the photos they attached. Optional from and to dates (inclusive). Core stores the PDF with its sha256 and returns it (base64).

|  |  |
|---|---|
| Who | Agents can call this |
| REST | `POST /v1/documents/daily-log` |
| MCP tool | `documents_dailyLog` |
| Writes | yes, send an Idempotency-Key |
| Area | [Signed job records](https://doingwork.work/docs/reference/#signed-job-records) |

## When to use it

Render the daily log for a job as a PDF: each day's entries in the workers' own words with who wrote them, and the photos they attached. Optional from and to dates (inclusive).

## What to tell the owner

Say what you did in plain words and what happens next.

## Input

| Field | Type | Required |
|---|---|---|
| `job_id` | string (uuid) | yes |
| `from` | string | no |
| `to` | string | no |
| `include_photos` | boolean | no |

## Example

```http
POST https://doingwork.work/v1/documents/daily-log
content-type: application/json
Idempotency-Key: 3f1c...

{
  "job_id": "00000000-0000-4000-8000-000000000000"
}
```

## Output

JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are `{code, message, status}`.

## Errors

| Code | Status | What to do |
|---|---|---|
| `invalid_input`, `invalid_token`, `rate_limited` |  | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |
