API

Anchor versions and check fingerprints over HTTP.

All endpoints are served from https://getobsol.com/api. Anchoring from your own systems is part of the Business plan; send requests with an Authorization: Bearer <api-key> header.

Anchor a version

Compute the fingerprint yourself and send only that — the file never reaches the server:

sha=$(sha256sum price-list.pdf | cut -d' ' -f1)
curl -H "Authorization: Bearer obs_…" \
     -H "content-type: application/json" \
     -d "{\"docId\":\"price-list-2026\",\"hash\":\"$sha\"}" \
     https://getobsol.com/api/register

If you prefer, post the file as multipart (-F docId=… -F file=@…); the server then hashes it and does not keep it.

{
  "docId": "price-list-2026",
  "version": "v3",
  "hash": "9f86d081…",
  "tx": "5K…",
  "explorer": "https://explorer.solana.com/tx/5K…"
}

If the exact same file was already anchored for this id, the existing version is returned with "duplicate": true.

Get a document's versions

curl https://getobsol.com/api/doc/price-list-2026

Returns current (latest version) and versions (all versions with version, hash, time, tx).

Look up a fingerprint

sha=$(sha256sum copy.pdf | cut -d' ' -f1)
curl https://getobsol.com/api/hash/$sha
{ "match": { "docId": "price-list-2026", "version": 2, "time": "…", "tx": "…" },
  "current": { "version": 3, "time": "…" } }

match: null means the fingerprint is not registered (UNRECOGNIZED). If current.version is greater than match.version, the copy is SUPERSEDED.