API Reference

This page will help you get started with the SignWell API.

Get an API token

To get started with the API you'll want to get an API token. Your API token can be created on Settings -> API page.

Making a Request

Your introduction to the SignWell API starts at https://www.signwell.com/api/v1. This is the beginning of every end point.

curl https://www.signwell.com/api/v1/me -H 'X-Api-Key: "yourtoken"'

Authentication

We use API Key token authentication to identify and authorize users for the API. All you need to do as a developer is ask SignWell users to get their API token and pass it along in an authorization header.

X-Api-Key: "abc123abc123abc123abc123abc123"

Versioning

We're starting this API with version 1, hence the v1/ part of the API path. This just means that you can trust that v1 will keep working the way you expect it. When we have to introduce something that changes endpoints significantly, we'll bump the version of the API up one.

Rate Limits

We limit requests for each token to 100 requests in 60 seconds for most requests, but these two cases:

  1. Limit to 20 API request per minute on test mode.
  2. 30 API requests per minute for API requests creating documents/templates.

If you need a bigger rate limit you can contact our customer service and ask for a plan with a bigger limit.

Test Mode

While developing the API connection to SignWell you can enable "test mode" requests for chargeable resources. In this documentation you will notice that there are some resources that can receive the appropriate attribute for this.

{
    test_mode: true,
    ...
}

Status Codes

CodeReasonWhen You'll See It
200OK.Successful GET, PUT, and POST requests
204No ContentSuccessful DELETE requests
400Bad RequestMalformed request
401UnauthorizedRevoked or Invalid API token
404Not FoundCan't find the API resource or URL you asked for
422Unprocessable EntityInvalid data when creating or updating
429Too Many RequestsThe number of requests have reached the limit in a delimited period
500Internal Server ErrorSomething went very, very wrong

Errors

Whenever you get a 422 Unprocessable Entity code, it'll have a json-formatted error key with all the information for what went wrong:

{
    "errors": {
        "api_application_id": [
            "The provided API application id is invalid"
        ]
    }
}