DocProof API
Create cryptographic document proofs, timestamp files, and verify integrity programmatically. Prove a document existed at a specific date via REST API. 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 for developers and teams. Contact us to request access.
Endpoints
/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 }
}
/api/v1/proofs/{id}
Get proof metadata
Retrieve metadata for a proof by its ID.
/api/v1/proofs/{id}
Delete a proof (GDPR)
Permanently delete a proof and all associated metadata.
Rate Limits & Quotas
Each API key has a monthly proof quota configured at issuance. When the quota is reached, the API returns HTTP 429.
Every response includes your current usage and quota in the quota object.
Contact us to discuss your volume and get an API key.
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"