REST API
DocProof API
Create and verify document integrity proofs programmatically. All endpoints require an API key.
Authentication
Pass your API key in one of these headers:
Authorization: Bearer dp_your_api_key_here
# or
X-Api-Key: dp_your_api_key_here
API keys are available on the Pro and Enterprise plans. Contact us to request access.
Endpoints
POST
/api/v1/proofs
Create a proof
Upload a file to create a cryptographic integrity proof. The file is hashed in memory and immediately discarded.
Request (multipart/form-data)| Field | Type | Required | Description |
|---|---|---|---|
file | file | ✅ | Any file up to 25 MB |
title | string | — | Label for the proof (max 120 chars) |
note | string | — | Note shown on certificate (max 2000 chars) |
{
"proofId": "a1b2c3d4e5f6...",
"fileName": "contract.pdf",
"fileSize": 123456,
"fingerprint": "sha256hex...",
"createdUtc": "2026-06-30T12:00:00Z",
"title": "Client contract",
"expiresUtc": null,
"verifyUrl": "https://docproof.app/verify/check/a1b2c3...",
"certificateUrl": "https://docproof.app/docproof/certificate/a1b2c3...",
"quota": { "used": 1, "total": 100 }
}
GET
/api/v1/proofs/{id}
Get proof metadata
Retrieve metadata for a proof by its ID.
DELETE
/api/v1/proofs/{id}
Delete a proof (GDPR)
Permanently delete a proof and all associated metadata.
Rate Limits & Quotas
| Plan | Monthly proofs | Price |
|---|---|---|
| Pro | 100 / month | Contact us |
| Enterprise | Custom | Contact us |
Rate limit errors return HTTP 429. The response includes your current usage and quota.
Quick start (curl)
curl -X POST https://docproof.app/api/v1/proofs \
-H "Authorization: Bearer dp_your_key" \
-F "file=@contract.pdf" \
-F "title=Client contract Q3"