---
title: "Compare Documents (Redline)"
method: POST
path: "/document/redline"
---

# Compare Documents (Redline)

`POST /document/redline`

## Request

- Base URL: `https://api.diffchecker.com/public`
- URL: `https://api.diffchecker.com/public/document/redline`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in query parameter `email`

Upload an original DOCX (`left_docx`) and a revised DOCX (`right_docx`) as multipart/form-data. The response is a DOCX based on the revised document with differences represented as Microsoft Word tracked changes.

## Query parameters

- `email` string, email

## Headers

- `Diffchecker-Version` '1'

## Response `200`

Valid revised-document-based DOCX containing tracked changes. Usage has committed before delivery starts.

## Other responses

- `400`: Invalid multipart shape, filename, or DOCX package.
- `401`: Authentication failed. Provide a valid email or API key. Depending on the failure, the response can include more specific error codes.
- `404`: No endpoint matches the request path.
- `405`: The endpoint exists but does not support the request method. The `Allow` response header lists the methods it does support.
- `408`: Started redline processing exceeded its execution deadline.
- `413`: Compressed input, expanded package, worker resources, or generated output exceeded its safety limit. The two DOCX files may total at most 50 MB combined on any plan, and at most the plan's request size limit below that. Expanded-package structural limits include a combined maximum of 3,000 WordprocessingML paragraphs across both uploaded DOCX files.
- `415`: The request Content-Type is not one this endpoint accepts. `/text` accepts only application/json; the upload endpoints accept application/json and multipart/form-data.
- `429`: Rate limit exceeded. Depending on the throttle, the response may also include `retryAfterSeconds` and a `Retry-After` response header.
- `500`: Unexpected redline processing failure, or an unexpected server failure.
- `503`: Either redline capacity was unavailable or billing finalization could not be confirmed. `Retry-After` is present only for `REDLINE_CAPACITY_EXCEEDED`. It is absent for `PUBLIC_API_BILLING_UNAVAILABLE`; that outcome may be commit-ambiguous, so verify current usage before retrying.

---

[API](https://skmtc.dev/diffchecker/apis/diffchecker-api.md) · [All operations](https://skmtc.dev/diffchecker/apis/diffchecker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/diffchecker/apis/diffchecker-api/revisions/f2bb895fe9a7?raw)
