REST API

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

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)
FieldTypeRequiredDescription
filefileAny file up to 25 MB
titlestringLabel for the proof (max 120 chars)
notestringNote shown on certificate (max 2000 chars)
Response 200
{
  "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

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"