---
title: "Get MD5 Hash of File by URL"
method: POST
path: "/v1/file/hash"
tags: ["Document, File & System"]
---

# Get MD5 Hash of File by URL

`POST /v1/file/hash`

Calculate and return MD5 hash of file by url. Commonly used to control if the source document has been changed or not because every little change will cause hash string to differ as well.

## Request body

- object
  - `url` string, uri, required — URL to the source file [`url` attribute](/api/url-input-and-request-limits).
  - `httpusername` string — HTTP auth user name if required to access source URL.
  - `httppassword` string — HTTP auth password if required to access source URL.

## Response `200`

Success.

- object
  - `status` string — Status of the API response.
  - `message` string — Descriptive message for the response status.
  - `url` string, uri — URL to the output file.
  - `jobId` string — Unique identifier for the job.
  - `credits` integer — Credits used for this operation.
  - `remainingCredits` integer — Credits remaining after this operation.
  - `duration` integer — Time taken to complete the request, in milliseconds.

## Other responses

- `400` — Bad request. Typically due to bad input parameters or unreachable input URLs (e.g., access restrictions like login or password).
- `401` — Unauthorized. Authentication is required and has failed or has not yet been provided.
- `402` — Not enough credits.
- `403` — Access forbidden for input URL.
- `404` — The requested resource could not be found.
- `408` — The server timed out waiting for the request.
- `429` — Too many requests in a given time period.
- `441` — Invalid Password. Password protected document.
- `442` — Input document is damaged or of incorrect type.
- `443` — Permissions. The operation is prohibited by document security settings. You can turn off this check by setting the `profiles` param to `{CheckPermissions: false}`. Important: only use this if you are the owner or have legal permission.
- `444` — Profiles parsing error. Please ensure that the configuration is supported. See `/profiles` samples.
- `445` — Timeout error. For large documents, use asynchronous mode (`async=true`) and check status via `/job/check`. For many-page files, use the `pages` parameter.
- `446` — Some files required for conversion are missing.
- `447` — Invalid template.
- `448` — Invalid URL or HTML. Ensure the provided URL is valid and accessible.
- `449` — Invalid index range. Page index is out of range. Use `/pdf/info` to get page count. First page is `0`.
- `450` — Invalid page range specified.
- `452` — Invalid URL.
- `454` — Invalid parameters.
- `500` — Something went wrong. Please try again or contact support.

---

[API](https://skmtc.dev/pdf/apis/pdf-co-api.md) · [All operations](https://skmtc.dev/pdf/apis/pdf-co-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pdf/pdf-co-api/revisions/725c46c75153/schema)
