{"openapi":"3.0.3","info":{"title":"QuillSign API","version":"1.0.0","description":"Programmatic e-signature API. Authenticate with `Authorization: Bearer qsk_...`."},"servers":[{"url":"/v1"}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"qsk"}}},"security":[{"apiKey":[]}],"paths":{"/envelopes":{"get":{"summary":"List envelopes (paginated)","parameters":[{"name":"limit","in":"query","schema":{"type":"integer"}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Create a draft envelope","description":"Body: {title, filename, fileBase64}. Honors Idempotency-Key.","responses":{"201":{"description":"Created"}}}},"/envelopes/{id}":{"get":{"summary":"Get envelope status","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"put":{"summary":"Update a draft (recipients, fields, routing)","responses":{"200":{"description":"OK"}}}},"/envelopes/{id}/send":{"post":{"summary":"Send an envelope for signature","responses":{"200":{"description":"Sent"}}}},"/envelopes/{id}/void":{"post":{"summary":"Void a sent envelope","responses":{"200":{"description":"Voided"}}}},"/envelopes/{id}/document":{"get":{"summary":"Download the working or completed PDF","parameters":[{"name":"completed","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"PDF"}}}},"/templates":{"get":{"summary":"List templates","responses":{"200":{"description":"OK"}}}},"/templates/{id}/use":{"post":{"summary":"Create (and optionally send) an envelope from a template","responses":{"201":{"description":"Created"}}}}}}