NAV Navigation
HTTP

FastSign API v1.0

Rate limits

API access is rate limited per API token. The default setting is 30 requests per minute. Your current setting can be read from each API response header X-RateLimit-Limit.

Every response contains the HTTP header X-RateLimit-Remaining which will be 0 when your quota is reached. Use X-RateLimit-Reset to get the timestamp when one new API request can be made.

Code samples

HTTP/1.1 200 OK
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 1
HTTP/1.1 200 OK
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: Wed, 11 Mar 2020 20:48:07 +0200

Pagination

Some GET endpoints supports pagination. They are by default limited to 10 items per response. Every paginated response will contain Link headers with URL:s to next and previous pages.

Code samples

HTTP/1.1 200 OK
Link: <https://app.fastsign.se/api/contracts?page=eyJwYWdlIjoxLCJwYWdlX3NpemUiOjEwfQ%3D%3D>;rel="previous"
Link: <https://app.fastsign.se/api/contracts?page=eyJwYWdlIjoyLCJwYWdlX3NpemUiOjEwfQ%3D%3D>;rel="next"
Pagination-Page: 2
Pagination-Items-Total: 205
Pagination-Num-Pages: 11

Sorting

Some GET endpoints supports sorting of collections. You can set the sorting by the sort query parameter. The value is a comma separated list of properties. The default sorting direction is ascending. Select descending for a property by prefix a minus sign.

?sort=name,-created_time

Authentication

Every API request must be authenticated with the Authorization HTTP header. The value of this header must be string token succeeded with your API key. Your API key consists of public_id:secret_key.

Code samples

GET https://app.fastsign.se/api/ HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {public_id}:{secret_key}

User authentication

Some API request requires an extra HTTP header Api-User-Uri for impersonating the author of the resource.

Code samples

GET https://app.fastsign.se/api/ HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: /api/users/{user_id}

Posting data

This API accepts both JSON and URL encoded form data in request bodies with POST or PUT.

Supported content types

Malformed JSON

Sending a malformed JSON body with content type application/json will result in a JsonProblemResponse and HTTP status code 400.

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Authentication

Contract annotations

Get all contract annotations

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id}/annotations HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}/annotations

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID

Example responses

200 Response

[
  {
    "self": "/api/contracts/85/annotations/86444",
    "pdf_page": 0,
    "pos_x": 0,
    "pos_y": 0,
    "width": 0,
    "height": 0,
    "type": "SIGNATURE",
    "content": "string",
    "created_by": "/api/users/15",
    "created_time": "2020-02-29 13:37:00"
  }
]

Responses

Status Meaning Description Schema
200 OK Contract annotations Inline
4XX Unknown Error JsonProblemResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiContractAnnotation] false none none

Create a new contract annotation

Code samples

POST https://app.fastsign.se/api/contracts/{contract_id}/annotations HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: API_KEY

POST /contracts/{contract_id}/annotations

Body parameter

{
  "pdf_page": 0,
  "pos_x": 0,
  "pos_y": 0,
  "width": 0,
  "height": 0,
  "type": "SIGNATURE",
  "content": "string"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
body body ApiContractAnnotation true none

Example responses

201 Response

{
  "self": "/api/contracts/85/annotations/86444",
  "pdf_page": 0,
  "pos_x": 0,
  "pos_y": 0,
  "width": 0,
  "height": 0,
  "type": "SIGNATURE",
  "content": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
201 Created The newly created contract annotation ApiContractAnnotation
4XX Unknown Error JsonProblemResponse

Get contract annotation

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id}/annotations/{annotation_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}/annotations/{annotation_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
annotation_id path integer true The contract annotation ID

Example responses

200 Response

{
  "self": "/api/contracts/85/annotations/86444",
  "pdf_page": 0,
  "pos_x": 0,
  "pos_y": 0,
  "width": 0,
  "height": 0,
  "type": "SIGNATURE",
  "content": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
200 OK Contract annotation ApiContractAnnotation
4XX Unknown Error JsonProblemResponse

Update a contract annotation

Code samples

PUT https://app.fastsign.se/api/contracts/{contract_id}/annotations/{annotation_id} HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: API_KEY

PUT /contracts/{contract_id}/annotations/{annotation_id}

No properties are required, only set those properties needing a update

Body parameter

{
  "pdf_page": 0,
  "pos_x": 0,
  "pos_y": 0,
  "width": 0,
  "height": 0,
  "type": "SIGNATURE",
  "content": "string"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
annotation_id path integer true The contract annotation ID
contract_id path integer true The contract ID
body body ApiContractAnnotation true none

Example responses

200 Response

{
  "self": "/api/contracts/85/annotations/86444",
  "pdf_page": 0,
  "pos_x": 0,
  "pos_y": 0,
  "width": 0,
  "height": 0,
  "type": "SIGNATURE",
  "content": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
200 OK The updated contract annotation ApiContractAnnotation
4XX Unknown Error JsonProblemResponse

Delete contract annotation

Code samples

DELETE https://app.fastsign.se/api/contracts/{contract_id}/annotations/{annotation_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

DELETE /contracts/{contract_id}/annotations/{annotation_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
annotation_id path integer true The contract annotation ID
contract_id path integer true The contract ID

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
204 No Content Empty result if the contract annotation was deleted None
4XX Unknown Error JsonProblemResponse

Contract attachments

Get all contract attachments

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id}/attachments HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}/attachments

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID

Example responses

200 Response

[
  {
    "self": "/api/contracts/85/attachments/5356",
    "name": "string",
    "preview_uri": "https://app.fastsign.se/contract_attachment_preview/i/5356/encrypted_data",
    "created_by": "/api/users/15",
    "created_time": "2020-02-29 13:37:00"
  }
]

Responses

Status Meaning Description Schema
200 OK Contract attachments Inline
4XX Unknown Error JsonProblemResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiContractAttachment] false none none

Create a new contract attachment

Code samples

POST https://app.fastsign.se/api/contracts/{contract_id}/attachments HTTP/1.1
Host: app.fastsign.se
Content-Type: application/octet-stream
Accept: application/json
Accept-Api-Version: 1
Content-Type: application/pdf
Content-Disposition: attachment; filename="my_attachment.pdf"
Authorization: token {token}
Api-User-Uri: API_KEY

POST /contracts/{contract_id}/attachments

Body parameter

string

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
Content-Type header string true Attachment content type
Content-Disposition header string true Attachment disposition containing the filename
body body string(binary) true Attachment data

Example responses

201 Response

{
  "self": "/api/contracts/85/attachments/5356",
  "name": "string",
  "preview_uri": "https://app.fastsign.se/contract_attachment_preview/i/5356/encrypted_data",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
201 Created The newly created contract attachment ApiContractAttachment
4XX Unknown Error JsonProblemResponse

Get contract party

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id}/attachments/{attachment_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}/attachments/{attachment_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
attachment_id path integer true The contract attachment ID

Example responses

200 Response

{
  "self": "/api/contracts/85/attachments/5356",
  "name": "string",
  "preview_uri": "https://app.fastsign.se/contract_attachment_preview/i/5356/encrypted_data",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
200 OK Contract attachment ApiContractAttachment
4XX Unknown Error JsonProblemResponse

Delete contract attachment

Code samples

DELETE https://app.fastsign.se/api/contracts/{contract_id}/attachments/{attachment_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

DELETE /contracts/{contract_id}/attachments/{attachment_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
attachment_id path integer true The contract attachment ID
contract_id path integer true The contract ID

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
204 No Content Empty result if the contract attachment was deleted None
4XX Unknown Error JsonProblemResponse

Contract parties

Get all contract parties

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id}/parties HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}/parties

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID

Example responses

200 Response

[
  {
    "self": "/api/contracts/85/parties/452",
    "name": "string",
    "email": "string",
    "mobile_phone": "string",
    "sign_type": "DEFAULT",
    "is_accept": true,
    "sign_time": "2020-02-29 13:37:00",
    "reject_cause": "string",
    "created_by": "/api/users/15",
    "created_time": "2020-02-29 13:37:00",
    "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
    "user": "/api/users/15"
  }
]

Responses

Status Meaning Description Schema
200 OK Contract parties Inline
4XX Unknown Error JsonProblemResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiContractParty] false none [A party can be created in two ways;
* setting the name property in conjunction with email or mobile_phone
* setting the user_id property]

Create a new contract party

Code samples

POST https://app.fastsign.se/api/contracts/{contract_id}/parties HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: API_KEY

POST /contracts/{contract_id}/parties

Body parameter

{
  "name": "string",
  "email": "string",
  "mobile_phone": "string",
  "sign_type": "DEFAULT",
  "user": "/api/users/15"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
body body ApiContractParty true none

Example responses

201 Response

{
  "self": "/api/contracts/85/parties/452",
  "name": "string",
  "email": "string",
  "mobile_phone": "string",
  "sign_type": "DEFAULT",
  "is_accept": true,
  "sign_time": "2020-02-29 13:37:00",
  "reject_cause": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
  "user": "/api/users/15"
}

Responses

Status Meaning Description Schema
201 Created The newly created contract party ApiContractParty
4XX Unknown Error JsonProblemResponse

Get contract party

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id}/parties/{party_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}/parties/{party_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
party_id path integer true The contract party ID

Example responses

200 Response

{
  "self": "/api/contracts/85/parties/452",
  "name": "string",
  "email": "string",
  "mobile_phone": "string",
  "sign_type": "DEFAULT",
  "is_accept": true,
  "sign_time": "2020-02-29 13:37:00",
  "reject_cause": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
  "user": "/api/users/15"
}

Responses

Status Meaning Description Schema
200 OK Contract party ApiContractParty
4XX Unknown Error JsonProblemResponse

Update a contract party

Code samples

PUT https://app.fastsign.se/api/contracts/{contract_id}/parties/{party_id} HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: API_KEY

PUT /contracts/{contract_id}/parties/{party_id}

No properties are required, only set those properties needing a update

Body parameter

{
  "name": "string",
  "email": "string",
  "mobile_phone": "string",
  "sign_type": "DEFAULT",
  "user": "/api/users/15"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
party_id path integer true The contract party ID
contract_id path integer true The contract ID
body body ApiContractParty true none

Example responses

200 Response

{
  "self": "/api/contracts/85/parties/452",
  "name": "string",
  "email": "string",
  "mobile_phone": "string",
  "sign_type": "DEFAULT",
  "is_accept": true,
  "sign_time": "2020-02-29 13:37:00",
  "reject_cause": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
  "user": "/api/users/15"
}

Responses

Status Meaning Description Schema
200 OK The updated contract party ApiContractParty
4XX Unknown Error JsonProblemResponse

Delete contract party

Code samples

DELETE https://app.fastsign.se/api/contracts/{contract_id}/parties/{party_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

DELETE /contracts/{contract_id}/parties/{party_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
party_id path integer true The contract party ID
contract_id path integer true The contract ID

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
204 No Content Empty result if the contract party was deleted None
4XX Unknown Error JsonProblemResponse

Contract templates

Get all contract templates

Code samples

GET https://app.fastsign.se/api/contract_templates HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contract_templates

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested

Example responses

200 Response

[
  {
    "self": "/api/contract_templates/3",
    "name": "string",
    "is_published": true,
    "header": "string",
    "content": "string",
    "footer": "string",
    "footer_type": "SIMPLE",
    "created_time": "2020-02-29 13:37:00",
    "updated_time": "2020-02-29 13:37:00",
    "created_by": "/api/users/15"
  }
]

Responses

Status Meaning Description Schema
200 OK Contract templates Inline
4XX Unknown Error JsonProblemResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiContractTemplate] false none none

Create a new contract template

Code samples

POST https://app.fastsign.se/api/contract_templates HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

POST /contract_templates

Body parameter

{
  "name": "string",
  "is_published": true,
  "header": "string",
  "content": "string",
  "footer": "string",
  "footer_type": "SIMPLE"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
body body ApiContractTemplate true none

Example responses

201 Response

{
  "self": "/api/contract_templates/3",
  "name": "string",
  "is_published": true,
  "header": "string",
  "content": "string",
  "footer": "string",
  "footer_type": "SIMPLE",
  "created_time": "2020-02-29 13:37:00",
  "updated_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15"
}

Responses

Status Meaning Description Schema
201 Created The newly created template ApiContractTemplate
4XX Unknown Error JsonProblemResponse

Get contract template

Code samples

GET https://app.fastsign.se/api/contract_templates/{template_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contract_templates/{template_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
template_id path integer true The template ID

Example responses

200 Response

{
  "self": "/api/contract_templates/3",
  "name": "string",
  "is_published": true,
  "header": "string",
  "content": "string",
  "footer": "string",
  "footer_type": "SIMPLE",
  "created_time": "2020-02-29 13:37:00",
  "updated_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15"
}

Responses

Status Meaning Description Schema
200 OK Contract templates ApiContractTemplate
4XX Unknown Error JsonProblemResponse

Update a contract template

Code samples

PUT https://app.fastsign.se/api/contract_templates/{template_id} HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

PUT /contract_templates/{template_id}

No properties are required, only set those properties needing a update

Body parameter

{
  "name": "string",
  "is_published": true,
  "header": "string",
  "content": "string",
  "footer": "string",
  "footer_type": "SIMPLE"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
template_id path integer true The template ID
body body ApiContractTemplate true none

Example responses

200 Response

{
  "self": "/api/contract_templates/3",
  "name": "string",
  "is_published": true,
  "header": "string",
  "content": "string",
  "footer": "string",
  "footer_type": "SIMPLE",
  "created_time": "2020-02-29 13:37:00",
  "updated_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15"
}

Responses

Status Meaning Description Schema
200 OK The updated contract template ApiContractTemplate
4XX Unknown Error JsonProblemResponse

Delete contract template

Code samples

DELETE https://app.fastsign.se/api/contract_templates/{template_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

DELETE /contract_templates/{template_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
template_id path integer true The template ID

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
204 No Content Empty result if the template was deleted None
4XX Unknown Error JsonProblemResponse

Contracts

Get all contracts

Code samples

GET https://app.fastsign.se/api/contracts HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
status query string false Filter by status
user query string false Filter by user (author)
name query string false Search by name
page query string false Sets page
sort query string false Specifies sort direction for result, comma separated

Enumerated Values

Parameter Value
status draft
status sent
status signed
status rejected
sort id
sort name
sort is_signed
sort updated_time

Example responses

200 Response

[
  {
    "self": "/api/contracts/85",
    "name": "string",
    "content": "string",
    "pdf_preview_uri": "https://app.fastsign.se/contract_pdf_preview/i/85/encrypted_data",
    "email_invite_content": "string",
    "sent_time": "2020-02-29 13:37:00",
    "expire_time": "2020-02-29 13:37:00",
    "created_by": "/api/users/15",
    "created_time": "2020-02-29 13:37:00",
    "template": "/api/contract_templates/3",
    "is_answered": true,
    "is_signed": true
  }
]

Responses

Status Meaning Description Schema
200 OK Contracts Inline
4XX Unknown Error JsonProblemResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiContractSubset] false none none

Response Headers

Status Header Type Format Description
200 Pagination-Page integer Current page
200 Pagination-Items-Total integer Total number of items in endpoint
200 Pagination-Num-Pages integer Total number of pages

Create a new contract

Code samples

POST https://app.fastsign.se/api/contracts HTTP/1.1
Host: app.fastsign.se
Content-Type: application/pdf
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: API_KEY

POST /contracts

Body parameter

"string"
{
  "template": "/api/contract_templates/3"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
body body string(binary) true Either a complete PDF in binary form or JSON body with property template
body body object true Either a complete PDF in binary form or JSON body with property template
ยป template body string false none

Example responses

201 Response

{
  "self": "/api/contracts/85",
  "name": "string",
  "content": "string",
  "pdf_preview_uri": "https://app.fastsign.se/contract_pdf_preview/i/85/encrypted_data",
  "email_invite_content": "string",
  "sent_time": "2020-02-29 13:37:00",
  "expire_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "template": "/api/contract_templates/3",
  "is_answered": true,
  "is_signed": true,
  "parties": [
    {
      "self": "/api/contracts/85/parties/452",
      "name": "string",
      "email": "string",
      "mobile_phone": "string",
      "sign_type": "DEFAULT",
      "is_accept": true,
      "sign_time": "2020-02-29 13:37:00",
      "reject_cause": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00",
      "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
      "user": "/api/users/15"
    }
  ],
  "annotations": [
    {
      "self": "/api/contracts/85/annotations/86444",
      "pdf_page": 0,
      "pos_x": 0,
      "pos_y": 0,
      "width": 0,
      "height": 0,
      "type": "SIGNATURE",
      "content": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00"
    }
  ]
}

Responses

Status Meaning Description Schema
201 Created The newly created contract ApiContract
4XX Unknown Error JsonProblemResponse

Get contract

Code samples

GET https://app.fastsign.se/api/contracts/{contract_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /contracts/{contract_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID

Example responses

200 Response

{
  "self": "/api/contracts/85",
  "name": "string",
  "content": "string",
  "pdf_preview_uri": "https://app.fastsign.se/contract_pdf_preview/i/85/encrypted_data",
  "email_invite_content": "string",
  "sent_time": "2020-02-29 13:37:00",
  "expire_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "template": "/api/contract_templates/3",
  "is_answered": true,
  "is_signed": true,
  "parties": [
    {
      "self": "/api/contracts/85/parties/452",
      "name": "string",
      "email": "string",
      "mobile_phone": "string",
      "sign_type": "DEFAULT",
      "is_accept": true,
      "sign_time": "2020-02-29 13:37:00",
      "reject_cause": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00",
      "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
      "user": "/api/users/15"
    }
  ],
  "annotations": [
    {
      "self": "/api/contracts/85/annotations/86444",
      "pdf_page": 0,
      "pos_x": 0,
      "pos_y": 0,
      "width": 0,
      "height": 0,
      "type": "SIGNATURE",
      "content": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Contracts ApiContract
4XX Unknown Error JsonProblemResponse

Update a contract

Code samples

PUT https://app.fastsign.se/api/contracts/{contract_id} HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}
Api-User-Uri: API_KEY

PUT /contracts/{contract_id}

No properties are required, only set those properties needing a update

Body parameter

{
  "name": "string",
  "content": "string",
  "email_invite_content": "string",
  "expire_time": "2020-02-29 13:37:00",
  "template": "/api/contract_templates/3"
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
body body ApiContract true none

Example responses

200 Response

{
  "self": "/api/contracts/85",
  "name": "string",
  "content": "string",
  "pdf_preview_uri": "https://app.fastsign.se/contract_pdf_preview/i/85/encrypted_data",
  "email_invite_content": "string",
  "sent_time": "2020-02-29 13:37:00",
  "expire_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "template": "/api/contract_templates/3",
  "is_answered": true,
  "is_signed": true,
  "parties": [
    {
      "self": "/api/contracts/85/parties/452",
      "name": "string",
      "email": "string",
      "mobile_phone": "string",
      "sign_type": "DEFAULT",
      "is_accept": true,
      "sign_time": "2020-02-29 13:37:00",
      "reject_cause": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00",
      "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
      "user": "/api/users/15"
    }
  ],
  "annotations": [
    {
      "self": "/api/contracts/85/annotations/86444",
      "pdf_page": 0,
      "pos_x": 0,
      "pos_y": 0,
      "width": 0,
      "height": 0,
      "type": "SIGNATURE",
      "content": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The updated contract ApiContract
4XX Unknown Error JsonProblemResponse

Delete contract

Code samples

DELETE https://app.fastsign.se/api/contracts/{contract_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

DELETE /contracts/{contract_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
204 No Content Empty result if the contract was deleted None
4XX Unknown Error JsonProblemResponse

Send a contract

Code samples

POST https://app.fastsign.se/api/contracts/{contract_id}/send HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

POST /contracts/{contract_id}/send

Body parameter

{
  "silent": true,
  "auto_sign": true
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
contract_id path integer true The contract ID
body body ApiContractSend false none

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
200 OK No response None
4XX Unknown Error JsonProblemResponse

Users

Get all users

Code samples

GET https://app.fastsign.se/api/users HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /users

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested

Example responses

200 Response

[
  {
    "self": "/api/users/15",
    "permission_template": "CUSTOMER_ADMIN_USER",
    "firstname": "string",
    "lastname": "string",
    "username": "string",
    "email": "string",
    "active": true,
    "created_time": "2020-02-29 13:37:00"
  }
]

Responses

Status Meaning Description Schema
200 OK Users Inline
4XX Unknown Error JsonProblemResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ApiUser] false none none

Create a new user

Code samples

POST https://app.fastsign.se/api/users HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

POST /users

Body parameter

{
  "permission_template": "CUSTOMER_ADMIN_USER",
  "firstname": "string",
  "lastname": "string",
  "username": "string",
  "password": "string",
  "email": "string",
  "active": true
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
body body ApiUser true none

Example responses

201 Response

{
  "self": "/api/users/15",
  "permission_template": "CUSTOMER_ADMIN_USER",
  "firstname": "string",
  "lastname": "string",
  "username": "string",
  "email": "string",
  "active": true,
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
201 Created The newly created user ApiUser
4XX Unknown Error JsonProblemResponse

Get user

Code samples

GET https://app.fastsign.se/api/users/{user_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

GET /users/{user_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
user_id path integer true The user ID

Example responses

200 Response

{
  "self": "/api/users/15",
  "permission_template": "CUSTOMER_ADMIN_USER",
  "firstname": "string",
  "lastname": "string",
  "username": "string",
  "email": "string",
  "active": true,
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
200 OK Users ApiUser
4XX Unknown Error JsonProblemResponse

Update a user

Code samples

PUT https://app.fastsign.se/api/users/{user_id} HTTP/1.1
Host: app.fastsign.se
Content-Type: application/json
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

PUT /users/{user_id}

No properties are required, only set those properties needing a update

Body parameter

{
  "permission_template": "CUSTOMER_ADMIN_USER",
  "firstname": "string",
  "lastname": "string",
  "username": "string",
  "password": "string",
  "email": "string",
  "active": true
}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
user_id path integer true The user ID
body body ApiUser true none

Example responses

200 Response

{
  "self": "/api/users/15",
  "permission_template": "CUSTOMER_ADMIN_USER",
  "firstname": "string",
  "lastname": "string",
  "username": "string",
  "email": "string",
  "active": true,
  "created_time": "2020-02-29 13:37:00"
}

Responses

Status Meaning Description Schema
200 OK The updated user ApiUser
4XX Unknown Error JsonProblemResponse

Delete user

Code samples

DELETE https://app.fastsign.se/api/users/{user_id} HTTP/1.1
Host: app.fastsign.se
Accept: application/json
Accept-Api-Version: 1
Authorization: token {token}

DELETE /users/{user_id}

Parameters

Name In Type Required Description
Accept-Api-Version header integer true Specifies which version of this API is requested
user_id path integer true The user ID

Example responses

4XX Response

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Responses

Status Meaning Description Schema
204 No Content Empty result if the user was deleted None
4XX Unknown Error JsonProblemResponse

Schemas

ApiContractSend

{
  "silent": true,
  "auto_sign": true
}

Properties

Name Type Required Restrictions Description
silent boolean false none True if the contract should be sent silently to the parties. Sending silently means no e-mail or SMS will be sent to parties.
auto_sign boolean false none True if the contract should be auto-signed on behalf of sending user. Must be enabled per API token, please contact support.

ApiContract

{
  "self": "/api/contracts/85",
  "name": "string",
  "content": "string",
  "pdf_preview_uri": "https://app.fastsign.se/contract_pdf_preview/i/85/encrypted_data",
  "email_invite_content": "string",
  "sent_time": "2020-02-29 13:37:00",
  "expire_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "template": "/api/contract_templates/3",
  "is_answered": true,
  "is_signed": true,
  "parties": [
    {
      "self": "/api/contracts/85/parties/452",
      "name": "string",
      "email": "string",
      "mobile_phone": "string",
      "sign_type": "DEFAULT",
      "is_accept": true,
      "sign_time": "2020-02-29 13:37:00",
      "reject_cause": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00",
      "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
      "user": "/api/users/15"
    }
  ],
  "annotations": [
    {
      "self": "/api/contracts/85/annotations/86444",
      "pdf_page": 0,
      "pos_x": 0,
      "pos_y": 0,
      "width": 0,
      "height": 0,
      "type": "SIGNATURE",
      "content": "string",
      "created_by": "/api/users/15",
      "created_time": "2020-02-29 13:37:00"
    }
  ]
}

Properties

allOf

and

ApiContractAnnotation

{
  "self": "/api/contracts/85/annotations/86444",
  "pdf_page": 0,
  "pos_x": 0,
  "pos_y": 0,
  "width": 0,
  "height": 0,
  "type": "SIGNATURE",
  "content": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Properties

Name Type Required Restrictions Description
self string true read-only none
pdf_page integer true none none
pos_x number true none Horizontal position in percentages of PDF page width
pos_y number true none Vertical position in percentages of PDF page height
width number true none Width in percentages of PDF page width
height number true none Height in percentages of PDF page height
type string true none none
content string false none If type is set to SIGNATURE this property should contain the numeric ID of the party whose signature this annotation belongs to.
created_by string true read-only none
created_time string true read-only none

Enumerated Values

Property Value
type SIGNATURE
type NOTE
type CHECKBOX

ApiContractAttachment

{
  "self": "/api/contracts/85/attachments/5356",
  "name": "string",
  "preview_uri": "https://app.fastsign.se/contract_attachment_preview/i/5356/encrypted_data",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00"
}

Properties

Name Type Required Restrictions Description
self string true read-only none
name string true none none
preview_uri string true read-only none
created_by string true read-only none
created_time string true read-only none

ApiContractParty

{
  "self": "/api/contracts/85/parties/452",
  "name": "string",
  "email": "string",
  "mobile_phone": "string",
  "sign_type": "DEFAULT",
  "is_accept": true,
  "sign_time": "2020-02-29 13:37:00",
  "reject_cause": "string",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "contract_url": "https://app.fastsign.se/s/1YNb7Knv9Xl2WivR0A5l1q",
  "user": "/api/users/15"
}

A party can be created in two ways;

Properties

Name Type Required Restrictions Description
self string true read-only none
name string false none Can't be used together with user_id
email string false none Can't be used together with user_id
mobile_phone string false none Can't be used together with user_id
sign_type string true none none
is_accept boolean true read-only none
sign_time string false read-only none
reject_cause string false read-only none
created_by string true read-only none
created_time string true read-only none
contract_url string true read-only none
user string false none Set this property if party is internal FastSign user. Use self as value for the authenticated user or a URI to other user.

Enumerated Values

Property Value
sign_type DEFAULT
sign_type DIGITAL_ID
sign_type NONE

ApiContractSubset

{
  "self": "/api/contracts/85",
  "name": "string",
  "content": "string",
  "pdf_preview_uri": "https://app.fastsign.se/contract_pdf_preview/i/85/encrypted_data",
  "email_invite_content": "string",
  "sent_time": "2020-02-29 13:37:00",
  "expire_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15",
  "created_time": "2020-02-29 13:37:00",
  "template": "/api/contract_templates/3",
  "is_answered": true,
  "is_signed": true
}

Properties

Name Type Required Restrictions Description
self string true read-only none
name string true none none
content string false none none
pdf_preview_uri string false read-only none
email_invite_content string true none none
sent_time string false read-only none
expire_time string false none none
created_by string true read-only none
created_time string true read-only none
template string false none none
is_answered boolean true read-only none
is_signed boolean true read-only none

ApiContractTemplate

{
  "self": "/api/contract_templates/3",
  "name": "string",
  "is_published": true,
  "header": "string",
  "content": "string",
  "footer": "string",
  "footer_type": "SIMPLE",
  "created_time": "2020-02-29 13:37:00",
  "updated_time": "2020-02-29 13:37:00",
  "created_by": "/api/users/15"
}

Properties

Name Type Required Restrictions Description
self string true read-only none
name string true none none
is_published boolean true none none
header string false none HTML is allowed
content string true none HTML is allowed
footer string false none HTML is allowed. Can't be combined with a footer_type value of SIMPLE
footer_type string true none none
created_time string true read-only none
updated_time string true read-only none
created_by string false read-only none

Enumerated Values

Property Value
footer_type SIMPLE
footer_type ADVANCED

ApiCustomer

{
  "self": "/api/customers/15",
  "payment_option": "/api/payment_options/15",
  "identity_number": "string",
  "name": "string",
  "firstname": "string",
  "lastname": "string",
  "email": "string",
  "mobile_phone": "string",
  "visiting_address": "string",
  "visiting_zipcode": "string",
  "visiting_city": "string",
  "billing_address": "string",
  "billing_zipcode": "string",
  "billing_city": "string",
  "billing_email": "string",
  "created_time": "2020-02-29 13:37:00"
}

Properties

Name Type Required Restrictions Description
self string true read-only none
payment_option string true none none
identity_number string true none none
name string true none none
firstname string true none none
lastname string true none none
email string true none none
mobile_phone string true none none
visiting_address string true none none
visiting_zipcode string true none none
visiting_city string true none none
billing_address string true none none
billing_zipcode string true none none
billing_city string true none none
billing_email string false none none
created_time string true read-only none

ApiCustomerCreate

{
  "user_active": true,
  "self": "/api/customers/15",
  "payment_option": "/api/payment_options/15",
  "identity_number": "string",
  "name": "string",
  "firstname": "string",
  "lastname": "string",
  "email": "string",
  "mobile_phone": "string",
  "visiting_address": "string",
  "visiting_zipcode": "string",
  "visiting_city": "string",
  "billing_address": "string",
  "billing_zipcode": "string",
  "billing_city": "string",
  "billing_email": "string",
  "created_time": "2020-02-29 13:37:00"
}

Properties

None

ApiCustomerSubscription

{
  "self": "/api/customers/9/subscriptions/10",
  "product": "/api/products/3",
  "price": 0,
  "valid_from_time": "2020-02-29 13:37:00",
  "valid_to_time": "2020-02-29 13:37:00",
  "cancelled_time": "2020-02-29 13:37:00",
  "notice_period": 0,
  "users_included": 0,
  "created_time": "2020-02-29 13:37:00"
}

Properties

Name Type Required Restrictions Description
self string true read-only none
product string true none The product can't be changed when updating.
price number true read-only none
valid_from_time string true none none
valid_to_time string false none none
cancelled_time string false read-only none
notice_period number false read-only none
users_included number false read-only none
created_time string true read-only none

ApiPaymentOption

{
  "self": "/api/payment_options/3",
  "name": "string",
  "price": 0,
  "vat": 0,
  "email_required": true
}

Properties

Name Type Required Restrictions Description
self string true read-only none
name string true none none
price number true none none
vat number true none none
email_required boolean true none none

ApiProduct

{
  "self": "/api/products/3",
  "name": "string",
  "type": "SUBSCRIPTION",
  "price": 0,
  "vat": 0,
  "unit": "string",
  "users_included": 0
}

Properties

Name Type Required Restrictions Description
self string true read-only none
name string true none none
type string true none none
price number true none none
vat number true none none
unit string true none none
users_included number true none none

Enumerated Values

Property Value
type SUBSCRIPTION
type USAGE
type ADDON

ApiUser

{
  "self": "/api/users/15",
  "permission_template": "CUSTOMER_ADMIN_USER",
  "firstname": "string",
  "lastname": "string",
  "username": "string",
  "password": "string",
  "email": "string",
  "active": true,
  "created_time": "2020-02-29 13:37:00"
}

Properties

Name Type Required Restrictions Description
self string true read-only none
permission_template string true none none
firstname string true none none
lastname string true none none
username string true none none
password string false write-only none
email string true none none
active boolean false none True if user can log in
created_time string true read-only none

Enumerated Values

Property Value
permission_template CUSTOMER_ADMIN_USER
permission_template CUSTOMER_USER

JsonProblemResponse

{
  "type": "https://app.fastsign.se/apidoc/v1/posting_data#malformed-json",
  "title": "Malformed JSON",
  "status": "400",
  "detail": "string",
  "instance": "string"
}

Properties

Name Type Required Restrictions Description
type string true none Unique identifier of the problem, might be a link to the documentation
title string true none Short description about the problem
status integer true none The HTTP response code for the problem
detail string false none Longer description about the problem, might be in Swedish
instance string false none none