Private preview of the new site. Not live.

signatures.list

Signature requests for a job, a customer or a whole shop, newest first, with status and who signed. Filter by kind, status or subject_id.

WhoAgents can call this
RESTGET /v1/signatures
MCP toolsignatures_list
Writesno
AreaField work (checklists, forms, time, notes, change orders, subcontractors)

When to use it

Ask a customer, or someone in the shop, to sign a document: contract text you supply (for example a service agreement) or a PDF already stored on the job. signatures.request returns a sign_url on the hosted pages; send it to the signer yourself.

What to tell the owner

Tell them what you found in plain words. Don't read back raw fields.

Input

FieldTypeRequired
shop_idstring (uuid)no
job_idstring (uuid)no
customer_idstring (uuid)no
kindstringno
subject_idstring (uuid)no
statusstring (one of open, signed, cancelled)no
limitintegerno

Example

GET https://doingwork.work/v1/signatures?shop_id=00000000-0000-4000-8000-000000000000&job_id=00000000-0000-4000-8000-000000000000&customer_id=00000000-0000-4000-8000-000000000000&kind=...&subject_id=00000000-0000-4000-8000-000000000000&status=open&limit=1

Output

FieldTypeAlways there
itemsarrayyes
items[].signature_request_idstring (uuid)yes
items[].shop_idstring (uuid)yes
items[].job_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']yes
items[].customer_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']yes
items[].kindstringyes
items[].subject_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']yes
items[].titlestringyes
items[].job_document_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']yes
items[].document_sha256stringyes
items[].signer_rolestringyes
items[].signer_email['string', 'null']yes
items[].statusstringyes
items[].created_bystring (uuid)yes
items[].created_atstring (date-time)yes
items[].cancelled_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
items[].signature_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']yes
items[].signer_name['string', 'null']yes
items[].signed_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
{
  "items": [
    {
      "signature_request_id": "00000000-0000-4000-8000-000000000000",
      "shop_id": "00000000-0000-4000-8000-000000000000",
      "job_id": "00000000-0000-4000-8000-000000000000",
      "customer_id": "00000000-0000-4000-8000-000000000000",
      "kind": "...",
      "subject_id": "00000000-0000-4000-8000-000000000000",
      "title": "...",
      "job_document_id": "00000000-0000-4000-8000-000000000000",
      "document_sha256": "...",
      "signer_role": "...",
      "signer_email": "...",
      "status": "...",
      "created_by": "00000000-0000-4000-8000-000000000000",
      "created_at": "...",
      "cancelled_at": "...",
      "signature_id": "00000000-0000-4000-8000-000000000000",
      "signer_name": "...",
      "signed_at": "..."
    }
  ]
}

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.