The manual

Docs.

Everything here speaks plain HTTP. Send a PDF with one request. No key needed: we email you a one-time code and hand back a throwaway key for that document. Log in to mint live keys.

View as machine

Send

POST /v1/documents
$ curl -F title='Repair authorization' \
       -F sender_email=you@example.com \
       -F signers='[{"name":"Jane",
         "email":"jane@example.com"}]' \
       -F file=@form.pdf \
       https://agentsign.co/v1/documents
{ "id": "doc_kx3q9", "status": "sent" }

Keys

sign_live_ sends, lists, and downloads. Mint one after you log in.

sign_tmp_ follows one document: status and download only. It cannot send. You get one when you send without logging in.

sign_agent_ names an agent. It signs off on its turn and gets a cryptographic receipt, not a pretend signature. It never signs for a person.

View as machine

Status

GET /v1/documents/{id}
$ curl https://agentsign.co/v1/documents/doc_kx3q9 \
       -H 'authorization: Bearer sign_live_...'
{ "status": "completed", "signers": [ … ], "audit": [ … ] }

Verify

Anyone can POST a sealed file back and get the verdict: valid or not, plus how many people signed and how many agents signed off. No key, no account. The file is the proof.

View as machine

Verify

POST /v1/verify
$ curl -F file=@sealed.pdf \
       https://agentsign.co/v1/verify
{ "valid": true, "human_signatures": 1, "agent_attestations": 1 }