Skip to main content


Run through this quick checklist if your requests are not working

Make sure all endpoints and resource_uri end with a slash - '/'

Document create - make sure your signer array is within a list.

Make sure you include the Content-Type header application/json.

Do a GET request before a POST - confirm your Authorization header is formatted correctly.

A POST request success is 201. GET request success is status code 200.

Legalesign status codes

Status codes
POST & 201 - successful
PATCH & 202 - successful
DELETE & 204 - successful
400 - bad request (usually a failed POST)
401 - unauthorized
405 - method not allowed
429 - throttled
500 - HTTP error - usually json parsing error

Error information is often put in the BODY of the response. Check that for an explanation of what is going wrong.

Time format is:


Why is a user attribute needed? POST requests require a user attribute. You can send on behalf of other users in a group.

Still not working? Avoid frustration and contact us (with the problematic code snippet if possible) at


Document status codes

Document status codeText
10Initial state, check signer status for sent/unsent
20Fields completed
30Signed / Approved / Witnessed
40Removed (before signing)

Recipient status codes

Recipient (signer, approver, witness) status codeText
5Schedule to be sent
15Email opend
30Fields complete
35Field complex ex signature
39Waiting for a witness to complete