POST /api/v1/addhash
Submit a SHA-256 hash to receive an RFC 3161 timestamp certificate.
Headers
| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Your API key |
Request Body
{
"hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"filename": "document.pdf",
"description": "Q1 financial report"
}
Response
{
"hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"certificate": "MIIGnAYJKo...",
"proofLink": "https://proofintegrity.net/proof/uuid-here",
"timestamp": "2026-04-03T12:00:00Z",
"verified": "VERIFYING"
}
Response Fields
| Field | Type | Description |
|---|---|---|
hash | string | SHA-256 hex (lowercase) |
certificate | string | Base64-encoded RFC 3161 TimeStampToken |
proofLink | string | Shareable public proof URL |
timestamp | string | RFC 3161 genTime (UTC ISO-8601) |
verified | string | Always VERIFYING at creation time — blockchain anchoring happens async. Check with /verifyhash or /proof/{hash} later. |
Error Codes
| Status | Condition |
|---|---|
| 400 | Invalid hash format (must be 64-char hex) |
| 401 | Missing or invalid API key |
| 429 | Rate limit exceeded (tier daily/monthly cap) |
| 500 | Timestamping server error |
cURL Example
curl -X POST https://proofintegrity.net/api/v1/addhash \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key-here" \
-d '{
"hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"filename": "document.pdf",
"description": "Q1 financial report"
}'