---
title: "PUT Upload a document"
method: PUT
path: "Upload a document"
tags: ["Send a document API"]
---

# PUT Upload a document

`PUT Upload a document`

## Request

- Base URL: `documentcapture.landregistry.gov.uk` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `documentcapture.landregistry.gov.uk/Upload a document`
- Auth: none required
- TypeScript: <https://skmtc.dev/hm-land-registry/apis/v0-3-submit-an-application-to-change-the-land-register-api-s/docs/Upload%20a%20document/put.ts> (a function with typed inputs; its response is checked against the schema)

Upload a document - Upload the document contents. **Note**: This URL, including hostname and path parameters is returned from the create URL endpoint and **should be used unmodified**. The path and hostname given in the API specification here are examples only.

## Headers

- `X-Amz-Checksum-Sha256` string
- `Content-Length` integer

## Request body `application/octet-stream`

- string, binary

## Response `200`

OK

## Other responses

- `403`: Forbidden. Ensure the content length and SHA-256 headers have been provided, and match both the file length and sha256 hash, and were the same values supplied to the create URL endpoint

---

[API](https://skmtc.dev/hm-land-registry/apis/v0-3-submit-an-application-to-change-the-land-register-api-s.md) - [All operations](https://skmtc.dev/hm-land-registry/apis/v0-3-submit-an-application-to-change-the-land-register-api-s/llms.txt) - [OpenAPI document](https://skmtc.dev/hm-land-registry/apis/v0-3-submit-an-application-to-change-the-land-register-api-s/revisions/66ddff5586eb?raw)
