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)
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

PlanMonthly proofsPrice
Pro100 / monthContact us
EnterpriseCustomContact 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"