BreezeDoc API (1.0.0)

Download OpenAPI specification:Download

Introduction

BreezeDoc's REST API provides a handful of endpoints which can be used to get information about your account and bookings. It uses conventional OAuth 2.0 protocol for authentication.

Authentication

Personal Access Token

Create a personal access token at https://breezedoc.com/integrations/api. Once created, it can be used to authenticate requests by passing it in the Authorization header.

Authorization: Bearer {TOKEN}

OAuth 2.0 Client

If you're building a custom integration to BreezeDoc which requires users to authenticate in order to get access tokens to make API requests on their behalf, you'll need to create an OAuth 2.0 client. This is easy to do from the "OAuth Apps" settings page found here https://breezedoc.com/integrations/api

Using the authorization_code grant type to authenticate users using OAuth 2.0 to retrieve an access token is fairly conventional, more information on that process can be found here: https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/

Rate Limiting

The API currently has a rate limit of 60 requests per minute. If you exceed this limit, you will receive a 429 error.

User

Get current user information

Authorizations:
oauth2

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "email": "user@example.com"
}

Documents

Get list of documents

Authorizations:
oauth2
query Parameters
order_by
string
Enum: "completed_at" "id"
direction
string
Enum: "asc" "desc"

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Create a new document

Authorizations:
oauth2
Request Body schema: application/json
title
required
string <= 191 characters
Array of objects

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "recipients": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "document_files": [
    ],
  • "fields": [
    ],
  • "recipients": [
    ],
  • "title": "string",
  • "slug": "string"
}

Get a specific document

Authorizations:
oauth2
path Parameters
document
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "document_files": [
    ],
  • "fields": [
    ],
  • "recipients": [
    ],
  • "title": "string",
  • "slug": "string"
}

Send a document to its recipients

Authorizations:
oauth2
path Parameters
document
required
integer
Request Body schema: application/json
required
Array of objects

Array of recipients that must match the number of recipients on the document, provided in ascending order of party.

Responses

Request samples

Content type
application/json
{
  • "recipients": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "document_files": [
    ],
  • "fields": [
    ],
  • "recipients": [
    ],
  • "title": "string",
  • "slug": "string"
}

Get recipients for a specific document

Authorizations:
oauth2
path Parameters
document
required
integer
query Parameters
order_by
string
Enum: "completed_at" "id"
direction
string
Enum: "asc" "desc"
completed
string
Enum: true false

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Get list of documents sent by any member of a team

Retrieves a list of all documents sent by any member of a given team. This exposes an existing data relationship. Use Case: Enables a team lead or agency owner to build a custom dashboard to monitor their team's signing activities and document statuses.

Authorizations:
oauth2
path Parameters
team
required
integer

The team ID

query Parameters
order_by
string
Enum: "id" "completed_at" "created_at"

Field to order by

direction
string
Enum: "asc" "desc"

Sort direction

completed
string
Enum: true false

Filter by completion status

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Recipients

Get recipients for a specific document

Authorizations:
oauth2
path Parameters
document
required
integer
query Parameters
order_by
string
Enum: "completed_at" "id"
direction
string
Enum: "asc" "desc"
completed
string
Enum: true false

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Get list of recipients

Authorizations:
oauth2
query Parameters
order_by
string
Enum: "completed_at" "id"
direction
string
Enum: "asc" "desc"

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Templates

Get list of templates

Authorizations:
oauth2

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Get a specific template

Authorizations:
oauth2
path Parameters
template
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "document_files": [
    ],
  • "fields": [
    ],
  • "recipients": [
    ],
  • "title": "string",
  • "slug": "string",
  • "is_template": true
}

Create a new document from a template

Authorizations:
oauth2
path Parameters
template
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "document_files": [
    ],
  • "fields": [
    ],
  • "recipients": [
    ],
  • "title": "string",
  • "slug": "string"
}

Get list of templates shared with a specific team

Retrieves a list of all templates shared with a specific team. Use Case: Allows an organization to programmatically audit their team's available templates to ensure brand and legal compliance.

Authorizations:
oauth2
path Parameters
team
required
integer

The team ID

query Parameters
order_by
string
Enum: "id" "created_at" "updated_at"

Field to order by

direction
string
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Teams

Get list of documents sent by any member of a team

Retrieves a list of all documents sent by any member of a given team. This exposes an existing data relationship. Use Case: Enables a team lead or agency owner to build a custom dashboard to monitor their team's signing activities and document statuses.

Authorizations:
oauth2
path Parameters
team
required
integer

The team ID

query Parameters
order_by
string
Enum: "id" "completed_at" "created_at"

Field to order by

direction
string
Enum: "asc" "desc"

Sort direction

completed
string
Enum: true false

Filter by completion status

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Get list of templates shared with a specific team

Retrieves a list of all templates shared with a specific team. Use Case: Allows an organization to programmatically audit their team's available templates to ensure brand and legal compliance.

Authorizations:
oauth2
path Parameters
team
required
integer

The team ID

query Parameters
order_by
string
Enum: "id" "created_at" "updated_at"

Field to order by

direction
string
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Invoices

Get list of invoices

Retrieves a paginated list of invoices for the authenticated user.

Authorizations:
oauth2
query Parameters
order_by
string
Enum: "id" "created_at" "payment_due"

Field to order by

direction
string
Enum: "asc" "desc"

Sort direction

status
string
Enum: "draft" "paid" "uncollectible" "void"

Filter by invoice status

Responses

Response samples

Content type
application/json
{
  • "current_page": 0,
  • "data": [
    ],
  • "first_page_url": "string",
  • "from": 0,
  • "last_page": 0,
  • "last_page_url": "string",
  • "next_page_url": "string",
  • "path": "string",
  • "per_page": 0,
  • "prev_page_url": "string",
  • "to": 0,
  • "total": 0
}

Create a new invoice

Creates a new invoice with line items. Optionally sends the invoice immediately by setting send: true.

Authorizations:
oauth2
Request Body schema: application/json
customer_email
required
string <email> <= 191 characters
customer_name
string or null <= 191 characters
currency
required
string

Three-letter ISO currency code (lowercase)

description
required
string <= 191 characters
payment_due
required
string <date>
footer_note
string or null <= 191 characters
required
Array of objects non-empty
payment_platform_ids
Array of strings <uuid>

Array of payment platform UUIDs to enable for this invoice

send
boolean
Default: false

If true, immediately sends the invoice to the customer

Responses

Request samples

Content type
application/json
{
  • "customer_email": "client@example.com",
  • "customer_name": "Client Name",
  • "currency": "usd",
  • "description": "Consulting Services",
  • "payment_due": "2026-02-01",
  • "items": [
    ],
  • "send": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a specific invoice

Authorizations:
oauth2
path Parameters
invoice
required
integer

The invoice ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update an invoice

Updates an existing invoice. Cannot update invoices with status: paid, uncollectible, or void. When updating items, the entire items array is replaced.

Authorizations:
oauth2
path Parameters
invoice
required
integer

The invoice ID

Request Body schema: application/json
customer_email
string <email> <= 191 characters
customer_name
string or null <= 191 characters
currency
string

Three-letter ISO currency code (lowercase)

description
string <= 191 characters
payment_due
string <date>
footer_note
string or null <= 191 characters
Array of objects non-empty

Replaces all existing line items

payment_platform_ids
Array of strings <uuid>

Array of payment platform UUIDs to enable for this invoice

Responses

Request samples

Content type
application/json
{
  • "customer_email": "user@example.com",
  • "customer_name": "string",
  • "currency": "string",
  • "description": "string",
  • "payment_due": "2019-08-24",
  • "footer_note": "string",
  • "items": [
    ],
  • "payment_platform_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Partially update an invoice

Same as PUT - updates an existing invoice. Cannot update invoices with status paid, uncollectible, or void.

Authorizations:
oauth2
path Parameters
invoice
required
integer

The invoice ID

Request Body schema: application/json
customer_email
string <email> <= 191 characters
customer_name
string or null <= 191 characters
currency
string
description
string <= 191 characters
payment_due
string <date>
footer_note
string or null <= 191 characters
Array of objects non-empty
payment_platform_ids
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "customer_email": "user@example.com",
  • "customer_name": "string",
  • "currency": "string",
  • "description": "string",
  • "payment_due": "2019-08-24",
  • "footer_note": "string",
  • "items": [
    ],
  • "payment_platform_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete an invoice

Deletes a draft invoice. Cannot delete invoices that have already been sent.

Authorizations:
oauth2
path Parameters
invoice
required
integer

The invoice ID

Responses

Response samples

Content type
application/json
{
  • "message": "Invoice deleted successfully."
}

Send an invoice to the customer

Sends (or re-sends) an invoice to the customer via email. Cannot send invoices with status: paid, uncollectible, or void.

Authorizations:
oauth2
path Parameters
invoice
required
integer

The invoice ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}