1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 23:22:52 +01:00
invoiceninja/openapi/api-docs.yaml
2024-06-08 09:13:47 +10:00

22019 lines
739 KiB
YAML

openapi: 3.0.0
info:
title: 'Invoice Ninja API Reference.'
description: |
---
## Introduction
Welcome to the Invoice Ninja API documentation, your comprehensive guide to integrating Invoice Ninja's powerful features into your applications. Whether you're building a custom client, automating workflows, or integrating with other systems, our API provides the tools you need to streamline your invoicing and billing processes.
## What is Invoice Ninja?
Invoice Ninja is a robust source-available platform designed to simplify invoicing, billing, and payment management for freelancers, small businesses, and enterprises alike. With a user-friendly interface, customizable templates, and a suite of powerful features, Invoice Ninja empowers businesses to create professional invoices, track expenses, manage clients, and get paid faster.
## Why use the Invoice Ninja API?
The Invoice Ninja API allows developers to extend the functionality of Invoice Ninja by programmatically accessing and manipulating data within their Invoice Ninja accounts. With the API, you can automate repetitive tasks, integrate with third-party services, and build custom solutions tailored to your specific business needs.
## Getting Started
To get started with the Invoice Ninja API, you'll need an active Invoice Ninja account (or your own self hosted installation) and API credentials. If you haven't already done so, sign up for an account at Invoice Ninja and generate your API keys from the settings section.
Once you have your API credentials, you can start exploring the API endpoints, authentication methods, request and response formats, and more using the documentation provided here.
## Explore the Documentation
This documentation is organized into sections to help you navigate and understand the various aspects of the Invoice Ninja API:
Authentication: Learn how to authenticate your requests to the API using API tokens.
Endpoints: Explore the available API endpoints for managing invoices, clients, payments, expenses, and more.
Request and Response Formats: Understand the structure of API requests and responses, including parameters, headers, and payloads.
Error Handling: Learn about error codes, status messages, and best practices for handling errors gracefully.
Code Examples: Find code examples and tutorials to help you get started with integrating the Invoice Ninja API into your applications.
## Need Help?
If you have any questions, encounter any issues, or need assistance with using the Invoice Ninja API, don't hesitate to reach out to our support team or join our community forums. We're here to help you succeed with Invoice Ninja and make the most of our API.
Let's start building together!
## Endpoints
<div style="background-color: #2D394E; color: #fff padding: 20px; border-radius: 5px; border: 4px solid #212A3B; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
<p style="padding:10px; color: #DBDBDB;"">Production: https://invoicing.co</p>
<p style="padding:10px; color: #DBDBDB;">Demo: https://demo.invoiceninja.com</p>
</div>
## Client Libraries
PHP SDK can be found [here](https://github.com/invoiceninja/sdk-php)
## Authentication:
Invoice Ninja uses API tokens to authenticate requests. You can view and manage your API keys in Settings > Account Management > Integrations > API tokens
API requests must be made over HTTPS. Calls made to HTTP will fail.
## Errors:
Invoice Ninja uses standard HTTP response codes to indicate the success or failure of a request. below is a table of standard status codes and responses
| Status Code | Explanation |
|-------------|-----------------------------------------------------------------------------|
| 200 | OK: The request has succeeded. The information returned with the response is dependent on the method used in the request. |
| 301 | Moved Permanently: This and all future requests should be directed to the given URI. |
| 303 | See Other: The response to the request can be found under another URI using the GET method. |
| 400 | Bad Request: The server cannot or will not process the request due to an apparent client error. |
| 401 | Unauthorized: Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. |
| 403 | Forbidden: The request was valid, but the server is refusing action. |
| 404 | Not Found: The requested resource could not be found but may be available in the future. |
| 405 | Method Not Allowed: A request method is not supported for the requested resource. |
| 409 | Conflict: Indicates that the request could not be processed because of conflict in the request. |
| 422 | Unprocessable Entity: The request was well-formed but was unable to be followed due to semantic errors. |
| 429 | Too Many Requests: The user has sent too many requests in a given amount of time ("rate limiting"). |
| 500 | Internal Server Error: A generic error message, given when an unexpected condition was encountered and no more specific message is suitable. |
## Pagination
When using index routes to retrieve lists of data, by default we limit the number of records returned to 20. You can using standard pagination to paginate results, ie:
termsOfService: 'https://invoiceninja.github.io/docs/legal/terms_of_service/#page-content'
contact:
email: contact@invoiceninja.com
name: Invoice Ninja Support
url: 'https://www.invoiceninja.com'
license:
name: 'Elastic License'
url: 'https://www.elastic.co/licensing/elastic-license'
version: 5.9.2
servers:
- url: 'https://demo.invoiceninja.com'
description: |
## Demo API endpoint
You can use the demo API key `TOKEN` to test the endpoints from within this API spec
- url: 'https://invoicing.co'
description: |
## Production API endpoint
paths:
/api/v1/activities:
get:
tags:
- activities
summary: "Returns a list of activities"
description: "Lists all activities related to this company"
operationId: getActivities
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/activity_include"
- $ref: "#/components/parameters/index"
- $ref: "#/components/parameters/per_page_meta"
- $ref: "#/components/parameters/page_meta"
responses:
200:
description: "Returns the list of activities"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Activity'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/activities/download_entity/{activity_id}":
get:
tags:
- activities
summary: "Returns a PDF for the given activity"
description: "Returns a PDF for the given activity"
operationId: getActivityHistoricalEntityPdf
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/activity_include"
- name: activity_id
in: path
description: "The Activity Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "PDF File"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
404:
description: "No file exists for the given record"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/login:
post:
tags:
- login
summary: "Attempts authentication"
description: |
After authenticating with the API, the returned object is a CompanyUser object which is a bridge linking the user to the company.
The company user object itself contains the users permissions (admin/owner or fine grained permissions) You will most likely want to
also include in the response of this object both the company and the user object, this can be done by using the include parameter.
/api/v1/login?include=company,user
operationId: postLogin
parameters:
- $ref: "#/components/parameters/X-API-SECRET"
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/login_include"
- $ref: "#/components/parameters/include_static"
- $ref: "#/components/parameters/clear_cache"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
properties:
email:
description: "The users email address."
type: string
example: "demo@invoiceninja.com"
password:
description: "The user password. Must meet minimum criteria ~ > 6 characters"
type: string
example: "Password0"
one_time_password:
description: "The one time password if 2FA is enabled"
type: string
example: "123456"
required:
- email
- password
type: object
responses:
200:
description: "Returns the company user object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyUser"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/refresh:
post:
tags:
- refresh
summary: "Refresh data by timestamp"
description: |
Refreshes the dataset.
This endpoint can be used if you only need to access the most recent data from a certain point in time. For example, if you only want to retrieve The
most recent data from the last time you accessed the system, you would pass the query parameter ?updated_at=1676173763. (unix timestamp)
operationId: refresh
parameters:
- name: updated_at
in: query
description: "The unix timestamp from which the refreshed data should be sent from, if no value is passed the system will assume you require all data."
required: true
schema:
type: number
format: integer
example: 1676173763
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/include_static"
- $ref: "#/components/parameters/clear_cache"
responses:
200:
description: "The Company User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyUser"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/yodlee/refresh:
post:
tags:
- yodlee
summary: "Yodlee Webhook"
description: "Webhook endpoint for Yodlee. Used to notify the system that a data point can be updated."
operationId: yodleeRefreshWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: ""
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_integrations:
get:
tags:
- bank_integrations
summary: "Returns a list of Bank Integrations"
description: "Lists all bank integrations"
operationId: getBankIntegrations
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/bank_integration_include"
- $ref: "#/components/parameters/index"
- name: rows
in: query
description: "The number of bank integrations to return"
required: false
schema:
type: number
format: integer
example: "50"
responses:
200:
description: "A list of bank integrations"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BankIntegration'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- bank_integrations
summary: "Adds a bank_integration"
description: "Adds an bank_integration to a company"
operationId: storeBankIntegration
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/bank_integrations/{id}":
get:
tags:
- bank_integrations
summary: "Shows a bank_integration"
description: "Displays a bank_integration by id"
operationId: showBankIntegration
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankIntegration Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- bank_integrations
summary: "Updates a bank_integration"
description: "Handles the updating of a bank_integration by id"
operationId: updateBankIntegration
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankIntegration Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- bank_integrations
summary: "Deletes a bank_integration"
description: "Handles the deletion of a bank_integration by id"
operationId: deleteBankIntegration
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankIntegration Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/bank_integrations/{id}/edit":
get:
tags:
- bank_integrations
summary: "Shows a bank_integration for editing"
description: "Displays a bank_integration by id"
operationId: editBankIntegration
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankIntegration Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_integrations/create:
get:
tags:
- bank_integrations
summary: "Gets a new blank bank_integration object"
description: "Returns a blank object with default values"
operationId: getBankIntegrationsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_integrations/bulk:
post:
tags:
- bank_integrations
summary: "Performs bulk actions on an array of bank_integrations"
description: ""
operationId: bulkBankIntegrations
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Action paramters"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_integrations/refresh_accounts:
post:
tags:
- bank_integrations
summary: "Gets the list of accounts from the remote server"
description: "Adds an bank_integration to a company"
operationId: getRefreshAccounts
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_integrations/remove_account/account_id:
post:
tags:
- bank_integrations
summary: "Removes an account from the integration"
description: "Removes an account from the integration"
operationId: getRemoveAccount
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the bank_integration object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_integrations/get_transactions/account_id:
post:
tags:
- bank_integrations
summary: "Retrieve transactions for a account"
description: "Retrieve transactions for a account"
operationId: getAccountTransactions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Retrieve transactions for a account"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankIntegration"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transactions:
get:
tags:
- bank_transactions
summary: "Gets a list of bank_transactions"
description: "Lists all bank integrations"
operationId: getBankTransactions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
- name: rows
in: query
description: "The number of bank integrations to return"
required: false
schema:
type: number
format: integer
example: "50"
responses:
200:
description: "A list of bank integrations"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BankTransaction'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- bank_transactions
summary: "Adds a bank_transaction"
description: "Adds an bank_transaction to a company"
operationId: storeBankTransaction
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved bank_transaction object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransaction"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/bank_transactions/{id}":
get:
tags:
- bank_transactions
summary: "Shows a bank_transaction"
description: "Displays a bank_transaction by id"
operationId: showBankTransaction
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankTransaction Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_transaction object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransaction"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- bank_transactions
summary: "Updates a bank_transaction"
description: "Handles the updating of a bank_transaction by id"
operationId: updateBankTransaction
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankTransaction Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_transaction object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransaction"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- bank_transactions
summary: "Deletes a bank_transaction"
description: "Handles the deletion of a bank_transaction by id"
operationId: deleteBankTransaction
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankTransaction Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/bank_transactions/{id}/edit":
get:
tags:
- bank_transactions
summary: "Shows a bank_transaction for editing"
description: "Displays a bank_transaction by id"
operationId: editBankTransaction
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The BankTransaction Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_transaction object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransaction"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transactions/create:
get:
tags:
- bank_transactions
summary: "Gets a new blank bank_transaction object"
description: "Returns a blank object with default values"
operationId: getBankTransactionsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank bank_transaction object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransaction"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transations/bulk:
post:
tags:
- bank_transactions
summary: "Performs bulk actions on an array of bank_transations"
description: ""
operationId: bulkBankTransactions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Action paramters"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transations/match:
post:
tags:
- bank_transactions
summary: "Performs match actions on an array of bank_transactions"
description: ""
operationId: matchBankTransactions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Action paramters"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transaction_rules:
get:
tags:
- bank_transaction_rules
summary: "Gets a list of bank_transaction_rules"
description: "Lists all bank transaction rules"
operationId: getBankTransactionRules
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
- name: rows
in: query
description: "The number of bank integrations to return"
required: false
schema:
type: number
format: integer
example: "50"
responses:
200:
description: "A list of bank integrations"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BankTransactionRule'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- bank_transaction_rules
summary: "Adds a bank_transaction rule"
description: "Adds an bank_transaction to a company"
operationId: storeBankTransactionRule
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved bank_transaction rule object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransactionRule"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/bank_transaction_rules/{id}":
get:
tags:
- bank_transaction_rules
summary: "Shows a bank_transaction"
description: "Displays a bank_transaction by id"
operationId: showBankTransactionRule
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Bank Transaction RuleHashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_transaction rule object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransactionRule"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- bank_transaction_rules
summary: "Updates a bank_transaction Rule"
description: "Handles the updating of a bank_transaction rule by id"
operationId: updateBankTransactionRule
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Bank Transaction Rule Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_transaction rule object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransactionRule"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- bank_transaction_rules
summary: "Deletes a bank_transaction rule"
description: "Handles the deletion of a bank_transaction rule by id"
operationId: deleteBankTransactionRule
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Bank Transaction Rule Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/bank_transaction_rules/{id}/edit":
get:
tags:
- bank_transaction_rules
summary: "Shows a bank_transaction for editing"
description: "Displays a bank_transaction by id"
operationId: editBankTransactionRule
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Bank Transaction Rule Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the bank_transaction rule object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransactionRule"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transaction_rules/create:
get:
tags:
- bank_transaction_rules
summary: "Gets a new blank bank_transaction rule object"
description: "Returns a blank object with default values"
operationId: getBankTransactionRulesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank bank_transaction rule object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/BankTransactionRule"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/bank_transation_rules/bulk:
post:
tags:
- bank_transaction_rules
summary: "Performs bulk actions on an array of bank_transation rules"
description: ""
operationId: bulkBankTransactionRules
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Action paramters"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/charts/totals:
post:
tags:
- charts
summary: "Get chart data"
description: "Get chart data"
operationId: getChartTotals
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
- name: rows
in: query
description: "The chart"
required: false
schema:
type: number
format: integer
example: "50"
responses:
200:
description: "json dataset of chart data"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/client_gateway_tokens:
get:
tags:
- client_gateway_tokens
summary: "List of client payment tokens"
description: "Lists client_gateway_tokens, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the client_gateway_tokens, these are handled by the ClientGatewayTokenFilters class which defines the methods available"
operationId: getClientGatewayTokens
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of client_gateway_tokens"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ClientGatewayToken'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- client_gateway_tokens
summary: "Adds a client payment token"
description: "Adds a client payment token to a company"
operationId: storeClientGatewayToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved client payment token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ClientGatewayToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/client_gateway_tokens/{id}":
get:
tags:
- client_gateway_tokens
summary: "Shows a client payment token"
description: "Displays a client payment token by id"
operationId: showClientGatewayToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The ClientGatewayToken Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the client payment token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ClientGatewayToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- client_gateway_tokens
summary: "Updates a client payment token"
description: "Handles the updating of a client payment token by id"
operationId: updateClientGatewayToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The ClientGatewayToken Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the client payment token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ClientGatewayToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- client_gateway_tokens
summary: "Deletes a client"
description: "Handles the deletion of a client payment token by id"
operationId: deleteClientGatewayToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The ClientGatewayToken Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/client_gateway_tokens/{id}/edit":
get:
tags:
- client_gateway_tokens
summary: "Shows a client payment token for editting"
description: "Displays a client by id"
operationId: editClientGatewayToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The ClientGatewayToken Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the client payment token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ClientGatewayToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/client_gateway_tokens/create:
get:
tags:
- client_gateway_tokens
summary: "Gets a new blank client payment token object"
description: "Returns a blank object with default values"
operationId: getClientGatewayTokensCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank client payment token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ClientGatewayToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/companies:
get:
tags:
- companies
summary: "Gets a list of companies"
description: "Lists companies, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the companies, these are handled by the CompanyFilters class which defines the methods available"
operationId: getCompanies
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of companies"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Company'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- companies
summary: "Adds a company"
description: "Adds an company to the system"
operationId: storeCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/companies/create:
get:
tags:
- companies
summary: "Gets a new blank company object"
description: "Returns a blank object with default values"
operationId: getCompaniesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/companies/{id}":
get:
tags:
- companies
summary: "Shows an company"
description: "Displays an company by id"
operationId: showCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- companies
summary: "Updates an company"
description: "Handles the updating of an company by id"
operationId: updateCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- companies
summary: "Deletes a company"
description: "Handles the deletion of an company by id"
operationId: deleteCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/companies/{id}/edit":
get:
tags:
- companies
summary: "Shows an company for editting"
description: "Displays an company by id"
operationId: editCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/companies/{id}/upload":
post:
tags:
- companies
summary: "Uploads a document to a company"
description: "Handles the uploading of a document to a company"
operationId: uploadCompanies
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the client object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/companies/{company}/default":
post:
tags:
- companies
summary: "Sets the company as the default company."
description: "Sets the company as the default company."
operationId: setDefaultCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: company
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/companies/current":
post:
tags:
- companies
summary: "Returns the current comapny"
description: "Returns the current company based on the API token passed in"
operationId: showCurrentCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the company object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Company"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/company_gateways:
get:
tags:
- company_gateways
summary: "Gets a list of company_gateways"
description: "Lists company_gateways, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the company_gateways, these are handled by the CompanyGatewayFilters class which defines the methods available"
operationId: getCompanyGateways
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of company_gateways"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CompanyGateway'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- company_gateways
summary: "Adds a CompanyGateway"
description: "Adds an CompanyGateway to the system"
operationId: storeCompanyGateway
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved CompanyGateway object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyGateway"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
429:
$ref: "#/components/responses/429"
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/company_gateways/create:
get:
tags:
- company_gateways
summary: "Gets a new blank CompanyGateway object"
description: "Returns a blank object with default values"
operationId: getCompanyGatewaysCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank CompanyGateway object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyGateway"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/company_gateways/{id}":
get:
tags:
- company_gateways
summary: "Shows an CompanyGateway"
description: "Displays an CompanyGateway by id"
operationId: showCompanyGateway
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The CompanyGateway Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the CompanyGateway object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyGateway"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- company_gateways
summary: "Updates an CompanyGateway"
description: "Handles the updating of an CompanyGateway by id"
operationId: updateCompanyGateway
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The CompanyGateway Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the CompanyGateway object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyGateway"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- company_gateways
summary: "Deletes a CompanyGateway"
description: "Handles the deletion of an CompanyGateway by id"
operationId: deleteCompanyGateway
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The CompanyGateway Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/company_gateways/{id}/edit":
get:
tags:
- company_gateways
summary: "Shows an CompanyGateway for editting"
description: "Displays an CompanyGateway by id"
operationId: editCompanyGateway
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The CompanyGateway Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the CompanyGateway object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyGateway"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/company_gateways/bulk:
post:
tags:
- company_gateways
summary: "Performs bulk actions on an array of company_gateways"
description: ""
operationId: bulkCompanyGateways
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Array of company gateway IDs"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Company Gateways response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyGateway"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/company_ledger:
get:
tags:
- company_ledger
summary: "Gets a list of company_ledger"
description: "Lists the company_ledger."
operationId: getCompanyLedger
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of company_ledger"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CompanyLedger'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/company_users:
post:
tags:
- company_user
summary: "Update a company user record"
description: "Attempts to update a company user record. A company user can modify only their settings fields. Full access for Admin users"
operationId: updateCompanyUser
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "The Company User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyUser"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/connected_account:
post:
tags:
- connected_account
summary: "Connect an oauth user to an existing user"
description: "Refreshes the dataset"
operationId: connected_account
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/include_static"
- $ref: "#/components/parameters/clear_cache"
responses:
200:
description: "The Company User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/designs:
get:
tags:
- designs
summary: "Gets a list of designs"
description: "Lists designs"
operationId: getDesigns
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of designs"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Design'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- designs
summary: "Adds a design"
description: "Adds an design to a company"
operationId: storeDesign
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved design object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Design"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/designs/{id}":
get:
tags:
- designs
summary: "Shows a design"
description: "Displays a design by id"
operationId: showDesign
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Design Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Design"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- designs
summary: "Updates a design"
description: "Handles the updating of a design by id"
operationId: updateDesign
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Design Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the design object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Design"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- designs
summary: "Deletes a design"
description: "Handles the deletion of a design by id"
operationId: deleteDesign
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Design Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/designs/{id}/edit":
get:
tags:
- designs
summary: "Shows a design for editting"
description: "Displays a design by id"
operationId: editDesign
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Design Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the design object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Design"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/designs/create:
get:
tags:
- designs
summary: "Gets a new blank design object"
description: "Returns a blank object with default values"
operationId: getDesignsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank design object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Design"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/designs/bulk:
post:
tags:
- designs
summary: "Performs bulk actions on an array of designs"
description: ""
operationId: bulkDesigns
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Design User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Design"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/documents:
get:
tags:
- documents
summary: "Gets a list of documents"
description: "Lists documents, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the documents, these are handled by the DocumentsFilters class which defines the methods available"
operationId: getDocuments
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of documents"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Document'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/emails:
post:
tags:
- emails
summary: "Sends an email for an entity"
description: "Sends an email for an entity"
operationId: sendEmailTemplate
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
description: "Required fields to send an email"
required: true
content:
application/json:
schema:
required:
- entity
- entity_id
- template
properties:
subject:
description: "The email subject"
type: string
body:
description: "The email body"
type: string
entity:
description: "The entity name"
type: string
entity_id:
description: "The entity_id"
type: string
cc_email:
description: "The email address of a user to be CC'd on the email"
type: string
template:
description: "The template required"
type: string
example: invoice,quote,credit,purchase_order,payment,payment_partial,reminder1,reminder2,reminder3,reminder_endless
type: object
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Template"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/expense_categories:
get:
tags:
- expense_categories
summary: "Gets a list of expense_categories"
description: "Lists tax rates"
operationId: getExpenseCategorys
parameters:
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of expense_categories"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ExpenseCategory'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- expense_categories
summary: "Adds a expense category"
description: "Adds an expense category to the system"
operationId: storeExpenseCategory
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ExpenseCategory"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/expense_categories/create:
get:
tags:
- expense_categories
summary: "Gets a new blank Expens Category object"
description: "Returns a blank object with default values"
operationId: getExpenseCategoryCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "A blank Expens Category object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ExpenseCategory"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/expense_categories/{id}":
get:
tags:
- expense_categories
summary: "Shows a Expens Category"
description: "Displays an ExpenseCategory by id"
operationId: showExpenseCategory
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The ExpenseCategory Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Expens Category object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ExpenseCategory"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- expense_categories
summary: "Updates a tax rate"
description: "Handles the updating of a tax rate by id"
operationId: updateExpenseCategory
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The ExpenseCategory Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the ExpenseCategory object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ExpenseCategory"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- expense_categories
summary: "Deletes a ExpenseCategory"
description: "Handles the deletion of an ExpenseCategory by id"
operationId: deleteExpenseCategory
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The ExpenseCategory Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/expense_categories/{id}/edit":
get:
tags:
- expense_categories
summary: "Shows a Expens Category for editting"
description: "Displays a Expens Category by id"
operationId: editExpenseCategory
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The ExpenseCategory Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Expens Category object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/ExpenseCategory"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/expense_categories/bulk:
post:
tags:
- expense_categories
summary: "Performs bulk actions on an array of ExpenseCategorys"
description: ""
operationId: bulkExpenseCategorys
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Expens Categorys"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The ExpenseCategory List response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/expenses:
get:
tags:
- expenses
summary: "Gets a list of expenses"
description: "Lists expenses, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the expenses, these are handled by the ExpenseFilters class which defines the methods available"
operationId: getExpenses
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of expenses"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Expense'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- expenses
summary: "Adds an expense"
description: "Adds a expense to a company"
operationId: storeExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/expenses/{id}":
get:
tags:
- expenses
summary: "Shows a expense"
description: "Displays a expense by id"
operationId: showExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Expense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- expenses
summary: "Updates a expense"
description: "Handles the updating of a expense by id"
operationId: updateExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Expense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- expenses
summary: "Deletes a expense"
description: "Handles the deletion of a expense by id"
operationId: deleteExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Expense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/expenses/{id}/edit":
get:
tags:
- expenses
summary: "Shows a expense for editing"
description: "Displays a client by id"
operationId: editExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Expense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/expenses/create:
get:
tags:
- expenses
summary: "Gets a new blank expense object"
description: "Returns a blank object with default values"
operationId: getExpensesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/expenses/bulk:
post:
tags:
- expenses
summary: "Performs bulk actions on an array of expenses"
description: ""
operationId: bulkExpenses
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Expense User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/expenses/{id}/upload":
post:
tags:
- expense
summary: "Uploads a document to a expense"
description: "Handles the uploading of a document to a expense"
operationId: uploadExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Expense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Expense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/export:
post:
tags:
- export
summary: "Export data from the system"
description: "Export data from the system"
operationId: getExport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/group_settings:
get:
tags:
- group_settings
summary: "Gets a list of group_settings"
description: "Lists group_settings, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the group_settings, these are handled by the GroupSettingFilters class which defines the methods available"
operationId: getGroupSettings
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of group_settings"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/GroupSetting'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- group_settings
summary: "Adds a GroupSetting"
description: "Adds an GroupSetting to the system"
operationId: storeGroupSetting
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved GroupSetting object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/GroupSetting"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/group_settings/create:
get:
tags:
- group_settings
summary: "Gets a new blank GroupSetting object"
description: "Returns a blank object with default values"
operationId: getGroupSettingsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank GroupSetting object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/GroupSetting"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/group_settings/{id}":
get:
tags:
- group_settings
summary: "Shows an GroupSetting"
description: "Displays an GroupSetting by id"
operationId: showGroupSetting
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The GroupSetting Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the GroupSetting object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/GroupSetting"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- group_settings
summary: "Updates an GroupSetting"
description: "Handles the updating of an GroupSetting by id"
operationId: updateGroupSetting
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The GroupSetting Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the GroupSetting object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/GroupSetting"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- group_settings
summary: "Deletes a GroupSetting"
description: "Handles the deletion of an GroupSetting by id"
operationId: deleteGroupSetting
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The GroupSetting Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/group_settings/{id}/edit":
get:
tags:
- group_settings
summary: "Shows an GroupSetting for editting"
description: "Displays an GroupSetting by id"
operationId: editGroupSetting
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The GroupSetting Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the GroupSetting object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/GroupSetting"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/group_settings/bulk:
post:
tags:
- group_settings
summary: "Performs bulk actions on an array of group_settings"
description: ""
operationId: bulkGroupSettings
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "An array of group_settings ids"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/group_settings/{id}/upload":
post:
tags:
- group_settings
summary: "Uploads a document to a group setting"
description: "Handles the uploading of a document to a group setting"
operationId: uploadGroupSetting
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Group Setting Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Group Setting object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/preimport:
post:
tags:
- imports
summary: "Pre Import checks - returns a reference to the job and the headers of the CSV"
description: "Pre Import checks - returns a reference to the job and the headers of the CSV"
operationId: preimport
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
description: "The CSV file"
required: true
content:
multipart/form-data:
schema:
type: string
format: binary
responses:
200:
description: "Returns a reference to the file"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/import_json:
post:
tags:
- import
summary: "Import data from the system"
description: "Import data from the system"
operationId: getImportJson
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/apple/confirm_purchase:
post:
tags:
- postmark
summary: "Processing webhooks from Apple for in app purchases"
description: "Adds an credit to the system"
operationId: confirmApplePurchase
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/apple/process_webhook:
post:
tags:
- postmark
summary: "Processing event webhooks from Apple for in purchase / subscription status update"
description: "Adds an credit to the system"
operationId: processAppleWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/claim_license:
get:
tags:
- claim_license
summary: "Attempts to claim a white label license"
description: "Attempts to claim a white label license"
operationId: getClaimLicense
parameters:
- $ref: "#/components/parameters/X-Requested-With"
- name: license_key
in: query
description: "The license hash"
required: true
schema:
type: string
format: string
example: d87sh-s755s-s7d76-sdsd8
- name: product_id
in: query
description: "The ID of the product purchased."
required: true
schema:
type: string
format: string
example: "1"
responses:
200:
description: Success!
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/logout:
post:
tags:
- logout
summary: "Logs the user out of their current session"
description: "Logs the user out of their current session"
operationId: getLogout
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "Success message"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/migration/purge/{company}":
post:
tags:
- migration
summary: "Attempts to purge a company record and all its child records"
description: "Attempts to purge a company record and all its child records"
operationId: postPurgeCompany
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: company
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: Success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/migration/purge_save_settings/{company}":
post:
tags:
- migration
summary: "Attempts to purge a companies child records but save the company record and its settings"
description: "Attempts to purge a companies child records but save the company record and its settings"
operationId: postPurgeCompanySaveSettings
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: company
in: path
description: "The Company Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: Success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/migration/start:
post:
tags:
- migration
summary: "Starts the migration from previous version of Invoice Ninja"
description: "Starts the migration from previous version of Invoice Ninja"
operationId: postStartMigration
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/X-API-PASSWORD"
- name: migration
in: query
description: "The migraton file"
required: true
schema:
type: object
format: file
example: migration.zip
responses:
200:
description: Success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/one_time_token:
post:
tags:
- one_time_token
summary: "Attempts to create a one time token"
description: "Attempts to create a one time token"
operationId: oneTimeToken
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "The Company User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/payment_terms:
get:
tags:
- payment_terms
summary: "Gets a list of payment terms"
description: "Lists payment terms"
operationId: getPaymentTerms
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of payment terms"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/PaymentTerm'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- payment_terms
summary: "Adds a Payment"
description: "Adds a Payment Term to the system"
operationId: storePaymentTerm
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
description: "The payment_terms request"
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/PaymentTerm"
responses:
200:
description: "Returns the saved Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PaymentTerm"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/payment_terms/create:
get:
tags:
- payment_terms
summary: "Gets a new blank PaymentTerm object"
description: "Returns a blank object with default values"
operationId: getPaymentTermsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank PaymentTerm object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/payment_terms/{id}":
get:
tags:
- payment_terms
summary: "Shows a Payment Term"
description: "Displays an Payment Term by id"
operationId: showPaymentTerm
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Term Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Payment Term object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PaymentTerm"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- payment_terms
summary: "Updates a Payment Term"
description: "Handles the updating of an Payment Termby id"
operationId: updatePaymentTerm
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Term Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Payment Term object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PaymentTerm"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- payment_termss
summary: "Deletes a Payment Term"
description: "Handles the deletion of an PaymentTerm by id"
operationId: deletePaymentTerm
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Term Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/payment_terms/{id}/edit":
get:
tags:
- payment_terms
summary: "Shows an Payment Term for editting"
description: "Displays an Payment Term by id"
operationId: editPaymentTerms
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Term Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PaymentTerm"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/payment_terms/bulk:
post:
tags:
- payment_terms
summary: "Performs bulk actions on an array of payment terms"
description: ""
operationId: bulkPaymentTerms
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Payment Ter,s"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Payment Terms response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PaymentTerm"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/ping:
get:
tags:
- ping
summary: "Attempts to ping the API"
description: "Attempts to ping the API"
operationId: getPing
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "The company and user name"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
/api/v1/health_check:
get:
tags:
- health_check
summary: "Attempts to get a health check from the API"
description: "Attempts to get a health check from the API"
operationId: getHealthCheck
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "A key/value map of the system health"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
/api/v1/postmark_webhook:
post:
tags:
- postmark
summary: "Processing webhooks from PostMark"
description: "Adds an credit to the system"
operationId: postmarkWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/preview:
post:
tags:
- preview
summary: "Returns a pdf preview"
description: "Returns a pdf preview."
operationId: getPreview
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "The pdf response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/preview/purchase_order:
post:
tags:
- preview
summary: "Returns a pdf preview for purchase order"
description: "Returns a pdf preview for purchase order."
operationId: getPreviewPurchaseOrder
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "The pdf response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/recurring_expenses:
get:
tags:
- recurring_expenses
summary: "Gets a list of recurring_expenses"
description: "Lists recurring_expenses, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the recurring_expenses, these are handled by the RecurringExpenseFilters class which defines the methods available"
operationId: getRecurringExpenses
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of recurring_expenses"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/RecurringExpense'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- recurring_expenses
summary: "Adds a recurring expense"
description: "Adds a recurring expense to a company"
operationId: storeRecurringExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved recurring expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_expenses/{id}":
get:
tags:
- recurring_expenses
summary: "Shows a recurring expense"
description: "Displays a recurring expense by id"
operationId: showRecurringExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringExpense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the recurring_expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- recurring_expenses
summary: "Updates a recurring expense"
description: "Handles the updating of a recurring expense by id"
operationId: updateRecurringExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringExpense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the recurring expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- recurring_expenses
summary: "Deletes a recurring expense"
description: "Handles the deletion of a recurring expense by id"
operationId: deleteRecurringExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringExpense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_expenses/{id}/edit":
get:
tags:
- recurring_expenses
summary: "Shows a recurring expense for editting"
description: "Displays a recurring expense by id"
operationId: editRecurringExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringExpense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the recurring expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/recurring_expenses/create:
get:
tags:
- recurring_expenses
summary: "Gets a new blank recurring expense object"
description: "Returns a blank object with default values"
operationId: getRecurringExpensesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank recurring expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/recurring_expenses/bulk:
post:
tags:
- recurring_expenses
summary: "Performs bulk actions on an array of recurring_expenses"
description: ""
operationId: bulkRecurringExpenses
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The RecurringExpense User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_expenses/{id}/upload":
post:
tags:
- recurring_expense
summary: "Uploads a document to a recurring_expense"
description: "Handles the uploading of a document to a recurring_expense"
operationId: uploadRecurringExpense
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringExpense Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the RecurringExpense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringExpense"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/recurring_quotes:
get:
tags:
- recurring_quotes
summary: "Gets a list of recurring_quotes"
description: "Lists recurring_quotes, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the recurring_quotes, these are handled by the RecurringQuoteFilters class which defines the methods available"
operationId: getRecurringQuotes
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of recurring_quotes"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/RecurringQuote'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- recurring_quotes
summary: "Adds a RecurringQuote"
description: "Adds an RecurringQuote to the system"
operationId: storeRecurringQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved RecurringQuote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/recurring_quotes/create:
get:
tags:
- recurring_quotes
summary: "Gets a new blank RecurringQuote object"
description: "Returns a blank object with default values"
operationId: getRecurringQuotesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank RecurringQuote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_quotes/{id}":
get:
tags:
- recurring_quotes
summary: "Shows an RecurringQuote"
description: "Displays an RecurringQuote by id"
operationId: showRecurringQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringQuote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the RecurringQuote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- recurring_quotes
summary: "Updates an RecurringQuote"
description: "Handles the updating of an RecurringQuote by id"
operationId: updateRecurringQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringQuote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the RecurringQuote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- recurring_quotes
summary: "Deletes a RecurringQuote"
description: "Handles the deletion of an RecurringQuote by id"
operationId: deleteRecurringQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringQuote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_quotes/{id}/edit":
get:
tags:
- recurring_quotes
summary: "Shows an RecurringQuote for editting"
description: "Displays an RecurringQuote by id"
operationId: editRecurringQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringQuote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the RecurringQuote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/recurring_quotes/bulk:
post:
tags:
- recurring_quotes
summary: "Performs bulk actions on an array of recurring_quotes"
description: ""
operationId: bulkRecurringQuotes
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Hashed ids"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The RecurringQuote response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_quotes/{id}/{action}":
get:
tags:
- recurring_quotes
summary: "Performs a custom action on an RecurringQuote"
description: "Performs a custom action on an RecurringQuote.\n\n The current range of actions are as follows\n - clone_to_RecurringQuote\n - clone_to_quote\n - history\n - delivery_note\n - mark_paid\n - download\n - archive\n - delete\n - email"
operationId: actionRecurringQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringQuote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: action
in: path
description: "The action string to be performed"
required: true
schema:
type: string
format: string
example: clone_to_quote
responses:
200:
description: "Returns the RecurringQuote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringQuote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/contacts:
post:
tags:
- reports
summary: "Contact reports"
description: "Export contact reports"
operationId: getContactReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/clients:
post:
tags:
- reports
summary: "Client reports"
description: "Export client reports"
operationId: getClientReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/credit:
post:
tags:
- reports
summary: "Credit reports"
description: "Export credit reports"
operationId: getCreditReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/documents:
post:
tags:
- reports
summary: "Document reports"
description: "Export document reports"
operationId: getDocumentReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/expense:
post:
tags:
- reports
summary: "Expense reports"
description: "Export expense reports"
operationId: getExpenseReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/invoice_items:
post:
tags:
- reports
summary: "Invoice item reports"
description: "Export invoice item reports"
operationId: getInvoiceItemReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/invoices:
post:
tags:
- reports
summary: "Invoice reports"
description: "Export invoice reports"
operationId: getInvoiceReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/payments:
post:
tags:
- reports
summary: "Payment reports"
description: "Export payment reports"
operationId: getPaymentReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/products:
post:
tags:
- reports
summary: "Product reports"
description: "Export product reports"
operationId: getProductReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/product_sales:
post:
tags:
- reports
summary: "Product Salesreports"
description: "Export product sales reports"
operationId: getProductSalesReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/profitloss:
post:
tags:
- reports
summary: "Profit loss reports"
description: "Profit loss report"
operationId: getProfitLossReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/quote_items:
post:
tags:
- reports
summary: "Quote item reports"
description: "Export Quote item reports"
operationId: getQuoteItemReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/quotes:
post:
tags:
- reports
summary: "Quote reports"
description: "Export quote reports"
operationId: getQuoteReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/recurring_invoices:
post:
tags:
- reports
summary: "Recurring Invoice reports"
description: "Export recurring invoice reports"
operationId: getRecurringInvoiceReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/reports/tasks:
post:
tags:
- reports
summary: "Task reports"
description: "Export task reports"
operationId: getTaskReport
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/GenericReportSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/self-update:
post:
tags:
- update
summary: "Performs a system update"
description: "Performs a system update"
operationId: selfUpdate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-API-PASSWORD"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Success/failure response"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/statics:
get:
tags:
- statics
summary: "Gets a list of statics"
description: "Lists all statics"
operationId: getStatics
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of static data"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/subscriptions:
get:
tags:
- subscriptions
summary: "Gets a list of subscriptions"
description: "Lists subscriptions."
operationId: getSubscriptions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of subscriptions"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Subscription'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- subscriptions
summary: "Adds a subscriptions"
description: "Adds an subscriptions to the system"
operationId: storeSubscription
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved subscriptions object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Subscription"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/subscriptions/create:
get:
tags:
- subscriptions
summary: "Gets a new blank subscriptions object"
description: "Returns a blank object with default values"
operationId: getSubscriptionsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank subscriptions object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Subscription"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/subscriptions/{id}":
get:
tags:
- subscriptions
summary: "Shows an subscriptions"
description: "Displays an subscriptions by id"
operationId: showSubscription
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Subscription Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Subscription object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Subscription"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- subscriptions
summary: "Updates an subscriptions"
description: "Handles the updating of an subscriptions by id"
operationId: updateSubscription
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Subscription Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the subscriptions object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Subscription"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- subscriptions
summary: "Deletes a subscriptions"
description: "Handles the deletion of an subscriptions by id"
operationId: deleteSubscription
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Subscription Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/subscriptions/{id}/edit":
get:
tags:
- subscriptions
summary: "Shows an subscriptions for editting"
description: "Displays an subscriptions by id"
operationId: editSubscription
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Subscription Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Subscription"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/subscriptions/bulk:
post:
tags:
- subscriptions
summary: "Performs bulk actions on an array of subscriptions"
description: ""
operationId: bulkSubscriptions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Subscription response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Subscription"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/support/messages/send:
post:
tags:
- support
summary: "Sends a support message to Invoice Ninja team"
description: "Allows a user to send a support message to the Invoice Ninja Team"
operationId: supportMessage
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
description: "The message"
required: true
content:
application/json:
schema:
properties:
message:
description: "The support message"
type: string
type: string
responses:
200:
description: Success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: array
items:
description: "Server response"
type: string
example: true
default:
$ref: "#/components/responses/default"
/api/v1/system_logs:
get:
tags:
- system_logs
summary: "Gets a list of system logs"
description: "Lists system logs, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the system logs, these are handled by the SystemLogFilters class which defines the methods available"
operationId: getSystemLogs
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of system logs"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/SystemLog'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/system_logs/{id}":
get:
tags:
- system_logs
summary: "Shows a system_logs"
description: "Displays a system_logs by id"
operationId: showSystemLogs
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The system_logs Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the system_logs object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/SystemLog"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/task_schedulers/:
get:
tags:
- task_schedulers
summary: "Task Scheduler Index"
description: "Get all schedulers with associated jobs"
operationId: getTaskSchedulers
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
default:
$ref: "#/components/responses/default"
post:
tags:
- task_schedulers
summary: "Create task scheduler with job "
description: "Create task scheduler with a job (action(job) request should be sent via request also. Example: We want client report to be job which will be run\n * multiple times, we should send the same parameters in the request as we would send if we wanted to get report, see example"
operationId: createTaskScheduler
parameters:
- $ref: "#/components/parameters/X-API-SECRET"
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TaskSchedulerSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/task_schedulers/create:
get:
tags:
- task_schedulers
summary: "Gets a new blank scheduler object"
description: "Returns a blank object with default values"
operationId: getTaskScheduler
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank scheduler object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskSchedulerSchema"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/task_schedulers/{id}":
get:
tags:
- task_schedulers
summary: "Show given scheduler"
description: "Get scheduler with associated job"
operationId: showTaskScheduler
parameters:
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The Scheduler Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
default:
$ref: "#/components/responses/default"
put:
tags:
- task_schedulers
summary: "Update task scheduler "
description: "Update task scheduler"
operationId: updateTaskScheduler
parameters:
- $ref: "#/components/parameters/X-API-SECRET"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The Scheduler Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TaskSchedulerSchema"
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- task_schedulers
summary: "Destroy Task Scheduler"
description: "Destroy task scheduler and its associated job"
operationId: destroyTaskScheduler
parameters:
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The Scheduler Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: success
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
default:
$ref: "#/components/responses/default"
/api/v1/task_schedulers/bulk:
post:
tags:
- task_schedulers
summary: "Performs bulk actions on an array of task_schedulers"
description: ""
operationId: bulkTaskSchedulerActions
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "array of ids"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The TaskSchedule response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskSchedulerSchema"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/task_statuses:
get:
tags:
- task_status
summary: "Gets a list of task statuses"
description: "Lists task statuses"
operationId: getTaskStatuses
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of task statuses"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TaskStatus'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- task_status
summary: "Adds a TaskStatus"
description: "Adds a TaskStatusto the system"
operationId: storeTaskStatus
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
description: "The task_status request"
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
responses:
200:
description: "Returns the saved TaskStatus object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/task_statuses/create:
get:
tags:
- task_status
summary: "Gets a new blank TaskStatus object"
description: "Returns a blank object with default values"
operationId: getTaskStatussCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank TaskStatus object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/task_statuses/{id}":
get:
tags:
- task_status
summary: "Shows a TaskStatus Term"
description: "Displays an TaskStatusby id"
operationId: showTaskStatus
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The TaskStatusHashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the TaskStatusobject"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- task_status
summary: "Updates a TaskStatus Term"
description: "Handles the updating of an TaskStatus Termby id"
operationId: updateTaskStatus
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The TaskStatusHashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the TaskStatusobject"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- task_statuss
summary: "Deletes a TaskStatus Term"
description: "Handles the deletion of an TaskStatus by id"
operationId: deleteTaskStatus
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The TaskStatusHashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/task_statuses/{id}/edit":
get:
tags:
- task_status
summary: "Shows an TaskStatusfor editting"
description: "Displays an TaskStatusby id"
operationId: editTaskStatuss
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The TaskStatusHashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the TaskStatus object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/task_statuses/bulk:
post:
tags:
- task_status
summary: "Performs bulk actions on an array of task statuses"
description: ""
operationId: bulkTaskStatuss
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "TaskStatus Ter,s"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The TaskStatus Terms response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaskStatus"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/tax_rates:
get:
tags:
- tax_rates
summary: "Gets a list of tax_rates"
description: "Lists tax rates"
operationId: getTaxRates
parameters:
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of tax_rates"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TaxRate'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/tax_rates/create:
get:
tags:
- tax_rates
summary: "Gets a new blank Tax Rate object"
description: "Returns a blank object with default values"
operationId: getTaxRateCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "A blank Tax Rate object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaxRate"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/tax_rates/{id}":
get:
tags:
- tax_rates
summary: "Shows a Tax Rate"
description: "Displays an TaxRate by id"
operationId: showTaxRate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The TaxRate Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Tax Rate object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaxRate"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- tax_rates
summary: "Updates a tax rate"
description: "Handles the updating of a tax rate by id"
operationId: updateTaxRate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The TaxRate Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the TaxRate object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaxRate"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- tax_rates
summary: "Deletes a TaxRate"
description: "Handles the deletion of an TaxRate by id"
operationId: deleteTaxRate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The TaxRate Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/tax_rates/{id}/edit":
get:
tags:
- tax_rates
summary: "Shows a Tax Rate for editting"
description: "Displays a Tax Rate by id"
operationId: editTaxRate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- name: id
in: path
description: "The TaxRate Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Tax Rate object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/TaxRate"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/tax_rates/bulk:
post:
tags:
- tax_rates
summary: "Performs bulk actions on an array of TaxRates"
description: ""
operationId: bulkTaxRates
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Tax Rates"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The TaxRate List response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/templates:
post:
tags:
- templates
summary: "Returns a entity template with the template variables replaced with the Entities"
description: "Returns a entity template with the template variables replaced with the Entities"
operationId: getShowTemplate
parameters:
- $ref: "#/components/parameters/X-Requested-With"
requestBody:
description: "The template subject and body"
required: true
content:
application/json:
schema:
properties:
subject:
description: "The email template subject"
type: string
body:
description: "The email template body"
type: string
type: object
responses:
200:
description: "The template response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Template"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/tokens:
get:
tags:
- tokens
summary: "Gets a list of company tokens"
description: "Lists company tokens.\n *\n * Query parameters can be added to performed more fine grained filtering of the tokens, these are handled by the TokenFilters class which defines the methods available"
operationId: getTokens
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of tokens"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CompanyToken'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- tokens
summary: "Adds a token"
description: "Adds an token to a company"
operationId: storeToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/tokens/{id}":
get:
tags:
- tokens
summary: "Shows a token"
description: "Displays a token by id"
operationId: showToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Token Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- tokens
summary: "Updates a token"
description: "Handles the updating of a token by id"
operationId: updateToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Token Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- tokens
summary: "Deletes a token"
description: "Handles the deletion of a token by id"
operationId: deleteToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Token Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/tokens/{id}/edit":
get:
tags:
- tokens
summary: "Shows a token for editting"
description: "Displays a token by id"
operationId: editToken
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Token Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/tokens/create:
get:
tags:
- tokens
summary: "Gets a new blank token object"
description: "Returns a blank object with default values"
operationId: getTokensCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank token object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/tokens/bulk:
post:
tags:
- tokens
summary: "Performs bulk actions on an array of tokens"
description: ""
operationId: bulkTokens
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Token ids"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Token response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/CompanyToken"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/users:
get:
tags:
- users
summary: "Gets a list of users"
description: "Lists users, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the users, these are handled by the UserFilters class which defines the methods available"
operationId: getUsers
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of users"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/User'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- users
summary: "Adds a User"
description: "Adds an User to the system"
operationId: storeUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved User object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/users/create:
get:
tags:
- users
summary: "Gets a new blank User object"
description: "Returns a blank object with default values"
operationId: getUsersCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank User object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/users/{id}":
get:
tags:
- users
summary: "Shows an User"
description: "Displays an User by id"
operationId: showUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The User Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the User object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- users
summary: "Updates an User"
description: "Handles the updating of an User by id"
operationId: updateUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The User Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the User object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- users
summary: "Deletes a User"
description: "Handles the deletion of an User by id"
operationId: deleteUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: token_name
in: query
description: "Customized name for the Users API Token"
required: false
schema:
type: string
format: string
example: "iOS Device 11 iPad"
- name: id
in: path
description: "The User Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/users/{id}/edit":
get:
tags:
- users
summary: "Shows an User for editting"
description: "Displays an User by id"
operationId: editUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The User Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the User object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/users/bulk:
post:
tags:
- users
summary: "Performs bulk actions on an array of users"
description: ""
operationId: bulkUsers
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Hashed ids"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/User"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/users/{user}/detach_from_company":
delete:
tags:
- users
summary: "Detach an existing user to a company"
description: "Detach an existing user from a company"
operationId: detachUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: user
in: path
description: "The user hashed_id"
required: true
schema:
type: string
format: string
example: FD767dfd7
responses:
200:
description: "Success response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/users/{user}/invite":
post:
tags:
- users
summary: "Reconfirm an existing user to a company"
description: "Reconfirm an existing user from a company"
operationId: inviteUser
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: user
in: path
description: "The user hashed_id"
required: true
schema:
type: string
format: string
example: FD767dfd7
responses:
200:
description: "Success response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/users/{user}/reconfirm":
post:
tags:
- users
summary: "Reconfirm an existing user to a company"
description: "Reconfirm an existing user from a company"
operationId: inviteUserReconfirm
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: user
in: path
description: "The user hashed_id"
required: true
schema:
type: string
format: string
example: FD767dfd7
responses:
200:
description: "Success response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/webcron:
get:
tags:
- webcron
summary: "Executes the task scheduler via a webcron service"
description: "Executes the task scheduler via a webcron service"
operationId: webcron
parameters:
- $ref: "#/components/parameters/X-Requested-With"
responses:
200:
description: "Success response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/webhooks:
get:
tags:
- webhooks
summary: "Gets a list of Webhooks"
description: "Lists Webhooks, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the Webhooks, these are handled by the WebhookFilters class which defines the methods available"
operationId: getWebhooks
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of Webhooks"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Webhook'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
post:
tags:
- webhooks
summary: "Adds a Webhook"
description: "Adds an Webhook to a company"
operationId: storeWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved Webhook object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/webhooks/{id}":
get:
tags:
- webhooks
summary: "Shows a Webhook"
description: "Displays a Webhook by id"
operationId: showWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Webhook Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Webhook object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
put:
tags:
- webhooks
summary: "Updates a Webhook"
description: "Handles the updating of a Webhook by id"
operationId: updateWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Webhook Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Webhook object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
delete:
tags:
- Webhooks
summary: "Deletes a Webhook"
description: "Handles the deletion of a Webhook by id"
operationId: deleteWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Webhook Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
"/api/v1/webhooks/{id}/edit":
get:
tags:
- webhooks
summary: "Shows a Webhook for editting"
description: "Displays a Webhook by id"
operationId: editWebhook
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Webhook Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Webhook object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/webhooks/create:
get:
tags:
- webhooks
summary: "Gets a new blank Webhook object"
description: "Returns a blank object with default values"
operationId: getWebhooksCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank Webhook object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/webhooks/bulk:
post:
tags:
- webhooks
summary: "Performs bulk actions on an array of Webhooks"
description: ""
operationId: bulkWebhooks
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Webhook User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Webhook"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: "#/components/responses/422"
default:
$ref: "#/components/responses/default"
/api/v1/vendors:
get:
tags:
- vendors
summary: "List vendors"
description: "Lists vendors, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the vendors, these are handled by the VendorFilters class which defines the methods available"
operationId: getVendors
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of vendors"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Vendor'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- vendors
summary: "Create vendor"
description: "Adds a vendor to a company"
operationId: storeVendor
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved clivendorent object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/vendors/{id}":
get:
tags:
- vendors
summary: "Show vendor"
description: "Displays a vendor by id"
operationId: showVendor
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The vendor Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the vendor object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- vendors
summary: "Update vendor"
description: "Handles the updating of a vendor by id"
operationId: updateVendor
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Vendor Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the vendor object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- vendors
summary: "Delete vendor"
description: "Handles the deletion of a vendor by id"
operationId: deleteVendor
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Vendor Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/vendors/{id}/edit":
get:
tags:
- vendors
summary: "Edit vendor"
description: "Displays a vendor by id"
operationId: editVendor
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Vendor Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the vendor object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/vendors/create:
get:
tags:
- vendors
summary: "Blank vendor"
description: "Returns a blank vendor with default values"
operationId: getVendorsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank vendor object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/vendors/bulk:
post:
tags:
- vendors
summary: "Bulk vendor actions"
description: ""
operationId: bulkVendors
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Vendor User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/vendors/{id}/upload":
post:
tags:
- vendors
summary: "Uploads a vendor document"
description: "Handles the uploading of a document to a vendor"
operationId: uploadVendor
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Vendor Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Vendor object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Vendor"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/invoices:
get:
tags:
- invoices
summary: "List invoices"
description: |
Lists invoices with the option to chain multiple query parameters allowing fine grained filtering of the list.
operationId: getInvoices
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/status"
- $ref: "#/components/parameters/client_id"
- $ref: "#/components/parameters/created_at"
- $ref: "#/components/parameters/updated_at"
- $ref: "#/components/parameters/is_deleted"
- $ref: "#/components/parameters/filter_deleted_clients"
- $ref: "#/components/parameters/vendor_id"
- name: client_status
in: query
description: |
A comma separated list of invoice status strings. Valid options include:
- all
- paid
- unpaid
- overdue
required: false
schema:
type: string
example: ?client_status=paid,unpaid
- name: number
in: query
description: |
Search invoices by invoice number
required: false
schema:
type: string
example: ?number=INV-001
- name: filter
in: query
description: |
Searches across a range of columns including:
- number
- po_number
- date
- amount
- balance
- custom_value1
- custom_value2
- custom_value3
- custom_value4
required: false
schema:
type: string
example: ?filter=bob
- name: without_deleted_clients
in: query
description: |
Returns the invoice list without the invoices of deleted clients.
required: false
schema:
type: string
example: ?without_deleted_clients=
- name: overdue
in: query
description: |
Returns the list of invoices that are overdue
required: false
schema:
type: string
example: ?over_due=
- name: payable
in: query
description: |
Returns the invoice list that are payable for a defined client. Please note, you must pass the client_id as the value for this query parameter
required: false
schema:
type: string
example: ?payable={client_id}
- name: sort
in: query
description: Returns the list sorted by column in ascending or descending order.
required: false
schema:
type: string
example: id|desc number|desc balance|asc
- name: private_notes
in: query
description: |
Searches on the private_notes field of the invoices
required: false
schema:
type: string
example: ?private_notes=super secret
responses:
200:
description: "A list of invoices"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Invoice'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- invoices
summary: "Create invoice"
description: |
Adds a invoice to a company
Triggered actions are available when updating or creating an invoice.
These are query parameters that can be chained in order to perform additional actions on the entity, these include:
```
?send_email=true [Saves and sends the invoice]
?mark_sent=true [Saves and marks the invoice as sent]
?paid=true [Saves and marks the invoice as paid]
?amount_paid=100 [Saves and marks the invoice as paid with the given amount]
?cancel=true [Saves and marks the invoice as cancelled]
?save_default_footer=true [Saves the current footer as the default footer]
?save_default_terms=true [Saves the current terms as the default terms]
```
operationId: storeInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/InvoiceRequest"
responses:
200:
description: "Returns the saved invoice entity"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/invoices/{id}":
get:
tags:
- invoices
summary: "Show invoice"
description: "Displays an invoice by id"
operationId: showInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- invoices
summary: "Update invoice"
description: |
Handles the updating of an invoice by id.
Triggered actions are available when updating or creating an invoice.
These are query parameters that can be chained in order to perform additional actions on the entity, these include:
```
?send_email=true [Saves and sends the invoice]
?mark_sent=true [Saves and marks the invoice as sent]
?paid=true [Saves and marks the invoice as paid]
?amount_paid=100 [Saves and marks the invoice as paid with the given amount]
?cancel=true [Saves and marks the invoice as cancelled]
?save_default_footer=true [Saves the current footer as the default footer]
?save_default_terms=true [Saves the current terms as the default terms]
```
operationId: updateInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- invoices
summary: "Delete invoice"
description: "Handles the deletion of an invoice by id"
operationId: deleteInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/invoices/{id}/edit":
get:
tags:
- invoices
summary: "Edit invoice"
description: "Displays an invoice by id for editting"
operationId: editInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/invoices/create:
get:
tags:
- invoices
summary: "Blank invoice"
description: "Returns a blank object with default values"
operationId: getInvoicesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/invoices/bulk:
post:
tags:
- invoices
summary: "Bulk invoice actions"
description: |
There are multiple actions that are available including:
operationId: bulkInvoices
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Bulk action details"
required: true
content:
application/json:
schema:
type: object
properties:
action:
type: string
description: |
The action to be performed, options include:
- `bulk_download`
Bulk download an array of invoice PDFs (These are sent to the admin via email.)
- `download`
Download a single PDF. (Returns a single PDF object)
- `bulk_print`
Merges an array of Invoice PDFs for easy one click printing.
- `auto_bill`
Attempts to automatically bill the invoices with the payment method on file.
- `clone_to_invoice`
Returns a clone of the invoice.
- `clone_to_quote`
Returns a quote cloned using the properties of the given invoice.
- `mark_paid`
Marks an array of invoices as paid.
- `mark_sent`
Marks an array of invoices as sent.
- `restore`
Restores an array of invoices
- `delete`
Deletes an array of invoices
- `archive`
Archives an array of invoices
- `cancel`
Cancels an array of invoices
- `email`
Emails an array of invoices
- `send_email`
Emails an array of invoices. Requires additional properties to be sent. `email_type`
ids:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned - ['D2J234DFA','D2J234DFA','D2J234DFA']"
type: string
example:
action: bulk_download
ids: "['D2J234DFA','D2J234DFA','D2J234DFA']"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/invoices/{id}/{action}":
get:
deprecated: true
tags:
- invoices
summary: "Custom invoice action"
description: |
Performs a custom action on an invoice.
The current range of actions are as follows
- clone_to_invoice
- clone_to_quote
- history
- delivery_note
- mark_paid
- download
- archive
- delete
- email
operationId: actionInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: action
in: path
description: "The action string to be performed"
required: true
schema:
type: string
format: string
example: clone_to_quote
responses:
200:
description: "Returns the invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/invoice/{invitation_key}/download":
get:
tags:
- invoices
summary: "Download invoice PDF"
description: "Downloads a specific invoice"
operationId: downloadInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: invitation_key
in: path
description: "The Invoice Invitation Key"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the invoice pdf"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/invoices/{id}/delivery_note":
get:
tags:
- invoices
summary: "Download delivery note"
description: "Downloads a specific invoice delivery notes"
operationId: deliveryNote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hahsed Id"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the invoice delivery note pdf"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/invoices/{id}/upload":
post:
tags:
- invoices
summary: "Add invoice document"
description: "Handles the uploading of a document to a invoice"
operationId: uploadInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Invoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/credits:
get:
tags:
- credits
summary: "List credits"
description: "Lists credits, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the credits, these are handled by the CreditFilters class which defines the methods available"
operationId: getCredits
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of credits"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Credit'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- credits
summary: "Create credit"
description: "Adds an credit to the system"
operationId: storeCredit
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/credits/{id}":
get:
tags:
- credits
summary: "Show credit"
description: "Displays an credit by id"
operationId: showCredit
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Credit Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- Credits
summary: "Update credit"
description: "Handles the updating of an Credit by id"
operationId: updateCredit
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Credit Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- credits
summary: "Delete credit"
description: "Handles the deletion of an credit by id"
operationId: deleteCredit
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Credit Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/credits/{id}/edit":
get:
tags:
- credits
summary: "Edit credit"
description: "Displays an credit by id"
operationId: editCredit
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Invoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Invoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/credits/create:
get:
tags:
- credits
summary: "Blank credit"
description: "Returns a blank object with default values"
operationId: getCreditsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/credits/bulk:
post:
tags:
- credits
summary: "Bulk credit actions"
description: ""
operationId: bulkCredits
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: string
example: '[D2J234DFA,D2J234DFA,D2J234DFA]'
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/credit/{invitation_key}/download":
get:
tags:
- quotes
summary: "Download quote PDF"
description: "Downloads a specific quote"
operationId: downloadCredit
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: invitation_key
in: path
description: "The Credit Invitation Key"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the credit pdf"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/credits/{id}/upload":
post:
tags:
- credits
summary: "Upload a credit document"
description: "Handles the uploading of a document to a credit"
operationId: uploadCredits
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Credit Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Credit object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Credit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/products:
get:
tags:
- products
summary: "List products"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X GET 'https://invoicing.co/api/v1/products?filter=search&per_page=20&page=1&include=documents' \
-H "X-API-TOKEN:company-token-test" \
-H "X-Requested-With: XMLHttpRequest";
- lang: go
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$products = $ninja->products->all([
'filter' => 'search',
'per_page' => 20,
'page' => 1,
'include' => 'documents'
]);
description: |
Lists products within your company.
You can search and filter the result set using query parameters. These can be chained together allowing fine grained lists to be generated.
operationId: getProducts
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/status"
- $ref: "#/components/parameters/client_id"
- $ref: "#/components/parameters/created_at"
- $ref: "#/components/parameters/updated_at"
- $ref: "#/components/parameters/is_deleted"
- $ref: "#/components/parameters/filter_deleted_clients"
- $ref: "#/components/parameters/vendor_id"
- name: filter
in: query
description: Filter by product name
required: false
schema:
type: string
example: bob
- name: product_key
in: query
description: Filter by product key
required: false
schema:
type: string
example: bob
- name: sort
in: query
description: Returns the list sorted by column in ascending or descending order.
required: false
schema:
type: string
example: id|desc product_key|desc
responses:
200:
description: "A list of products"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Product'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
post:
tags:
- products
summary: "Create Product"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X POST 'https://invoicing.co/api/v1/products' \
-H "X-API-TOKEN:company-token-test" \
-H "Content-Type:application/json" \
-d '{"product_key":"sku_1","notes":"product description","cost":1,"price":10}' \
-H "X-Requested-With: XMLHttpRequest";
- lang: go
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$products = $ninja->products->create([
'product_key' => "sku_1",
'notes' => "product description",
'cost' => 1,
'price' => 10
]);
description: "Adds a product to a company"
operationId: storeProduct
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
description: Product object that needs to be added to the company
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductRequest'
responses:
200:
description: "Returns the saved product object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
"/api/v1/products/{id}":
get:
tags:
- products
summary: "Show product"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X GET 'https://invoicing.co/api/v1/products/{id}' \
-H "X-API-TOKEN:company-token-test" \
-H "X-Requested-With: XMLHttpRequest";
- lang: php
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$product = $ninja->products->get("{id}");
description: "Displays a product by id"
operationId: showProduct
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Product Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the product object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
put:
tags:
- products
summary: "Update product"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X PUT 'https://invoicing.co/api/v1/products/{id}' \
-H "X-API-TOKEN:company-token-test" \
-H "Content-Type: application/json" \
-d '{
"product_key": "Updated Product",
"price": 150.0,
"notes": "An updated description of the product"
}'
- lang: go
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$product = $ninja->products->update("id", [
"name" => "Updated Product",
"price" => 150.0,
"description" => "An updated description of the product"
]);
description: "Handles the updating of a product by id"
operationId: updateProduct
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Product Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: Product object that needs to be added to the company
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductRequest'
responses:
200:
description: "Returns the Product object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
delete:
tags:
- products
summary: "Delete product"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X DELETE 'https://invoicing.co/api/v1/products/{id}' \
-H "X-API-TOKEN:company-token-test" \
-H "X-Requested-With: XMLHttpRequest";
- lang: go
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$ninja->products->bulk("delete", "id");
description: "Handles the deletion of a product by id"
operationId: deleteProduct
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Product Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
"/api/v1/products/{id}/edit":
get:
tags:
- products
summary: "Edit product"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X GET 'https://invoicing.co/api/v1/products/{id}/edit' \
-H "X-API-TOKEN:company-token-test" \
-H "X-Requested-With: XMLHttpRequest";
- lang: php
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$product = $ninja->products->get("{id}");
description: "Displays an Product by id"
operationId: editProduct
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Product Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Product object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
"/api/v1/products/create":
get:
tags:
- products
summary: "Blank product"
description: "Returns a blank product object with default values"
operationId: getProductsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank Product object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
/api/v1/products/bulk:
post:
tags:
- products
summary: "Bulk product actions"
x-code-samples:
- lang: curl
label: Curl
source: |
curl -X GET 'https://invoicing.co/api/v1/products/bulk' \
-H "Content-Type:application/json" \
-d '{"action":"archive","ids":["id","id2"]}' \
-H "X-API-TOKEN:company-token-test" \
-H "X-Requested-With: XMLHttpRequest";
- lang: php
label: PHP
source: |
$ninja = new InvoiceNinja("your_token");
$product = $ninja->products->bulk("action", ["id","id2"]);
description: "Archive / Restore / Delete / Set tax id in bulk"
operationId: bulkProducts
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: 'Bulk action array'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductBulkAction'
responses:
200:
description: "The Product response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
"/api/v1/products/{id}/upload":
post:
tags:
- products
summary: "Add product document"
description: "Handles the uploading of a document to a product"
operationId: uploadProduct
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/client_include"
- name: id
in: path
description: "The Product Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: POST
documents:
type: array
items:
format: binary
responses:
200:
description: "Returns the Product object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Product"
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
/api/v1/quotes:
get:
tags:
- quotes
summary: "List quotes"
description: "Lists quotes, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the quotes, these are handled by the QuoteFilters class which defines the methods available"
operationId: getQuotes
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/status"
- $ref: "#/components/parameters/client_id"
- $ref: "#/components/parameters/created_at"
- $ref: "#/components/parameters/updated_at"
- $ref: "#/components/parameters/is_deleted"
- $ref: "#/components/parameters/filter_deleted_clients"
- $ref: "#/components/parameters/vendor_id"
- name: filter
in: query
description: |
Searches across a range of columns including:
- number
- custom_value1
- custom_value2
- custom_value3
- custom_value4
required: false
schema:
type: string
example: ?filter=bob
- name: client_status
in: query
description: |
A comma separated list of quote status strings. Valid options include:
- all
- draft
- sent
- approved
- expired
- upcoming
required: false
schema:
type: string
example: ?client_status=paid,unpaid
- name: number
in: query
description: |
Search quote by quote number
required: false
schema:
type: string
example: ?number=Q-001
- name: sort
in: query
description: Returns the list sorted by column in ascending or descending order.
required: false
schema:
type: string
example: id|desc number|desc balance|asc
responses:
200:
description: "A list of quotes"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Quote'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- quotes
summary: "Create quote"
description: "Adds an Quote to the system"
operationId: storeQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/quotes/{id}":
get:
tags:
- quotes
summary: "Show quote"
description: "Displays an Quote by id"
operationId: showQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Quote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- quotes
summary: "Update quote"
description: "Handles the updating of an Quote by id"
operationId: updateQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Quote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- quotes
summary: "Delete quote"
description: "Handles the deletion of an Quote by id"
operationId: deleteQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Quote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/quotes/{id}/edit":
get:
tags:
- quotes
summary: "Edit quote"
description: "Displays an Quote by id"
operationId: editQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Quote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/quotes/create:
get:
tags:
- quotes
summary: "Blank quote"
description: "Returns a blank object with default values"
operationId: getQuotesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/quotes/bulk:
post:
tags:
- quotes
summary: "Bulk quote actions"
description: ""
operationId: bulkQuotes
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Hashed ids"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Quote response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/quotes/{id}/{action}":
get:
deprecated: true
tags:
- quotes
summary: "Performs a custom action on an Quote"
description: "Performs a custom action on an Quote.\n\n The current range of actions are as follows\n - clone_to_quote\n - history\n - delivery_note\n - mark_paid\n - download\n - archive\n - delete\n - convert\n - convert_to_invoice\n - email"
operationId: actionQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Quote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: action
in: path
description: "The action string to be performed"
required: true
schema:
type: string
format: string
example: clone_to_quote
responses:
200:
description: "Returns the Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/quote/{invitation_key}/download":
get:
tags:
- quotes
summary: "Download quote PDF"
description: "Downloads a specific quote"
operationId: downloadQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: invitation_key
in: path
description: "The Quote Invitation Key"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the quote pdf"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/quotes/{id}/upload":
post:
tags:
- quotes
summary: "Upload a quote document"
description: "Handles the uploading of a document to a quote"
operationId: uploadQuote
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Quote Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Quote object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Quote"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/purchase_orders:
get:
tags:
- Purchase Orders
summary: "List purchase orders"
description: "Lists purchase orders, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the purchase orders, these are handled by the PurchaseOrderFilters class which defines the methods available"
operationId: getPurchaseOrders
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A list of purchase orders"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/PurchaseOrder'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- Purchase Orders
summary: "Create purchase order"
description: "Adds an purchase order to the system"
operationId: storePurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved purchase order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/purchase_orders/{id}":
get:
tags:
- Purchase Orders
summary: "Show purchase order"
description: "Displays an purchase order by id"
operationId: showPurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Purchase order Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the purchase order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/purchase_order/{id}":
put:
tags:
- Purchase Orders
summary: "Update purchase order"
description: "Handles the updating of an purchase order by id"
operationId: updatePurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The purchase order Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the purchase order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- Purchase Orders
summary: "Delete purchase order"
description: "Handles the deletion of an purchase orders by id"
operationId: deletePurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The purhcase order Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/purchase_orders/{id}/edit":
get:
tags:
- Purchase Orders
summary: "Edit purchase order"
description: "Displays an purchase order by id"
operationId: editPurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The purchase order Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the purchase order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/purchase_orders/create:
get:
tags:
- Purchase Orders
summary: "Blank purchase order"
description: "Returns a blank object with default values"
operationId: getPurchaseOrderCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank purchase order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/purchase_orders/bulk:
post:
tags:
- Purchase Orders
summary: "Bulk purchase order action"
description: ""
operationId: bulkPurchaseOrderss
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Purchase Order IDS"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Bulk Action response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/purchase_orders/{id}/{action}":
get:
deprecated: true
tags:
- Purchase Orders
summary: "Custom purchase order actions"
description: "Performs a custom action on an purchase order.\n *\n * The current range of actions are as follows\n * - mark_paid\n * - download\n * - archive\n * - delete\n * - email"
operationId: actionPurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Purchase Order Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: action
in: path
description: "The action string to be performed"
required: true
schema:
type: string
format: string
example: clone_to_quote
responses:
200:
description: "Returns the purchase order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/purchase_orders/{id}/upload":
post:
tags:
- Purchase Orders
summary: "Uploads a purchase order document"
description: "Handles the uploading of a document to a purchase_order"
operationId: uploadPurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Purchase Order Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Purchase Order object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/PurchaseOrder"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/purchase_order/{invitation_key}/download":
get:
tags:
- Purchase Orders
summary: "Download a purchase order PDF"
description: "Downloads a specific purchase order"
operationId: downloadPurchaseOrder
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: invitation_key
in: path
description: "The Purchase Order Invitation Key"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Purchase Order pdf"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/tasks:
get:
tags:
- tasks
summary: "List tasks"
description: "Lists tasks, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the tasks, these are handled by the TaskFilters class which defines the methods available"
operationId: getTasks
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of tasks"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Task'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- tasks
summary: "Create task"
description: "Adds an task to a company"
operationId: storeTask
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved task object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/tasks/{id}":
get:
tags:
- tasks
summary: "Show task"
description: "Displays a task by id"
operationId: showTask
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Task Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the task object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- tasks
summary: "Update task"
description: "Handles the updating of a task by id"
operationId: updateTask
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The task Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the task object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- tasks
summary: "Delete task"
description: "Handles the deletion of a task by id"
operationId: deleteTask
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Task Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/tasks/{id}/edit":
get:
tags:
- tasks
summary: "Edit task"
description: "Displays a task by id"
operationId: editTask
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Task Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the client object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/tasks/create:
get:
tags:
- tasks
summary: "Blank task"
description: "Returns a blank task with default values"
operationId: getTasksCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank task object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/tasks/bulk:
post:
tags:
- tasks
summary: "Bulk task actions"
description: ""
operationId: bulkTasks
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Task User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/tasks/{id}/upload":
post:
tags:
- tasks
summary: "Uploads a task document"
description: "Handles the uploading of a document to a task"
operationId: uploadTask
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Task Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Task object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/tasks/sort:
post:
tags:
- tasks
summary: "Sort tasks on KanBan"
description: "Sorts tasks after drag and drop on the KanBan."
operationId: sortTasks
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns an Ok, 200 HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/clients:
get:
tags:
- clients
summary: 'List clients'
x-code-samples:
- lang: go
label: php
source: |
$ninja = new InvoiceNinja("your_token");
$invoices = $ninja->clients->all();
x-custom-element:
type: markdown
value: |
### Custom Response Description
This is a custom description for the response returned by the `/example` endpoint.
description: |
When retrieving a list of clients you can also chain query parameters in order to filter the dataset that is returned. For example, you can send a request to the following URL to retrieve clients that have a balance greater than 1000:\
```
/api/v1/clients?balance=gt:1000
```
You can also sort the results by adding a sort parameter. The following example will sort the results by the client name in descending order:\
```
/api/v1/clients?sort=name|desc
```
You can also combine multiple filters together. The following example will return clients that have a balance greater than 1000 and are not deleted and have a name that starts with "Bob":\
```
/api/v1/clients?balance=gt:1000&name=Bob*
```
If you wish to retrieve child relations, you can also combine the query parameter `?include=` with a comma separated list of relationships:\
```
/api/v1/clients?include=activities,ledger,system_logs'
```
The per_page and page variables allow pagination of the list of clients. The following example will return the second page of clients with 15 clients per page:\
```
/api/v1/clients?per_page=15&page=2
```
The default per_page value is 20.
operationId: getClients
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
- $ref: '#/components/parameters/index'
- $ref: "#/components/parameters/status"
- $ref: "#/components/parameters/created_at"
- $ref: "#/components/parameters/updated_at"
- $ref: "#/components/parameters/is_deleted"
- $ref: "#/components/parameters/filter_deleted_clients"
- $ref: "#/components/parameters/vendor_id"
- name: name
in: query
description: Filter by client name
required: false
schema:
type: string
example: bob
- name: balance
in: query
description: Filter by client balance, format uses an operator and value separated by a colon. lt,lte, gt, gte, eq
required: false
schema:
type: string
example: lt:10
- name: between_balance
in: query
description: Filter between client balances, format uses two values separated by a colon
required: false
schema:
type: string
example: 10:100
- name: email
in: query
description: Filter by client email
required: false
schema:
type: string
example: bob@gmail.com
- name: id_number
in: query
description: Filter by client id_number
required: false
schema:
type: string
example: a1039883
- name: number
in: query
description: Filter by client number
required: false
schema:
type: string
example: a1039883
- name: filter
in: query
description: Filters clients on columns - name, id_number, contact.first_name contact.last_name, contact.email, custom_value1-4
required: false
schema:
type: string
example: a1039883
- name: sort
in: query
description: Returns the list sorted by column in ascending or descending order.
required: false
schema:
type: string
example: id|desc name|desc balance|asc
responses:
200:
description: 'A list of clients'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Client'
example:
$ref: '#/components/schemas/Client'
meta:
type: object
$ref: '#/components/schemas/Meta'
example:
$ref: '#/components/schemas/Meta'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
post:
tags:
- clients
summary: 'Create client'
description: |
Adds a client to a company
When creating (or updating) a client you must include the child contacts with all mutating requests. Client contacts cannot be modified in isolation.
operationId: storeClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
requestBody:
description: Client object that needs to be added to the company
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientRequest'
responses:
200:
description: 'Returns the saved client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
'/api/v1/clients/{id}':
get:
tags:
- clients
summary: 'Show client'
description: 'Displays a client by id'
operationId: showClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
put:
tags:
- clients
summary: 'Update client'
description: 'Handles the updating of a client by id'
operationId: updateClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: Client object that needs to be updated
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientRequest'
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
delete:
tags:
- clients
summary: 'Delete client'
description: 'Handles the deletion of a client by id'
operationId: deleteClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: 'Returns a HTTP status'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
'/api/v1/clients/{id}/edit':
get:
tags:
- clients
summary: 'Edit Client'
description: 'Displays a client by id, essentially an alias of the show route'
operationId: editClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/include'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
/api/v1/clients/create:
get:
tags:
- clients
summary: 'Blank Client'
description: 'Returns a blank object with default values'
operationId: getClientsCreate
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
responses:
200:
description: 'A blank client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
/api/v1/clients/bulk:
post:
tags:
- clients
summary: 'Bulk client actions'
description: 'Archive / Restore / Delete in bulk'
operationId: bulkClients
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/index'
requestBody:
description: 'Bulk action array'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericBulkAction'
responses:
200:
description: 'The Client listresponse'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
'/api/v1/clients/{id}/upload':
post:
tags:
- clients
summary: 'Add client document'
description: 'Handles the uploading of a document to a client, please note due to a quirk in REST you will need to use a _method parameter with value of POST'
operationId: uploadClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: POST
documents:
type: array
items:
format: binary
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
'/api/v1/clients/{id}/purge':
post:
tags:
- clients
summary: 'Purge client'
description: |
Handles purging a clients.
Please note this is a destructive action.
This action will remove all data associated with the client and cannot be undone.
operationId: purgeClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/X-API-PASSWORD'
- $ref: '#/components/parameters/client_include'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
'/api/v1/clients/{id}/{mergeable_client_hashed_id}/merge':
post:
tags:
- clients
summary: 'Merge client'
description: |
Handles merging 2 clients
The id parameter is the client that will be the primary client after the merge has completed.
The mergeable_client_hashed_id is the client that will be merged into the primary client, this clients records will be updated and associated with the primary client.
operationId: mergeClient
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/client_include'
- $ref: '#/components/parameters/X-API-PASSWORD'
- name: id
in: path
description: 'The Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: mergeable_client_hashed_id
in: path
description: 'The Mergeable Client Hashed ID'
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
default:
$ref: '#/components/responses/default'
/api/v1/client_statement:
post:
tags:
- clients
summary: 'Client statement PDF'
description: 'Return a PDF of the client statement'
operationId: clientStatement
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/include'
requestBody:
description: 'Statement Options'
required: true
content:
application/json:
schema:
properties:
start_date:
description: 'The start date of the statement period - format Y-m-d'
type: string
end_date:
description: 'The start date of the statement period - format Y-m-d'
type: string
client_id:
description: 'The hashed ID of the client'
type: string
show_payments_table:
description: 'Flag which determines if the payments table is shown'
type: boolean
show_credits_table:
description: 'Flag which determines if the credits table is shown'
type: boolean
show_aging_table:
description: 'Flag which determines if the aging table is shown'
type: boolean
type: object
responses:
200:
description: 'Returns the client object'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
/api/v1/reactivate_email/{bounce_id}:
post:
tags:
- clients
summary: 'Removes email suppression of a user in the system'
description: 'Emails are suppressed by PostMark, when they receive a Hard bounce / Spam Complaint. This endpoint allows you to remove the suppression and send emails to the user again.'
operationId: reactivateEmail
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/include'
- name: bounce_id
in: path
description: 'The postmark Bounce ID reference'
required: true
schema:
type: string
format: string
example: 123243
responses:
200:
description: 'Success'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
400:
description: 'Postmark exception - generated if the suppression cannot be removed for any reason'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
/api/v1/clients/{client}/updateTaxData:
post:
tags:
- clients
summary: 'Update tax data'
description: 'Updates the clients tax data - if their address has changed'
operationId: updateClientTaxData
parameters:
- $ref: '#/components/parameters/X-API-TOKEN'
- $ref: '#/components/parameters/X-Requested-With'
- $ref: '#/components/parameters/include'
- name: client
in: path
description: 'The Client Hashed ID reference'
required: true
schema:
type: string
format: string
example: V2J234DFA
responses:
200:
description: 'Success'
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
400:
description: 'Postmark exception - generated if the suppression cannot be removed for any reason'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: '#/components/responses/default'
/api/v1/projects:
get:
tags:
- projects
summary: "List projects"
description: "Lists projects"
operationId: getProjects
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/index"
responses:
200:
description: "A list of projects"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Project'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- projects
summary: "Create project"
description: "Adds an project to a company"
operationId: storeProject
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved project object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/projects/{id}":
get:
tags:
- projects
summary: "Show project"
description: "Displays a project by id"
operationId: showProject
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Project Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the expense object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- projects
summary: "Update project"
description: "Handles the updating of a project by id"
operationId: updateProject
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Project Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the project object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- projects
summary: "Delete project"
description: "Handles the deletion of a project by id"
operationId: deleteProject
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Project Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/projects/{id}/edit":
get:
tags:
- projects
summary: "Edit project"
description: "Displays a project by id"
operationId: editProject
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Project Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the project object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/projects/create:
get:
tags:
- projects
summary: "Blank project"
description: "Returns a blank object with default values"
operationId: getProjectsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank project object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/projects/bulk:
post:
tags:
- projects
summary: "Bulk project actions"
description: ""
operationId: bulkProjects
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Project User response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/projects/{id}/upload":
post:
tags:
- projects
summary: "Uploads a project document"
description: "Handles the uploading of a document to a project"
operationId: uploadProject
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Project Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Project object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/payments:
get:
tags:
- payments
summary: "List payments"
description: "Lists payments, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the payments, these are handled by the PaymentFilters class which defines the methods available"
operationId: getPayments
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/status"
- $ref: "#/components/parameters/client_id"
- $ref: "#/components/parameters/created_at"
- $ref: "#/components/parameters/updated_at"
- $ref: "#/components/parameters/is_deleted"
- $ref: "#/components/parameters/filter_deleted_clients"
- $ref: "#/components/parameters/vendor_id"
- name: filter
in: query
description: |
Searches across a range of columns including:
- amount
- date
- custom_value1
- custom_value2
- custom_value3
- custom_value4
required: false
schema:
type: string
example: ?filter=10
- name: number
in: query
description: |
Search payments by payment number
required: false
schema:
type: string
example: ?number=0001
- name: sort
in: query
description: Returns the list sorted by column in ascending or descending order.
required: false
schema:
type: string
example: id|desc number|desc balance|asc
responses:
200:
description: "A list of payments"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Payment'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- payments
summary: "Create payment"
description: "Adds an Payment to the system"
operationId: storePayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
description: "The payment request"
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
responses:
200:
description: "Returns the saved Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/payments/{id}":
get:
tags:
- payments
summary: "Show payment"
description: "Displays an Payment by id"
operationId: showPayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- payments
summary: "Update payment"
description: "Handles the updating of an Payment by id"
operationId: updatePayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- payments
summary: "Delete payment"
description: "Handles the deletion of an Payment by id"
operationId: deletePayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/payments/{id}/edit":
get:
tags:
- payments
summary: "Edit payment"
description: "Displays an Payment by id"
operationId: editPayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/payments/create:
get:
tags:
- payments
summary: "Blank payment"
description: "Returns a blank object with default values"
operationId: getPaymentsCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/payments/refund:
post:
tags:
- payments
summary: "Refund payment"
description: "Adds an Refund to the system"
operationId: storeRefund
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
requestBody:
description: "The refund request"
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
responses:
200:
description: "Returns the saved Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/payments/bulk:
post:
tags:
- payments
summary: "Bulk payment actions"
description: ""
operationId: bulkPayments
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "User credentials"
required: true
content:
application/json:
schema:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned"
type: integer
example: "[0,1,2,3]"
responses:
200:
description: "The Payment response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/payments/{id}/{action}":
get:
deprecated: true
tags:
- payments
summary: "Custom payment actions"
description: "Performs a custom action on an Payment.\n\n The current range of actions are as follows\n - clone_to_Payment\n - clone_to_quote\n - history\n - delivery_note\n - mark_paid\n - download\n - archive\n - delete\n - email"
operationId: actionPayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: action
in: path
description: "The action string to be performed"
required: true
schema:
type: string
format: string
example: clone_to_quote
responses:
200:
description: "Returns the Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/payments/{id}/upload":
post:
tags:
- payments
summary: "Upload a payment document"
description: "Handles the uploading of a document to a payment"
operationId: uploadPayment
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The Payment Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the Payment object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/Payment"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/recurring_invoices:
get:
tags:
- Recurring Invoices
summary: "List recurring invoices"
description: |
Lists invoices with the option to chain multiple query parameters allowing fine grained filtering of the list.
operationId: getRecurringInvoices
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- $ref: "#/components/parameters/client_id"
- $ref: "#/components/parameters/created_at"
- $ref: "#/components/parameters/updated_at"
- $ref: "#/components/parameters/is_deleted"
- $ref: "#/components/parameters/filter_deleted_clients"
- $ref: "#/components/parameters/vendor_id"
- name: filter
in: query
description: |
Searches across a range of columns including:
- custom_value1
- custom_value2
- custom_value3
- custom_value4
required: false
schema:
type: string
example: ?filter=bob
- name: client_status
in: query
description: |
A comma separated list of invoice status strings. Valid options include:
- all
- active
- paused
- completed
required: false
schema:
type: string
example: ?client_status=active,paused
- name: sort
in: query
description: Returns the list sorted by column in ascending or descending order.
required: false
schema:
type: string
example: id|desc number|desc balance|asc
responses:
200:
description: "A list of recurring_invoices"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/RecurringInvoice'
meta:
type: object
$ref: '#/components/schemas/Meta'
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
post:
tags:
- Recurring Invoices
summary: "Create recurring invoice"
description: "Adds a Recurring Invoice to the system"
operationId: storeRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "Returns the saved RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_invoices/{id}":
get:
tags:
- Recurring Invoices
summary: "Show recurring invoice"
description: "Displays an RecurringInvoice by id"
operationId: showRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringInvoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
put:
tags:
- Recurring Invoices
summary: "Update recurring invoice"
description: "Handles the updating of an RecurringInvoice by id"
operationId: updateRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringInvoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
delete:
tags:
- Recurring Invoices
summary: "Delete recurring invoice"
description: "Handles the deletion of an RecurringInvoice by id"
operationId: deleteRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringInvoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns a HTTP status"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_invoices/{id}/edit":
get:
tags:
- Recurring Invoices
summary: "Edit recurring invoice"
description: "Displays an RecurringInvoice by id"
operationId: editRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringInvoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/recurring_invoices/create:
get:
tags:
- Recurring Invoices
summary: "Blank recurring invoice"
description: "Returns a blank object with default values"
operationId: getRecurringInvoicesCreate
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
responses:
200:
description: "A blank RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
/api/v1/recurring_invoices/bulk:
post:
tags:
- Recurring Invoices
summary: "Bulk recurring invoice actions"
description: |
There are multiple actions that are available including:
operationId: bulkRecurringInvoices
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/index"
requestBody:
description: "Bulk action details"
required: true
content:
application/json:
schema:
type: object
properties:
action:
type: string
description: |
The action to be performed, options include:
- `start`
Starts (or restarts) the recurring invoice. **note** if the recurring invoice has been stopped for a long time, it will attempt to catch back up firing a new Invoice every hour per interval that has been missed.
If you do not wish to have the recurring invoice catch up, you should set the next_send_date to the correct date you wish the recurring invoice to commence from.
- `stop`
Stops the recurring invoice.
- `send_now`
Force sends the recurring invoice - this option is only available when the recurring invoice is in a draft state.
- `restore`
Restores the recurring invoice from an archived or deleted state.
- `archive`
Archives the recurring invoice. The recurring invoice will not fire in this state.
- `delete`
Deletes a recurring invoice.
ids:
type: array
items:
description: "Array of hashed IDs to be bulk 'actioned - ['D2J234DFA','D2J234DFA','D2J234DFA']"
type: string
example:
action: start
ids: "['D2J234DFA','D2J234DFA','D2J234DFA']"
responses:
200:
description: "The RecurringInvoice response"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_invoices/{id}/{action}":
get:
deprecated: true
tags:
- Recurring Invoices
summary: "Custom recurring invoice action"
description: "Performs a custom action on an RecurringInvoice.\n\n The current range of actions are as follows\n - clone_to_RecurringInvoice\n - clone_to_quote\n - history\n - delivery_note\n - mark_paid\n - download\n - archive\n - delete\n - email"
operationId: actionRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringInvoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
- name: action
in: path
description: "The action string to be performed"
required: true
schema:
type: string
format: string
example: clone_to_quote
responses:
200:
description: "Returns the RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_invoice/{invitation_key}/download":
get:
tags:
- Recurring Invoices
summary: "Download recurring invoice PDF"
description: "Downloads a specific invoice"
operationId: downloadRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: invitation_key
in: path
description: "The Recurring Invoice Invitation Key"
required: true
schema:
type: string
format: string
example: D2J234DFA
responses:
200:
description: "Returns the recurring invoice pdf"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
"/api/v1/recurring_invoices/{id}/upload":
post:
tags:
- Recurring Invoices
summary: "Add recurring invoice document"
description: "Handles the uploading of a document to a recurring_invoice"
operationId: uploadRecurringInvoice
parameters:
- $ref: "#/components/parameters/X-API-TOKEN"
- $ref: "#/components/parameters/X-Requested-With"
- $ref: "#/components/parameters/include"
- name: id
in: path
description: "The RecurringInvoice Hashed ID"
required: true
schema:
type: string
format: string
example: D2J234DFA
requestBody:
description: "File Upload Body"
required: true
content:
multipart/form-data:
schema:
type: object
properties:
_method:
type: string
example: PUT
documents:
type: array
items:
description: "Array of binary documents for upload"
type: string
format: binary
responses:
200:
description: "Returns the RecurringInvoice object"
headers:
X-MINIMUM-CLIENT-VERSION:
$ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION"
X-RateLimit-Remaining:
$ref: "#/components/headers/X-RateLimit-Remaining"
X-RateLimit-Limit:
$ref: "#/components/headers/X-RateLimit-Limit"
content:
application/json:
schema:
$ref: "#/components/schemas/RecurringInvoice"
401:
$ref: "#/components/responses/401"
403:
$ref: "#/components/responses/403"
422:
$ref: '#/components/responses/422'
429:
$ref: '#/components/responses/429'
5XX:
description: 'Server error'
default:
$ref: "#/components/responses/default"
components:
headers:
X-MINIMUM-CLIENT-VERSION:
description: 'The API version'
schema:
type: number
X-RateLimit-Remaining:
description: 'The number of requests left for the time window.'
schema:
type: integer
X-RateLimit-Limit:
description: 'The total number of requests in a given time window.'
schema:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-TOKEN
#examples:
# Client:
# $ref: '#/components/schemas/Client'
# Client:
# id: Opnel5aKBz
# user_id: Ua6Rw4pVbS
# assigned_user_id: Ua6Rw4pVbS
# name: "Jim's Housekeeping"
# website: https://www.jims-housekeeping.com
# private_notes: Client prefers email communication over phone calls
# client_hash: asdfkjhk342hjhbfdvmnfb1
# industry_id: 5
# size_id: 2
# address1: 123 Main St
# address2: Apt 4B
# city: Beverly Hills
# state: California
# postal_code: 90210
# phone: 555-3434-3434
# country_id: 1
# custom_value1: Email
# custom_value2: John Doe
# custom_value3: Yes
# custom_value4: $50,000
# vat_number: VAT123456
# id_number: ID123456
# number: CL-0001
# shipping_address1: 5 Wallaby Way
# shipping_address2: Suite 5
# shipping_city: Perth
# shipping_state: Western Australia
# shipping_postal_code: 6110
# shipping_country_id: 4
# is_deleted: false
# balance: 500.00
# paid_to_date: 2000.00
# credit_balance: 100.00
# last_login: 1628686031
# created_at: 1617629031
# updated_at: 1628445631
# group_settings_id: Opnel5aKBz
# routing_id: Opnel5aKBz3489-dfkiu-2239-sdsd
# is_tax_exempt: false
# has_valid_vat_number: false
# payment_balance: 100
# contacts:
# id: Opnel5aKBz
# first_name: John
# last_name: Doe
# email: jim@gmail.com
# phone: 555-3434-3434
# send_invoice: true
# custom_value1: Email
# custom_value2: John Doe
# custom_value3: Yes
# custom_value4: $50,000
# is_primary: true
# created_at: 1617629031
# updated_at: 1628445631
# deleted_at: 1628445631
# Meta:
# value:
# pagination:
# total: 1
# count: 1
# per_page: 20
# current_page: 1
# total_pages: 1
# links:
# - first: https://invoicing.co/api/v1/invoices?page=1
# - last: https://invoicing.co/api/v1/invoices?page=1
# - prev: null
# - next: null
responses:
401:
description: 'Authentication error'
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
422:
description: 'Validation error'
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
400:
description: 'Invalid user input'
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidInputError'
403:
description: 'Authorization error'
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationError'
429:
description: 'Rate Limit Exceeded'
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimiterError'
default:
description: 'Unexpected Error'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
X-API-SECRET:
name: X-API-SECRET
in: header
description: 'The API secret as defined by the .env variable API_SECRET. Only needed for self hosted users, and only applicable on the login route.'
required: false
schema:
type: string
example: password
X-Requested-With:
name: X-Requested-With
in: header
description: 'Used to send the XMLHttpRequest header'
required: true
schema:
type: string
readOnly: true
example: XMLHttpRequest
X-API-TOKEN:
name: X-API-TOKEN
in: header
description: 'The API token to be used for authentication'
required: true
schema:
type: string
example: TOKEN
X-API-PASSWORD:
name: X-API-PASSWORD
in: header
description: 'The login password when challenged on certain protected routes'
required: true
schema:
type: string
example: supersecretpassword
bank_integration_include:
name: include
in: query
description: Include child relations of the BankIntegration object. Format is comma separated.
required: false
schema:
type: string
examples:
company:
value: company
summary: The associated Company
account:
value: account
summary: The associated Account
bank_transactions:
value: bank_transactions
summary: The associated Bank Transactions
client_include:
name: include
in: query
description: Include child relationships of the Client Object.
required: false
schema:
type: string
examples:
activities:
value: activities
summary: include=activities will include the activities object in the response
ledger:
value: ledger
summary: include=ledger will include the ledger object in the response
system_logs:
value: system_logs
summary: include=system_logs will include the system_logs object in the response
activity_include:
name: include
in: query
description: Include child relations of the Activity object, format is comma separated. **Note** it is possible to chain multiple includes together, ie. include=account,token
required: false
schema:
type: string
examples:
history:
value: history
summary: include=history will include the history object in the response (This could include references to the backup HTML of the entity)
user:
value: user
summary: include=user will include the user object in the response
client:
value: client
summary: include=client will include the client object in the response
recurring_invoice:
value: recurring_invoice
summary: include=recurring_invoice will include the recurring_invoice object in the response
invoice:
value: invoice
summary: include=invoice will include the invoice object in the response
credit:
value: credit
summary: include=credit will include the credit object in the response
quote:
value: quote
summary: include=quote will include the quote object in the response
payment:
value: payment
summary: include=payment will include the payment object in the response
expense:
value: expense
summary: include=expense will include the expense object in the response
vendor_contact:
value: vendor_contact
summary: include=vendor_contact will include the vendor_contact object in the response
vendor:
value: vendor
summary: include=vendor will include the vendor object in the response
purchase_order:
value: purchase_order
summary: include=purchase_order will include the purchase_order object in the response
task:
value: task
summary: include=task will include the task object in the response
login_include:
name: include
in: query
description: Include child relations of the CompanyUser object, format is comma separated. **Note** it is possible to chain multiple includes together, ie. include=account,token
required: false
schema:
type: string
examples:
user:
value: user
summary: include=user will include the Cser object in the response
company:
value: company
summary: include=company will include the Company object in the response
token:
value: token
summary: include=token will include the Company Token object in the response
account:
value: account
summary: include=account will include the Account object in the response
per_page_meta:
name: per_page
in: query
description: The number of records to return for each request, default is 20
required: false
schema:
type: integer
example: 20
page_meta:
name: page
in: query
description: The page number to return for this request (when performing pagination), default is 1
required: false
schema:
type: integer
example: 1
include:
name: include
in: query
description: 'Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes'
required: false
schema:
type: string
example: 'first_load'
include_static:
name: include_static
in: query
description: |
Static variables include:
- Currencies
- Countries
- Languages
- Payment Types
- Email Templatees
- Industries
required: false
schema:
type: string
example: include_static=true
clear_cache:
name: clear_cache
in: query
description: |
Clears cache
Sometimes after a system update where the static variables have been updated, it may be necessary to clear the cache so that the static variables repopulate
required: false
schema:
type: string
example: clear_cache=true
index:
name: index
in: query
description: 'Replaces the default response index from data to a user specific string'
required: false
schema:
type: string
example: user
api_version:
name: api_version
in: query
description: 'The API version'
required: false
schema:
type: number
example: user
########################### Generic filters available across all filter ##################################
status:
name: status
in: query
description: |
Filter the entity based on their status. ie active / archived / deleted. Format is a comma separated string with any of the following options:
- active
- archived
- deleted
required: false
schema:
type: string
example: ?status=archived,deleted
client_id:
name: client_id
in: query
description: |
Filters the entity list by client_id. Suitable when you only want the entities of a specific client.
required: false
schema:
type: string
example: ?client_id={client_id}
created_at:
name: created_at
in: query
description: |
Filters the entity list by the created at timestamp. Parameter value can be a datetime string or unix timestamp
required: false
schema:
type: integer
example: ?created_at=2022-01-10
updated_at:
name: updated_at
in: query
description: |
Filters the entity list by the updated at timestamp. Parameter value can be a datetime string or unix timestamp
required: false
schema:
type: integer
example: ?updated_at=2022-01-10
is_deleted:
name: is_deleted
in: query
description: |
Filters the entity list by entities that have been deleted.
required: false
schema:
type: boolean
example: ?is_deleted=true
vendor_id:
name: vendor_id
in: query
description: |
Filters the entity list by an associated vendor
required: false
schema:
type: string
example: ?vendor_id={vendor_id}
filter_deleted_clients:
name: filter_deleted_clients
in: query
description: |
Filters the entity list and only returns entities for clients that have not been deleted
required: false
schema:
type: string
example: ?filter_deleted_clients=true
########################### Generic filters available across all filter ##################################
schemas:
CreditPaymentable:
properties:
credit_id:
description: 'The credit hashed id'
type: string
example: Opnel5aKBz
amount:
description: 'The credit amount'
type: string
example: '2'
type: object
GenericReportSchema:
properties:
date_range:
description: 'The string representation of the date range of data to be returned'
type: string
example: last7
date_key:
description: 'The date column to search between.'
type: string
example: created_at
start_date:
description: 'The start date to search between'
type: string
example: '2000-10-31'
end_date:
description: 'The end date to search between'
type: string
example: '2'
report_keys:
type: array
items:
description: 'Array of Keys to export'
type: string
example: '[''name'',''date'']'
type: object
GroupSetting:
properties:
id:
description: 'The group setting hashed id'
type: string
example: Opnel5aKBz
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
name:
description: 'The name of the group'
type: string
example: 'A groupies group'
settings:
description: 'The settings object'
type: object
example: ''
type: object
InvoicePaymentable:
properties:
invoice_id:
description: ______
type: string
example: Opnel5aKBz
amount:
description: ______
type: string
example: '2'
type: object
TaskSchedulerSchema:
properties:
paused:
description: 'The scheduler paused state'
type: boolean
example: 'false'
repeat_every:
description: 'Accepted values (DAY,WEEK,MONTH,3MONTHS,YEAR)'
type: string
example: DAY
start_from:
description: 'Timestamp when we should start the scheduler, default is today'
type: integer
example: '1652898504'
job:
description: 'Job, we can find list of available jobs in Scheduler model'
type: string
example: create_credit_report
date_range:
description: 'The string representation of the date range of data to be returned'
type: string
example: last7
date_key:
description: 'The date column to search between.'
type: string
example: created_at
start_date:
description: 'The start date to search between'
type: string
example: '2022-10-31'
end_date:
description: 'The end date to search between'
type: string
example: '2022-10-31'
report_keys:
type: array
items:
description: 'Array of Keys to export'
type: string
example: '[''name'',''date'']'
type: object
UpdateTaskSchedulerSchema:
properties:
paused:
description: 'The scheduler paused state'
type: boolean
example: 'false'
repeat_every:
description: 'Accepted values (DAY,WEEK,MONTH,3MONTHS,YEAR)'
type: string
example: DAY
start_from:
description: 'Timestamp when we should start the scheduler, default is today'
type: integer
example: '1652898504'
job:
description: 'Job, we can find list of available jobs in Scheduler model'
type: string
example: create_credit_report
date_range:
description: 'The string representation of the date range of data to be returned'
type: string
example: last7
date_key:
description: 'The date column to search between.'
type: string
example: created_at
start_date:
description: 'The start date to search between'
type: string
example: '2022-10-31'
end_date:
description: 'The end date to search between'
type: string
example: '2022-10-31'
type: object
UpdateJobForASchedulerSchema:
properties:
job:
description: 'Set action name, action names can be found in Scheduler Model'
type: string
example: create_client_report
type: object
TaskStatus:
properties:
id:
description: 'The task status hashed id'
type: string
example: Opnel5aKBz
readOnly: true
name:
description: 'The task status name'
type: string
example: Backlog
color:
description: 'The task status color - hex value'
type: string
example: '#000000'
task_status_order:
description: 'The order of the task status'
type: integer
example: '4'
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
is_deleted:
description: 'A boolean flag determining if the task status has been deleted'
type: boolean
example: true
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
archived_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
type: object
TaxRate:
properties:
id:
description: 'Thie hashed id of the tax'
type: string
example: Opnel5aKBz
readOnly: true
name:
description: 'The tax name'
type: string
example: GST
rate:
description: 'The tax rate'
type: number
example: '10'
is_deleted:
description: 'Boolean flag determining if the tax has been deleted'
type: boolean
example: true
type: object
Template:
properties:
html:
description: 'The template HTML'
type: string
example: '<HTML></HTML>'
type: object
AuthenticationError:
type: object
properties:
message:
description: 'These credentials do not match our records / Invalid Token'
type: string
example: 'These credentials do not match our records / Invalid Token'
ValidationError:
properties:
message:
description: 'The error message'
type: string
example: 'The given data was invalid.'
errors:
properties:
value:
type: array
items:
type: string
type: object
type: object
AuthorizationError:
properties:
message:
description: 'Insufficient permissions for this resource.'
type: string
example: 'Insufficient permissions for this resource.'
errors:
properties:
value:
type: array
items:
type: string
type: object
type: object
RateLimiterError:
properties:
message:
description: 'Rate limit exceeded.'
type: string
example: 'Rate limit exceeded.'
errors:
properties:
value:
type: array
items:
type: string
type: object
type: object
InvalidInputError:
properties:
message:
description: 'Invalid input'
type: string
example: 'Invalid input'
errors:
properties:
value:
type: array
items:
type: string
type: object
type: object
Webhook:
properties:
id:
description: 'The subscription hashed id'
type: string
example: AS3df3A
event_id:
description: 'The subscription event id'
type: string
example: AS3df3A
target_url:
description: 'The api endpoint'
type: string
example: AS3df3A
format:
description: 'JSON or UBL'
type: string
example: JSON
type: object
User:
properties:
id:
description: 'The hashed id of the user'
type: string
example: Opnel5aKBz
readOnly: true
first_name:
description: 'The first name of the user'
type: string
example: Brad
last_name:
description: 'The last name of the user'
type: string
example: Pitt
email:
description: 'The users email address'
type: string
example: brad@pitt.com
phone:
description: 'The users phone number'
type: string
example: 555-1233-23232
signature:
description: 'The users sign off signature'
type: string
example: 'Have a nice day!'
avatar:
description: 'The users avatar'
type: string
example: 'https://url.to.your/avatar.png'
accepted_terms_version:
description: 'The version of the invoice ninja terms that has been accepted by the user'
type: string
example: 1.0.1
readOnly: true
oauth_user_id:
description: 'The provider id of the oauth entity'
type: string
example: jkhasdf789as6f675sdf768sdfs
readOnly: true
oauth_provider_id:
description: 'The oauth entity id'
type: string
example: google
readOnly: true
language_id:
description: 'The language id of the user'
type: string
example: 1
verified_phone_number:
description: 'Boolean flag if the user has their phone verified. Required to settings up 2FA'
type: boolean
example: true
readOnly: true
sms_verification_code:
description: 'The sms verification code for the user. Required to settings up 2FA'
type: string
example: '123456'
readOnly: true
oauth_user_token_expiry:
description: 'The expiry date of the oauth token'
type: string
example: '2022-10-10'
readOnly: true
has_password:
description: 'Boolean flag determining if the user has a password'
type: boolean
example: true
readOnly: true
last_confirmed_email_address:
description: 'The last confirmed email address of the user'
type: string
example: 'bob@gmail.com'
readOnly: true
custom_value1:
description: 'A custom value'
type: string
example: 'Custom value 1'
custom_value2:
description: 'A custom value'
type: string
example: '$1000'
custom_value3:
description: 'A custom value'
type: string
example: 'Custom value 3'
custom_value4:
description: 'A custom value'
type: string
example: 'Custom value 4'
is_deleted:
description: 'Boolean flag determining if the user has been deleted'
type: boolean
example: true
readOnly: true
google_2fa_secret:
description: 'The google 2fa secret for the user'
type: string
example: '123456'
readOnly: true
company_user:
$ref: '#/components/schemas/CompanyUserRef'
type: object
UserRef:
properties:
id:
description: 'The hashed id of the user'
type: string
example: Opnel5aKBz
readOnly: true
first_name:
description: 'The first name of the user'
type: string
example: Brad
last_name:
description: 'The last name of the user'
type: string
example: Pitt
email:
description: 'The users email address'
type: string
example: brad@pitt.com
phone:
description: 'The users phone number'
type: string
example: 555-1233-23232
signature:
description: 'The users sign off signature'
type: string
example: 'Have a nice day!'
avatar:
description: 'The users avatar'
type: string
example: 'https://url.to.your/avatar.png'
accepted_terms_version:
description: 'The version of the invoice ninja terms that has been accepted by the user'
type: string
example: 1.0.1
readOnly: true
oauth_user_id:
description: 'The provider id of the oauth entity'
type: string
example: jkhasdf789as6f675sdf768sdfs
readOnly: true
oauth_provider_id:
description: 'The oauth entity id'
type: string
example: google
readOnly: true
language_id:
description: 'The language id of the user'
type: string
example: 1
verified_phone_number:
description: 'Boolean flag if the user has their phone verified. Required to settings up 2FA'
type: boolean
example: true
readOnly: true
sms_verification_code:
description: 'The sms verification code for the user. Required to settings up 2FA'
type: string
example: '123456'
readOnly: true
oauth_user_token_expiry:
description: 'The expiry date of the oauth token'
type: string
example: '2022-10-10'
readOnly: true
has_password:
description: 'Boolean flag determining if the user has a password'
type: boolean
example: true
readOnly: true
last_confirmed_email_address:
description: 'The last confirmed email address of the user'
type: string
example: 'bob@gmail.com'
readOnly: true
custom_value1:
description: 'A custom value'
type: string
example: 'Custom value 1'
custom_value2:
description: 'A custom value'
type: string
example: '$1000'
custom_value3:
description: 'A custom value'
type: string
example: 'Custom value 3'
custom_value4:
description: 'A custom value'
type: string
example: 'Custom value 4'
is_deleted:
description: 'Boolean flag determining if the user has been deleted'
type: boolean
example: true
readOnly: true
google_2fa_secret:
description: 'The google 2fa secret for the user'
type: string
example: '123456'
readOnly: true
type: object
Task:
properties:
id:
description: 'The hashed id of the task'
type: string
example: Opnel5aKBz
user_id:
description: 'The hashed id of the user who created the task'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The assigned user of the task'
type: string
example: Opnel5aKBz
client_id:
description: 'The hashed if of the client'
type: string
example: Opnel5aKBz
invoice_id:
description: 'The hashed id of the invoice associated with the task'
type: string
example: Opnel5aKBz
project_id:
description: 'The hashed id of the project associated with the task'
type: string
example: Opnel5aKBz
number:
description: 'The number of the task'
type: string
example: TASK-123
time_log:
description: 'An array of unix time stamps defining the start and end times of the task'
type: string
example: '[[1,2],[3,4]]'
is_running:
description: 'Determines if the task is still running'
type: boolean
example: true
is_deleted:
description: 'Boolean flag determining if the task has been deleted'
type: boolean
example: true
task_status_id:
description: 'The hashed id of the task status'
type: string
example: Opnel5aKBz
description:
description: 'The task description'
type: string
example: 'A wonder task to work on'
duration:
description: 'The task duration in seconds'
type: integer
example: '3600'
task_status_order:
description: 'The order of the task'
type: integer
example: '4'
rate:
description: 'The task rate'
type: number
example: 10.00
custom_value1:
description: 'A custom value'
type: string
example: '2022-10-10'
custom_value2:
description: 'A custom value'
type: string
example: $1100
custom_value3:
description: 'A custom value'
type: string
example: 'I need help'
custom_value4:
description: 'A custom value'
type: string
example: INV-3343
is_date_based:
description: 'Boolean flag determining if the task is date based'
type: boolean
example: true
calculated_start_date:
description: 'The calculated start date of the task'
type: string
example: '2022-10-10'
readOnly: true
invoice_documents:
description: "Boolean flags which determines whether to include the task documents on the invoice"
type: boolean
example: true
created_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
type: object
Document:
properties:
id:
description: 'The document hashed id'
type: string
example: AS3df3A
user_id:
description: 'The user hashed id'
type: string
example: ''
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: ''
project_id:
description: 'The project associated with this document'
type: string
example: ''
vendor_id:
description: 'The vendor associated with this documents'
type: string
example: ''
name:
description: 'The document name'
type: string
example: Beauty
url:
description: 'The document url'
type: string
example: Beauty
preview:
description: 'The document preview url'
type: string
example: Beauty
type:
description: 'The document type'
type: string
example: Beauty
disk:
description: 'The document disk'
type: string
example: Beauty
hash:
description: 'The document hashed'
type: string
example: Beauty
is_deleted:
description: 'Flag to determine if the document is deleted'
type: boolean
example: true
is_default:
description: 'Flag to determine if the document is a default doc'
type: boolean
example: true
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
deleted_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
type: object
ClientGatewayToken:
properties:
id:
description: 'The hashed id of the client gateway token'
type: string
example: Opnel5aKBz
client_id:
description: 'The hashed_id of the client'
type: string
example: '2'
token:
description: 'The payment token'
type: string
example: '2'
routing_number:
description: 'THe bank account routing number'
type: string
example: '2'
company_gateway_id:
description: 'The hashed id of the company gateway'
type: string
example: '2'
is_default:
description: 'Flag determining if the token is the default payment method'
type: boolean
example: 'true'
type: object
Invoice:
properties:
id:
description: 'The invoice hashed id'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
readOnly: true
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
status_id:
description: 'The invoice status variable'
type: string
example: '4'
number:
description: 'The invoice number - is a unique alpha numeric number per invoice per company'
type: string
example: INV_101
po_number:
description: 'The purchase order associated with this invoice'
type: string
example: PO-1234
terms:
description: 'The invoice terms'
type: string
example: 'These are invoice terms'
public_notes:
description: 'The public notes of the invoice'
type: string
example: 'These are some public notes'
private_notes:
description: 'The private notes of the invoice'
type: string
example: 'These are some private notes'
footer:
description: 'The invoice footer notes'
type: string
example: ''
custom_value1:
description: 'A custom field value'
type: string
example: '2022-10-01'
custom_value2:
description: 'A custom field value'
type: string
example: 'Something custom'
custom_value3:
description: 'A custom field value'
type: string
example: ''
custom_value4:
description: 'A custom field value'
type: string
example: ''
tax_name1:
description: 'The tax name'
type: string
example: ''
tax_name2:
description: 'The tax name'
type: string
example: ''
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
total_taxes:
description: 'The total taxes for the invoice'
type: number
format: float
example: '10.00'
line_items:
type: array
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
invitations:
type: array
description: 'An array of objects which define the invitations of the invoice'
items:
$ref: '#/components/schemas/InvoiceInvitation'
amount:
description: 'The invoice amount'
type: number
format: float
example: '10.00'
balance:
description: 'The invoice balance'
type: number
format: float
example: '10.00'
paid_to_date:
description: 'The amount paid on the invoice to date'
type: number
format: float
example: '10.00'
discount:
description: 'The invoice discount, can be an amount or a percentage'
type: number
format: float
example: '10.00'
partial:
description: 'The deposit/partial amount'
type: number
format: float
example: '10.00'
is_amount_discount:
description: 'Flag determining if the discount is an amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Defines if the invoice has been deleted'
type: boolean
example: true
uses_inclusive_taxes:
description: 'Defines the type of taxes used as either inclusive or exclusive'
type: boolean
example: true
date:
description: 'The Invoice Date'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the invoice was sent out'
type: string
format: date
example: '1994-07-30'
next_send_date:
description: 'The Next date for a reminder to be sent'
type: string
format: date
example: '1994-07-30'
partial_due_date:
description: 'The due date for the deposit/partial amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date of the invoice'
type: string
format: date
example: '1994-07-30'
last_viewed:
description: Timestamp
type: number
format: integer
example: '1434342123'
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
custom_surcharge1:
description: 'First Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
project_id:
description: 'The project associated with this invoice'
type: string
example: Opnel5aKBz
auto_bill_tries:
description: 'The number of times the invoice has attempted to be auto billed'
type: integer
example: '1'
readOnly: true
auto_bill_enabled:
description: 'Boolean flag determining if the invoice is set to auto bill'
type: boolean
example: true
subscription_id:
description: 'The subscription associated with this invoice'
type: string
example: Opnel5aKBz
type: object
FillableInvoice:
properties:
assigned_user_id:
description: "The assigned user's hashed ID"
type: string
example: 'a1b2c3d4'
client_id:
description: "The client's hashed ID"
type: string
example: 'x1y2z3a4'
number:
description: "The unique alphanumeric invoice number for each invoice per company"
type: string
example: INV_101
po_number:
description: "The purchase order number associated with the invoice"
type: string
example: 'PO12345'
terms:
description: "The terms and conditions for the invoice"
type: string
example: 'Net 30'
public_notes:
description: "Public notes visible to the client on the invoice"
type: string
example: 'Thank you for your business.'
private_notes:
description: "Private notes for internal use only"
type: string
example: 'Client is a slow payer.'
footer:
description: "The footer text displayed on the invoice"
type: string
example: 'Authorized Signature'
custom_value1:
description: "First custom value for additional information"
type: string
example: 'Project ABC'
custom_value2:
description: "Second custom value for additional information"
type: string
example: 'Department XYZ'
custom_value3:
description: "Third custom value for additional information"
type: string
example: 'Location 123'
custom_value4:
description: "Fourth custom value for additional information"
type: string
example: 'Currency USD'
tax_name1:
description: "Name of the first tax applied to the invoice"
type: string
example: 'VAT'
tax_name2:
description: "Name of the second tax applied to the invoice"
type: string
example: 'GST'
tax_rate1:
description: "Rate of the first tax applied to the invoice"
type: number
example: 10.00
tax_rate2:
description: "Rate of the second tax applied to the invoice"
type: number
example: 5.00
tax_name3:
description: "Name of the third tax applied to the invoice"
type: string
example: 'PST'
tax_rate3:
description: "Rate of the third tax applied to the invoice"
type: number
example: 8.00
line_items:
type: array
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
discount:
description: "The discount applied to the invoice"
type: number
example: 10.00
partial:
description: "The partial amount applied to the invoice"
type: number
example: 20.00
is_amount_discount:
description: "Indicates whether the discount applied is a fixed amount or a percentage"
type: boolean
example: true
uses_inclusive_taxes:
description: "Indicates whether the tax rates applied to the invoice are inclusive or exclusive"
type: boolean
example: true
date:
description: "The date the invoice was issued"
type: string
example: '1994-07-30'
partial_due_date:
description: "The due date for the partial payment"
type: string
example: '1994-08-15'
due_date:
description: "The due date for the invoice"
type: string
example: '1994-08-30'
custom_surcharge1:
description: "First custom surcharge applied to the invoice"
type: number
example: 10.00
custom_surcharge2:
description: "Second custom surcharge applied to the invoice"
type: number
example: 15.00
custom_surcharge3:
description: "Third custom surcharge applied to the invoice"
type: number
example: 5.00
custom_surcharge4:
description: "Fourth custom surcharge applied to the invoice"
type: number
example: 20.00
type: object
CompanyGateway:
properties:
id:
description: 'The hashed id of the company gateway'
type: string
example: Opnel5aKBz
gateway_key:
description: 'The gateway key (hash)'
type: string
example: '2'
accepted_credit_cards:
description: 'Bitmask representation of cards'
type: integer
example: '32'
require_billing_address:
description: 'Determines if the the billing address is required prior to payment.'
type: boolean
example: true
require_shipping_address:
description: 'Determines if the the billing address is required prior to payment.'
type: boolean
example: true
config:
description: 'The configuration map for the gateway'
type: string
example: dfadsfdsafsafd
update_details:
description: 'Determines if the client details should be updated.'
type: boolean
example: true
fees_and_limits:
description: 'A mapped collection of the fees and limits for the configured gateway'
type: array
items:
$ref: '#/components/schemas/FeesAndLimits'
type: object
InvoiceInvitation:
properties:
id:
description: 'The entity invitation hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
key:
description: 'The invitation key'
type: string
example: Opnel5aKBz4343343566236gvbb
readOnly: true
link:
description: 'The invitation link'
type: string
example: 'https://www.example.com/invitations/Opnel5aKBz4343343566236gvbb'
readOnly: true
sent_date:
description: 'The invitation sent date'
type: string
format: date-time
readOnly: true
viewed_date:
description: 'The invitation viewed date'
type: string
format: date-time
readOnly: true
opened_date:
description: 'The invitation opened date'
type: string
format: date-time
readOnly: true
updated_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
email_error:
description: 'The email error'
type: string
example: 'The email error'
readOnly: true
email_status:
description: 'The email status'
type: string
readOnly: true
Account:
properties:
id:
description: 'The account hashed id'
type: string
example: AS3df3A
account_sms_verified:
description: 'Boolean flag if the account has been verified by sms'
type: string
example: true
type: object
ExpenseCategory:
properties:
id:
description: 'The expense hashed id'
type: string
example: Opnel5aKBz
name:
description: 'The expense category name'
type: string
example: Accounting
user_id:
description: 'The user hashed id'
type: string
example: XS987sD
is_deleted:
description: 'Flag determining whether the expense category has been deleted'
type: boolean
example: true
updated_at:
description: 'The updated at timestamp'
type: integer
example: '2'
created_at:
description: 'The created at timestamp'
type: integer
example: '2'
type: object
Subscription:
properties:
id:
description: Unique identifier for the subscription
type: string
example: Opnel5aKBz
user_id:
description: Unique identifier for the user associated with the subscription
type: string
example: Ua6Rw4pVbS
product_id:
description: Unique identifier for the product associated with the subscription
type: string
example: Pr5Ft7yBmC
recurring_invoice_id:
description: Unique identifier for the recurring invoice associated with the subscription
type: string
example: Ri2Yt8zJkP
is_recurring:
description: Indicates whether the subscription is recurring
type: boolean
example: 'true'
frequency_id:
description: 'integer const representation of the frequency'
type: string
example: '1'
auto_bill:
description: 'enum setting'
type: string
example: always
promo_code:
description: Promotional code applied to the subscription
type: string
example: PROMOCODE4U
promo_discount:
description: Discount percentage or amount applied to the subscription
type: number
example: 10
is_amount_discount:
description: Indicates whether the discount is a fixed amount
type: boolean
example: 'true'
allow_cancellation:
description: Indicates whether the subscription can be cancelled
type: boolean
example: 'true'
per_seat_enabled:
description: Indicates whether the subscription pricing is per seat
type: boolean
example: 'true'
currency_id:
description: Unique identifier for the currency used in the subscription
type: integer
example: '1'
max_seats_limit:
description: Maximum number of seats allowed for the subscription
type: integer
example: '100'
trial_enabled:
description: Indicates whether the subscription has a trial period
type: boolean
example: 'true'
trial_duration:
description: Duration of the trial period in days
type: integer
example: '14'
allow_query_overrides:
description: Indicates whether query overrides are allowed for the subscription
type: boolean
example: 'true'
allow_plan_changes:
description: Indicates whether plan changes are allowed for the subscription
type: boolean
example: 'true'
refund_period:
description: Number of days within which refunds can be requested
type: integer
example: '30'
webhook_configuration:
description: Webhook configuration for the subscription
type: string
example: 'expand reference for this'
is_deleted:
description: Indicates whether the subscription has been deleted
type: boolean
example: 'false'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
type: object
BulkAction:
type: array
items:
type: integer
example: '[0,1,2,3,]'
SystemLog:
properties:
id:
description: 'The account hashed id'
type: string
example: AS3df3A
user_id:
description: 'The user_id hashed id'
type: string
example: AS3df3A
client_id:
description: 'The client_id hashed id'
type: string
example: AS3df3A
event_id:
description: 'The Log Type ID'
type: integer
example: 1
category_id:
description: 'The Category Type ID'
type: integer
example: 1
type_id:
description: 'The Type Type ID'
type: integer
example: 1
log:
description: 'The json object of the error'
type: object
example: '{''key'':''value''}'
updated_at:
description: Timestamp
type: string
example: '2'
created_at:
description: Timestamp
type: string
example: '2'
type: object
InvoiceItem:
type: object
properties:
quantity:
type: number
example: 1
description: 'The quantity of the product offered for this line item'
cost:
type: number
format: float
example: 10.00
description: 'The cost of the product offered for this line item'
product_key:
type: string
example: 'Product key'
description: 'The product key of the product offered for this line item (Referred to as Product in the product tab)'
product_cost:
type: number
format: float
example: 10.00
description: 'The cost of the product offered for this line item (Referred to as Cost in the product tab)'
notes:
type: string
example: 'Item notes'
description: 'The notes/description for the product offered for this line item'
discount:
type: number
format: float
example: 5.00
description: 'The discount applied to the product offered for this line item'
is_amount_discount:
type: boolean
example: false
description: 'Indicates whether the discount applied to the product offered for this line item is a fixed amount or a percentage'
tax_name1:
type: string
example: 'GST'
description: 'The name of the first tax applied to the product offered for this line item'
tax_rate1:
type: number
format: float
example: 10.00
description: 'The rate of the first tax applied to the product offered for this line item'
tax_name2:
type: string
example: 'VAT'
description: 'The name of the second tax applied to the product offered for this line item'
tax_rate2:
type: number
format: float
example: 5.00
description: 'The rate of the second tax applied to the product offered for this line item'
tax_name3:
type: string
example: 'CA Sales Tax'
description: 'The name of the third tax applied to the product offered for this line item'
tax_rate3:
type: number
format: float
example: 3.00
description: 'The rate of the third tax applied to the product offered for this line item'
sort_id:
type: string
example: '0'
description: 'Deprecated'
deprecated: true
line_total:
type: number
format: float
example: 10.00
description: 'The total amount of the product offered for this line item'
readOnly: true
gross_line_total:
type: number
format: float
example: 15.00
description: 'The total amount of the product offered for this line item before discounts'
readOnly: true
tax_amount:
type: number
format: float
example: 1.00
description: 'The total amount of tax applied to the product offered for this line item'
readOnly: true
date:
type: string
format: date-time
example: '2023-03-19T00:00:00Z'
description: 'Deprecated'
deprecated: true
custom_value1:
type: string
example: 'Custom value 1'
description: 'The first custom value of the product offered for this line item'
custom_value2:
type: string
example: 'Custom value 2'
description: 'The second custom value of the product offered for this line item'
custom_value3:
type: string
example: 'Custom value 3'
description: 'The third custom value of the product offered for this line item'
custom_value4:
type: string
example: 'Custom value 4'
description: 'The fourth custom value of the product offered for this line item'
type_id:
type: string
example: '1'
description: '1 = product, 2 = service, 3 unpaid gateway fee, 4 paid gateway fee, 5 late fee, 6 expense'
default: '1'
tax_id:
type: string
example: '1'
default: '1'
description: 'The tax ID of the product: 1 product, 2 service, 3 digital, 4 shipping, 5 exempt, 5 reduced tax, 7 override, 8 zero rate, 9 reverse tax'
PurchaseOrder:
properties:
id:
description: 'The unique hashed identifier for the purchase order'
type: string
example: Opnel5aKBz
user_id:
description: 'The unique hashed identifier for the user who created the purchase order'
type: string
example: ''
assigned_user_id:
description: 'The unique hashed identifier for the user assigned to the purchase order'
type: string
example: ''
vendor_id:
description: 'The unique hashed identifier for the vendor associated with the purchase order'
type: string
example: ''
status_id:
description: 'The status of the purchase order represented by a unique identifier'
type: string
example: ''
number:
description: 'The unique alpha-numeric purchase order number per company'
type: string
example: PO_101
quote_number:
description: 'The quote number associated with this purchase order'
type: string
example: QUOTE_101
terms:
description: 'The terms and conditions for the purchase order'
type: string
example: 'These are some purchase order terms. Valid for 14 days.'
public_notes:
description: 'Publicly visible notes associated with the purchase order'
type: string
example: 'These are public notes which the vendor may see'
private_notes:
description: 'Privately visible notes associated with the purchase order, not disclosed to the vendor'
type: string
example: 'These are private notes, not to be disclosed to the vendor'
footer:
description: 'The footer text of the purchase order'
type: string
example: 'The text goes in the footer of the purchase order'
custom_value1:
description: 'First custom value field for additional information'
type: string
example: 'A custom value'
custom_value2:
description: 'Second custom value field for additional information'
type: string
example: 'A custom value'
custom_value3:
description: 'Third custom value field for additional information'
type: string
example: 'A custom value'
custom_value4:
description: 'Fourth custom value field for additional information'
type: string
example: 'A custom value'
tax_name1:
description: 'The name of the first tax applied to the purchase order'
type: string
example: GST
tax_name2:
description: 'The name of the second tax applied to the purchase order'
type: string
example: VAT
tax_rate1:
description: 'The rate of the first tax applied to the purchase order'
type: number
format: float
example: 10.00
tax_rate2:
description: 'The rate of the second tax applied to the purchase order'
type: number
format: float
example: 10.00
tax_name3:
description: 'The name of the third tax applied to the purchase order'
type: string
example: ''
tax_rate3:
description: 'The rate of the third tax applied to the purchase order'
type: number
format: float
example: 10.00
total_taxes:
description: 'The total amount of taxes applied to the purchase order'
type: number
format: float
example: 10.00
line_items:
type: array
description: 'An array of objects which define the line items of the purchase order'
items:
$ref: '#/components/schemas/InvoiceItem'
amount:
description: 'The total amount of the purchase order before taxes and discounts'
type: number
format: float
example: 10.00
balance:
description: 'The balance due for the purchase order after accounting for payments'
type: number
format: float
example: 10.00
paid_to_date:
description: 'The total amount paid on the purchase order so far'
type: number
format: float
example: 10.00
discount:
description: 'The discount amount or percentage applied to the purchase order'
type: number
format: float
example: 10.00
partial:
description: 'The partial or deposit amount for the purchase order'
type: number
format: float
example: 10.00
is_amount_discount:
description: 'Boolean flag indicating if the discount is a fixed amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Boolean flag indicating if the purchase order has been deleted'
type: boolean
example: false
uses_inclusive_taxes:
description: 'Boolean flag indicating if the taxes used are inclusive or exclusive'
type: boolean
example: true
date:
description: 'The date the purchase order was created'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the purchase order was sent to the vendor'
type: string
format: date
example: '1994-07-30'
next_send_date:
description: 'The next scheduled date for sending a reminder for the purchase order'
type: string
format: date
example: '1994-07-30'
partial_due_date:
description: 'The due date for the partial or deposit amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date for the total amount of the purchase order'
type: string
format: date
example: '1994-07-30'
settings:
$ref: '#/components/schemas/CompanySettings'
last_viewed:
description: Timestamp
type: number
format: integer
example: 1434342123
updated_at:
description: Timestamp
type: number
format: integer
example: 1434342123
archived_at:
description: Timestamp
type: number
format: integer
example: 1434342123
custom_surcharge1:
description: 'First custom surcharge amount for the purchase order'
type: number
format: float
example: 10.00
custom_surcharge2:
description: 'Second custom surcharge amount for the purchase order'
type: number
format: float
example: 10.00
custom_surcharge3:
description: 'Third custom surcharge amount for the purchase order'
type: number
format: float
example: 10.00
custom_surcharge4:
description: 'Fourth custom surcharge amount for the purchase order'
type: number
format: float
example: 10.00
custom_surcharge_tax1:
description: 'Boolean flag indicating if taxes are charged on the first custom surcharge amount'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Boolean flag indicating if taxes are charged on the second custom surcharge amount'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Boolean flag indicating if taxes are charged on the third custom surcharge amount'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Boolean flag indicating if taxes are charged on the fourth custom surcharge amount'
type: boolean
example: true
type: object
CompanyUser:
properties:
permissions:
description: 'The user permissionsfor this company in a comma separated list'
type: string
example: 'create_invoice,create_client,view_client'
settings:
description: 'Settings that are used for the flutter applications to store user preferences / metadata'
type: object
readOnly: true
react_settings:
description: 'Dedicated settings object for the react web application'
type: object
readOnly: true
is_owner:
description: 'Determines whether the user owns this company'
type: boolean
example: true
readOnly: true
is_admin:
description: 'Determines whether the user is the admin of this company'
type: boolean
example: true
readOnly: true
is_locked:
description: 'Determines whether the users access to this company has been locked'
type: boolean
example: true
readOnly: true
updated_at:
description: 'The last time the record was modified, format Unix Timestamp'
type: integer
example: '1231232312321'
deleted_at:
description: 'Timestamp when the user was archived, format Unix Timestamp'
type: integer
example: '12312312321'
account:
$ref: '#/components/schemas/Account'
company:
$ref: '#/components/schemas/Company'
user:
$ref: '#/components/schemas/UserRef'
token:
$ref: '#/components/schemas/CompanyToken'
type: object
CompanyUserRef:
properties:
permissions:
description: 'The user permissionsfor this company in a comma separated list'
type: string
example: 'create_invoice,create_client,view_client'
settings:
description: 'Settings that are used for the flutter applications to store user preferences / metadata'
type: object
readOnly: true
react_settings:
description: 'Dedicated settings object for the react web application'
type: object
readOnly: true
is_owner:
description: 'Determines whether the user owns this company'
type: boolean
example: true
readOnly: true
is_admin:
description: 'Determines whether the user is the admin of this company'
type: boolean
example: true
readOnly: true
is_locked:
description: 'Determines whether the users access to this company has been locked'
type: boolean
example: true
readOnly: true
updated_at:
description: 'The last time the record was modified, format Unix Timestamp'
type: integer
example: '1231232312321'
deleted_at:
description: 'Timestamp when the user was archived, format Unix Timestamp'
type: integer
example: '12312312321'
account:
$ref: '#/components/schemas/Account'
company:
$ref: '#/components/schemas/Company'
user:
$ref: '#/components/schemas/UserRef'
token:
$ref: '#/components/schemas/CompanyToken'
type: object
CompanySettings:
required:
- currency_id
properties:
currency_id:
description: "The default currency id"
type: string
example: true
timezone_id:
description: "The timezone id"
type: string
example: "15"
date_format_id:
description: "The date format id"
type: string
example: "15"
military_time:
description: "Toggles 12/24 hour time"
type: boolean
example: true
language_id:
description: "The language id"
type: string
example: "1"
show_currency_code:
description: "Toggles whether the currency symbol or code is shown"
type: boolean
example: true
payment_terms:
description: "-1 sets no payment term, 0 sets payment due immediately, positive integers indicates payment terms in days"
type: integer
example: "1"
company_gateway_ids:
description: "A commad separate list of available gateways"
type: string
example: "1,2,3,4"
custom_value1:
description: "A Custom Label"
type: string
example: "Custom Label"
custom_value2:
description: "A Custom Label"
type: string
example: "Custom Label"
custom_value3:
description: "A Custom Label"
type: string
example: "Custom Label"
custom_value4:
description: "A Custom Label"
type: string
example: "Custom Label"
default_task_rate:
description: "The default task rate"
type: number
format: float
example: "10.00"
send_reminders:
description: "Toggles whether reminders are sent"
type: boolean
example: true
enable_client_portal_tasks:
description: "Show/hide the tasks panel in the client portal"
type: boolean
example: true
email_style:
description: "options include plain,light,dark,custom"
type: string
example: light
reply_to_email:
description: "The reply to email address"
type: string
example: email@gmail.com
bcc_email:
description: "A comma separate list of BCC emails"
type: string
example: "email@gmail.com, contact@gmail.com"
pdf_email_attachment:
description: "Toggles whether to attach PDF as attachment"
type: boolean
example: true
ubl_email_attachment:
description: "Toggles whether to attach UBL as attachment"
type: boolean
example: true
email_style_custom:
description: "The custom template"
type: string
example: "<HTML></HTML>"
counter_number_applied:
description: "enum when the invoice number counter is set, ie when_saved, when_sent, when_paid"
type: string
example: when_sent
quote_number_applied:
description: "enum when the quote number counter is set, ie when_saved, when_sent"
type: string
example: when_sent
custom_message_dashboard:
description: "A custom message which is displayed on the dashboard"
type: string
example: "Please pay invoices immediately"
custom_message_unpaid_invoice:
description: "A custom message which is displayed in the client portal when a client is viewing a unpaid invoice."
type: string
example: "Please pay invoices immediately"
custom_message_paid_invoice:
description: "A custom message which is displayed in the client portal when a client is viewing a paid invoice."
type: string
example: "Thanks for paying this invoice!"
custom_message_unapproved_quote:
description: "A custom message which is displayed in the client portal when a client is viewing a unapproved quote."
type: string
example: "Please approve quote"
lock_invoices:
description: "Toggles whether invoices are locked once sent and cannot be modified further"
type: boolean
example: true
auto_archive_invoice:
description: "Toggles whether a invoice is archived immediately following payment"
type: boolean
example: true
auto_archive_quote:
description: "Toggles whether a quote is archived after being converted to a invoice"
type: boolean
example: true
auto_convert_quote:
description: "Toggles whether a quote is converted to a invoice when approved"
type: boolean
example: true
inclusive_taxes:
description: "Boolean flag determining whether inclusive or exclusive taxes are used"
type: boolean
example: true
translations:
description: "JSON payload of customized translations"
type: object
example: ""
task_number_pattern:
description: "Allows customisation of the task number pattern"
type: string
example: "{$year}-{$counter}"
task_number_counter:
description: "The incrementing counter for tasks"
type: integer
example: "1"
reminder_send_time:
description: "Time from UTC +0 when the email will be sent to the client"
type: integer
example: "32400"
expense_number_pattern:
description: "Allows customisation of the expense number pattern"
type: string
example: "{$year}-{$counter}"
expense_number_counter:
description: "The incrementing counter for expenses"
type: integer
example: "1"
vendor_number_pattern:
description: "Allows customisation of the vendor number pattern"
type: string
example: "{$year}-{$counter}"
vendor_number_counter:
description: "The incrementing counter for vendors"
type: integer
example: "1"
ticket_number_pattern:
description: "Allows customisation of the ticket number pattern"
type: string
example: "{$year}-{$counter}"
ticket_number_counter:
description: "The incrementing counter for tickets"
type: integer
example: "1"
payment_number_pattern:
description: "Allows customisation of the payment number pattern"
type: string
example: "{$year}-{$counter}"
payment_number_counter:
description: "The incrementing counter for payments"
type: integer
example: "1"
invoice_number_pattern:
description: "Allows customisation of the invoice number pattern"
type: string
example: "{$year}-{$counter}"
invoice_number_counter:
description: "The incrementing counter for invoices"
type: integer
example: "1"
quote_number_pattern:
description: "Allows customisation of the quote number pattern"
type: string
example: "{$year}-{$counter}"
quote_number_counter:
description: "The incrementing counter for quotes"
type: integer
example: "1"
client_number_pattern:
description: "Allows customisation of the client number pattern"
type: string
example: "{$year}-{$counter}"
client_number_counter:
description: "The incrementing counter for clients"
type: integer
example: "1"
credit_number_pattern:
description: "Allows customisation of the credit number pattern"
type: string
example: "{$year}-{$counter}"
credit_number_counter:
description: "The incrementing counter for credits"
type: integer
example: "1"
recurring_invoice_number_prefix:
description: "This string is prepended to the recurring invoice number"
type: string
example: R
reset_counter_frequency_id:
description: "CONSTANT which is used to apply the frequency which the counters are reset"
type: integer
example: "1"
reset_counter_date:
description: "The explicit date which is used to reset counters"
type: string
example: "2019-01-01"
counter_padding:
description: "Pads the counter with leading zeros"
type: integer
example: "1"
shared_invoice_quote_counter:
description: "Flags whether to share the counter for invoices and quotes"
type: boolean
example: true
update_products:
description: "Determines if client fields are updated from third party APIs"
type: boolean
example: true
convert_products:
description: ""
type: boolean
example: true
fill_products:
description: "Automatically fill products based on product_key"
type: boolean
example: true
invoice_terms:
description: "The default invoice terms"
type: string
example: "Invoice Terms are..."
quote_terms:
description: "The default quote terms"
type: string
example: "Quote Terms are..."
invoice_taxes:
description: "Taxes can be applied to the invoice"
type: number
example: "1"
invoice_design_id:
description: "The default design id (invoice, quote etc)"
type: string
example: "1"
quote_design_id:
description: "The default design id (invoice, quote etc)"
type: string
example: "1"
invoice_footer:
description: "The default invoice footer"
type: string
example: "1"
invoice_labels:
description: "JSON string of invoice labels"
type: string
example: "1"
tax_rate1:
description: "The tax rate (float)"
type: number
example: "10"
tax_name1:
description: "The tax name"
type: string
example: GST
tax_rate2:
description: "The tax rate (float)"
type: number
example: "10"
tax_name2:
description: "The tax name"
type: string
example: GST
tax_rate3:
description: "The tax rate (float)"
type: number
example: "10"
tax_name3:
description: "The tax name"
type: string
example: GST
payment_type_id:
description: "The default payment type id"
type: string
example: "1"
custom_fields:
description: "JSON string of custom fields"
type: string
example: "{}"
email_footer:
description: "The default email footer"
type: string
example: "A default email footer"
email_sending_method:
description: "The email driver to use to send email, options include default, gmail, client_postmark, client_mailgun, client_brevo, office365"
type: string
example: default
gmail_sending_user_id:
description: "The hashed_id of the user account to send email from"
type: string
example: F76sd34D
email_subject_invoice:
description: ""
type: string
example: "Your Invoice Subject"
email_subject_quote:
description: ""
type: string
example: "Your Quote Subject"
email_subject_payment:
description: ""
type: string
example: "Your Payment Subject"
email_template_invoice:
description: "The full template for invoice emails"
type: string
example: "<HTML></HTML>"
email_template_quote:
description: "The full template for quote emails"
type: string
example: "<HTML></HTML>"
email_template_payment:
description: "The full template for payment emails"
type: string
example: "<HTML></HTML>"
email_subject_reminder1:
description: "Email subject for Reminder"
type: string
example: "<HTML></HTML>"
email_subject_reminder2:
description: "Email subject for Reminder"
type: string
example: "<HTML></HTML>"
email_subject_reminder3:
description: "Email subject for Reminder"
type: string
example: "<HTML></HTML>"
email_subject_reminder_endless:
description: "Email subject for endless reminders"
type: string
example: "<HTML></HTML>"
email_template_reminder1:
description: "The full template for Reminder 1"
type: string
example: "<HTML></HTML>"
email_template_reminder2:
description: "The full template for Reminder 2"
type: string
example: "<HTML></HTML>"
email_template_reminder3:
description: "The full template for Reminder 3"
type: string
example: "<HTML></HTML>"
email_template_reminder_endless:
description: "The full template for enless reminders"
type: string
example: "<HTML></HTML>"
enable_portal_password:
description: "Toggles whether a password is required to log into the client portal"
type: boolean
example: true
show_accept_invoice_terms:
description: "Toggles whether the terms dialogue is shown to the client"
type: boolean
example: true
show_accept_quote_terms:
description: "Toggles whether the terms dialogue is shown to the client"
type: boolean
example: true
require_invoice_signature:
description: "Toggles whether a invoice signature is required"
type: boolean
example: true
require_quote_signature:
description: "Toggles whether a quote signature is required"
type: boolean
example: true
name:
description: "The company name"
type: string
example: "Acme Co"
company_logo:
description: "The company logo file"
type: object
example: logo.png
website:
description: "The company website URL"
type: string
example: www.acme.com
address1:
description: "The company address line 1"
type: string
example: "Suite 888"
address2:
description: "The company address line 2"
type: string
example: "5 Jimbo Way"
city:
description: "The company city"
type: string
example: Sydney
state:
description: "The company state"
type: string
example: Florisa
postal_code:
description: "The company zip/postal code"
type: string
example: "90210"
phone:
description: "The company phone"
type: string
example: 555-213-3948
email:
description: "The company email"
type: string
example: joe@acme.co
country_id:
description: "The country ID"
type: string
example: "1"
vat_number:
description: "The company VAT/TAX ID number"
type: string
example: "32 120 377 720"
page_size:
description: "The default page size"
type: string
example: A4
font_size:
description: "The font size"
type: number
example: "9"
primary_font:
description: "The primary font"
type: string
example: roboto
secondary_font:
description: "The secondary font"
type: string
example: roboto
hide_paid_to_date:
description: "Flags whether to hide the paid to date field"
type: boolean
example: false
embed_documents:
description: "Toggled whether to embed documents in the PDF"
type: boolean
example: false
all_pages_header:
description: "The header for the PDF"
type: boolean
example: false
all_pages_footer:
description: "The footer for the PDF"
type: boolean
example: false
document_email_attachment:
description: "Toggles whether to attach documents in the email"
type: boolean
example: false
enable_client_portal_password:
description: "Toggles password protection of the client portal"
type: boolean
example: false
enable_email_markup:
description: "Toggles the use of markdown in emails"
type: boolean
example: false
enable_client_portal_dashboard:
description: "Toggles whether the client dashboard is shown in the client portal"
type: boolean
example: false
enable_client_portal:
description: "Toggles whether the entire client portal is displayed to the client, or only the context"
type: boolean
example: false
email_template_statement:
description: "The body of the email for statements"
type: string
example: "template matter"
email_subject_statement:
description: "The subject of the email for statements"
type: string
example: "subject matter"
signature_on_pdf:
description: "Toggles whether the signature (if available) is displayed on the PDF"
type: boolean
example: false
quote_footer:
description: "The default quote footer"
type: string
example: "the quote footer"
email_subject_custom1:
description: "Custom reminder template subject"
type: string
example: "Custom Subject 1"
email_subject_custom2:
description: "Custom reminder template subject"
type: string
example: "Custom Subject 2"
email_subject_custom3:
description: "Custom reminder template subject"
type: string
example: "Custom Subject 3"
email_template_custom1:
description: "Custom reminder template body"
type: string
example: "<HTML>"
email_template_custom2:
description: "Custom reminder template body"
type: string
example: "<HTML>"
email_template_custom3:
description: "Custom reminder template body"
type: string
example: "<HTML>"
enable_reminder1:
description: "Toggles whether this reminder is enabled"
type: boolean
example: false
enable_reminder2:
description: "Toggles whether this reminder is enabled"
type: boolean
example: false
enable_reminder3:
description: "Toggles whether this reminder is enabled"
type: boolean
example: false
num_days_reminder1:
description: "The Reminder interval"
type: number
example: "9"
num_days_reminder2:
description: "The Reminder interval"
type: number
example: "9"
num_days_reminder3:
description: "The Reminder interval"
type: number
example: "9"
schedule_reminder1:
description: "(enum: after_invoice_date, before_due_date, after_due_date)"
type: string
example: after_invoice_date
schedule_reminder2:
description: "(enum: after_invoice_date, before_due_date, after_due_date)"
type: string
example: after_invoice_date
schedule_reminder3:
description: "(enum: after_invoice_date, before_due_date, after_due_date)"
type: string
example: after_invoice_date
late_fee_amount1:
description: "The late fee amount for reminder 1"
type: number
example: 10
late_fee_amount2:
description: "The late fee amount for reminder 2"
type: number
example: 20
late_fee_amount3:
description: "The late fee amount for reminder 2"
type: number
example: 100
endless_reminder_frequency_id:
description: "The frequency id of the endless reminder"
type: string
example: "1"
client_online_payment_notification:
description: "Determines if a client should receive the notification for a online payment"
type: boolean
example: false
client_manual_payment_notification:
description: "Determines if a client should receive the notification for a manually entered payment"
type: boolean
example: false
enable_e_invoice:
description: "Determines if e-invoicing is enabled"
type: boolean
example: false
default_expense_payment_type_id:
description: "The default payment type for expenses"
type: string
example: "0"
e_invoice_type:
description: "The e-invoice type"
type: string
example: "EN16931"
mailgun_endpoint:
description: "The mailgun endpoint - used to determine whether US or EU endpoints are used"
type: string
example: "api.mailgun.net or api.eu.mailgun.net"
client_initiated_payments:
description: "Determines if clients can initiate payments directly from the client portal"
type: boolean
example: false
client_initiated_payments_minimum:
description: "The minimum amount a client can pay"
type: number
example: 10
sync_invoice_quote_columns:
description: "Determines if invoice and quote columns are synced for the PDF rendering, or if they use their own columns"
type: boolean
example: false
show_task_item_description:
description: "Determines if the task item description is shown on the invoice"
type: boolean
example: false
allow_billable_task_items:
description: "Determines if task items can be marked as billable"
type: boolean
example: false
accept_client_input_quote_approval:
description: "Determines if clients can approve quotes and also pass through a PO Number reference"
type: boolean
example: false
custom_sending_email:
description: "When using Mailgun or Postmark, the FROM email address can be customized using this setting."
type: string
example: "bob@gmail.com"
show_paid_stamp:
description: "Determines if the PAID stamp is shown on the invoice"
type: boolean
example: false
show_shipping_address:
description: "Determines if the shipping address is shown on the invoice"
type: boolean
example: false
company_logo_size:
description: "The size of the company logo on the PDF - percentage value between 0 and 100"
type: number
example: 100
show_email_footer:
description: "Determines if the email footer is shown on emails"
type: boolean
example: false
email_alignment:
description: "The alignment of the email body text, options include left / center / right"
type: string
example: "left"
auto_bill_standard_invoices:
description: "Determines if standard invoices are automatically billed when they are created or due"
type: boolean
example: false
postmark_secret:
description: "The Postmark secret API key"
type: string
example: "123456"
mailgun_secret:
description: "The Mailgun secret API key"
type: string
example: "123456"
mailgun_domain:
description: "The Mailgun domain"
type: string
example: "sandbox123456.mailgun.org"
send_email_on_mark_paid:
description: "Determines if an email is sent when an invoice is marked as paid"
type: boolean
example: false
vendor_portal_enable_uploads:
description: "Determines if vendors can upload files to the portal"
type: boolean
example: false
besr_id:
description: "The BESR ID"
type: string
example: "123456"
qr_iban:
description: "The IBAN for the QR code"
type: string
example: "CH123456"
email_subject_purchase_order:
description: "The email subject for purchase orders"
type: string
example: "Purchase Order"
email_template_purchase_order:
description: "The email template for purchase orders"
type: string
example: "Please see attached your purchase order."
require_purchase_order_signature:
description: "Determines if a signature is required on purchase orders"
type: boolean
example: false
purchase_order_public_notes:
description: "The public notes for purchase orders"
type: string
example: "Please see attached your purchase order."
purchase_order_terms:
description: "The terms for purchase orders"
type: string
example: "Please see attached your purchase order."
purchase_order_footer:
description: "The footer for purchase orders"
type: string
example: "Please see attached your purchase order."
purchase_order_design_id:
description: "The design id for purchase orders"
type: string
example: "hd677df"
purchase_order_number_pattern:
description: "The pattern for purchase order numbers"
type: string
example: "PO-000000"
purchase_order_number_counter:
description: "The counter for purchase order numbers"
type: number
example: 1
page_numbering_alignment:
description: "The alignment for page numbering: options include left / center / right"
type: string
example: "left"
page_numbering:
description: "Determines if page numbering is enabled on Document PDFs"
type: boolean
example: false
auto_archive_invoice_cancelled:
description: "Determines if invoices are automatically archived when they are cancelled"
type: boolean
example: false
email_from_name:
description: "The FROM name for emails when using Custom emailers"
type: string
example: "Bob Smith"
show_all_tasks_client_portal:
description: "Determines if all tasks are shown on the client portal"
type: boolean
example: false
entity_send_time:
description: "The time that emails are sent. The time is localized to the clients locale, integer values from 1 - 24"
type: integer
example: 9
shared_invoice_credit_counter:
description: "Determines if the invoice and credit counter are shared"
type: boolean
example: false
reply_to_name:
description: "The reply to name for emails"
type: string
example: "Bob Smith"
hide_empty_columns_on_pdf:
description: "Determines if empty columns are hidden on PDFs"
type: boolean
example: false
enable_reminder_endless:
description: "Determines if endless reminders are enabled"
type: boolean
example: false
use_credits_payment:
description: "Determines if credits can be used as a payment method"
type: boolean
example: false
recurring_invoice_number_pattern:
description: "The pattern for recurring invoice numbers"
type: string
example: "R-000000"
recurring_invoice_number_counter:
description: "The counter for recurring invoice numbers"
type: number
example: 1
client_portal_under_payment_minimum:
description: "The minimum payment payment"
type: number
example: 10
auto_bill_date:
description: "Determines when the invoices are auto billed, options are on_send_date (when the invoice is sent) or on_due_date (when the invoice is due))"
type: string
example: "on_send_date"
primary_color:
description: "The primary color for the client portal / document highlights"
type: string
example: "#ffffff"
secondary_color:
description: "The secondary color for the client portal / document highlights"
type: string
example: "#ffffff"
client_portal_allow_under_payment:
description: "Determines if clients can pay invoices under the invoice amount due"
type: boolean
example: false
client_portal_allow_over_payment:
description: "Determines if clients can pay invoices over the invoice amount"
type: boolean
example: false
auto_bill:
description: "Determines how autobilling is applied for recurring invoices. off (no auto billed), always (always auto bill), optin (The user must opt in to auto billing), optout (The user must opt out of auto billing"
type: string
example: "off"
client_portal_terms:
description: "The terms which are displayed on the client portal"
type: string
example: "Please see attached your invoice."
client_portal_privacy_policy:
description: "The privacy policy which is displayed on the client portal"
type: string
example: "These are the terms of use for using the client portal."
client_can_register:
description: "Determines if clients can register on the client portal"
type: boolean
example: false
portal_design_id:
description: "The design id for the client portal"
type: string
example: "hd677df"
late_fee_endless_percent:
description: "The late fee percentage for endless late fees"
type: number
example: 10
late_fee_endless_amount:
description: "The late fee amount for endless late fees"
type: number
example: 10
auto_email_invoice:
description: "Determines if invoices are automatically emailed when they are created"
type: boolean
example: false
email_signature:
description: "The email signature for emails"
type: string
example: "Bob Smith"
classification:
description: "The classification for the company"
type: string
example: "individual"
type: object
CompanyLedger:
properties:
entity_id:
description: 'This field will reference one of the following entity hashed ID payment_id, invoice_id or credit_id'
type: string
example: AS3df3A
notes:
description: 'The notes which reference this entry of the ledger'
type: string
example: 'Credit note for invoice #3212'
balance:
description: 'The client balance'
type: number
format: float
example: '10.00'
adjustment:
description: 'The amount the client balance is adjusted by'
type: number
format: float
example: '10.00'
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
created_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
type: object
CompanyToken:
properties:
name:
description: 'The token name'
type: string
example: 'Token Name'
token:
description: 'The token value'
type: string
example: AS3df3jUUH765fhfd9KJuidj3JShjA
is_system:
description: 'Determines whether the token is created by the system rather than a user'
type: boolean
example: 'true'
type: object
Activity:
properties:
id:
description: 'The id field of the activity'
type: string
example: Opnel5aKBz
activity_type_id:
description: 'The activity type id'
type: string
example: Opnel5aKBz
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
company_id:
description: 'The company hashed id'
type: string
example: Opnel5aKBz
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
invoice_id:
description: 'The invoice hashed id'
type: string
example: Opnel5aKBz
payment_id:
description: 'The payment hashed id'
type: string
example: Opnel5aKBz
credit_id:
description: 'The credit hashed id'
type: string
example: Opnel5aKBz
updated_at:
description: 'Unixtimestamp the last time the record was updated'
type: integer
example: '343421434'
expense_id:
description: 'The expense hashed id'
type: string
example: Opnel5aKBz
is_system:
description: 'Defines is the activity was performed by the system'
type: boolean
example: true
contact_id:
description: 'The contact hashed id'
type: string
example: Opnel5aKBz
task_id:
description: 'The task hashed id'
type: string
example: Opnel5aKBz
notes:
description: 'Activity Notes'
type: string
example: Opnel5aKBz
token_id:
description: 'The hashed ID of the token who performed the action'
type: string
example: Opnel5aKBz
ip:
description: 'The IP Address of the user who performed the action'
type: string
example: 192.168.1.252
user:
$ref: '#/components/schemas/User'
client:
$ref: '#/components/schemas/Client'
contact:
$ref: '#/components/schemas/ClientContact'
recurring_invoice:
$ref: '#/components/schemas/RecurringInvoice'
invoice:
$ref: '#/components/schemas/Invoice'
credit:
$ref: '#/components/schemas/Credit'
quote:
$ref: '#/components/schemas/Quote'
payment:
$ref: '#/components/schemas/Payment'
expense:
$ref: '#/components/schemas/Expense'
task:
$ref: '#/components/schemas/Task'
purchase_order:
$ref: '#/components/schemas/PurchaseOrder'
vendor:
$ref: '#/components/schemas/Vendor'
vendor_contact:
$ref: '#/components/schemas/VendorContact'
type: object
Error:
properties:
message:
description: 'Something terrible went wrong'
type: string
example: 'Unexpected error'
code:
description: 'The HTTP error code, ie 5xx 4xx'
type: integer
example: '500'
type: object
GenericBulkAction:
properties:
action:
type: string
example: archive
description: 'The action to perform ie. archive / restore / delete'
ids:
type: array
items:
format: string
type: string
example: 2J234DFA,D2J234DFA,D2J234DFA
description: string array of client hashed ids
type: object
ClientContact:
properties:
id:
description: 'The hashed if of the contact'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The hashed id of the user who created the contact'
type: string
example: Opnel5aKBz
readOnly: true
client_id:
description: 'The hashed id of the client'
type: string
example: Opnel5aKBz
readOnly: true
first_name:
description: 'The first name of the contact'
type: string
example: John
last_name:
description: 'The last name of the contact'
type: string
example: Doe
phone:
description: 'The phone number of the contact'
type: string
example: 555-152-4524
custom_value1:
description: 'A Custom field value'
type: string
example: ''
custom_value2:
description: 'A Custom field value'
type: string
example: ''
custom_value3:
description: 'A Custom field value'
type: string
example: ''
custom_value4:
description: 'A Custom field value'
type: string
example: ''
email:
description: 'The email of the contact'
type: string
example: ''
accepted_terms_version:
description: 'The terms of service which the contact has accpeted'
type: string
example: 'A long set of ToS'
readOnly: true
password:
description: 'The hashed password of the contact'
type: string
example: '*****'
confirmation_code:
description: 'The confirmation code used to authenticate the contacts email address'
type: string
example: 333-sdjkh34gbasd
readOnly: true
token:
description: 'A uuid based token.'
type: string
example: 333-sdjkh34gbasd
readOnly: true
contact_key:
description: 'A unique identifier for the contact'
type: string
example: JD0X52bkfZlJRiroCJ0tcSiAjsJTntZ5uqKdiZ0a
readOnly: true
is_primary:
description: 'Defines is this contact is the primary contact for the client'
type: boolean
example: true
confirmed:
description: 'Boolean value confirms the user has confirmed their account.'
type: boolean
example: true
is_locked:
description: 'Boolean value defines if the contact has been locked out.'
type: boolean
example: true
send_email:
description: 'Boolean value determines is this contact should receive emails'
type: boolean
example: true
failed_logins:
description: 'The number of failed logins the contact has had'
type: number
format: integer
example: '3'
readOnly: true
email_verified_at:
description: 'The date which the contact confirmed their email'
type: number
format: integer
example: '134341234234'
readOnly: true
last_login:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
deleted_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
type: object
Project:
type: object
properties:
id:
description: 'The project hashed id'
type: string
example: Opnel5aKBz
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
assigned_user_id:
description: The assigned user identifier associated with the project
type: string
example: Opnel5aKBz
client_id:
type: string
example: Opnel5aKBz
description: The client identifier associated with the project
name:
type: string
description: The name of the project
example: 'New Project'
task_rate:
type: number
format: float
example: 10
description: The default rate per task for the project
due_date:
type: string
format: date
example: '2019-01-01'
description: The due date for the project
private_notes:
type: string
description: Private notes associated with the project
budgeted_hours:
type: number
format: float
description: The number of budgeted hours for the project
custom_value1:
type: string
description: Custom value field 1
custom_value2:
type: string
description: Custom value field 2
custom_value3:
type: string
description: Custom value field 3
custom_value4:
type: string
description: Custom value field 4
created_at:
type: number
format: integer
example: 134341234234
description: The timestamp of the project creation
updated_at:
type: number
format: integer
example: 134341234234
description: The timestamp of the last project update
archived_at:
type: number
format: integer
example: 134341234234
description: The timestamp of the project deletion
public_notes:
type: string
description: Public notes associated with the project
is_deleted:
type: boolean
description: A flag indicating if the project is deleted
number:
type: string
description: The project number
color:
type: string
description: The color associated with the project
required:
- id
- user_id
- name
- task_rate
- budgeted_hours
- is_deleted
- color
Credit:
properties:
id:
description: "The unique hashed ID of the credit"
type: string
example: Opnel5aKBz
user_id:
description: "The unique hashed ID of the user associated with the credit"
type: string
example: 1a2b3c4d5e
assigned_user_id:
description: "The unique hashed ID of the assigned user responsible for the credit"
type: string
example: 6f7g8h9i0j
client_id:
description: "The unique hashed ID of the client associated with the credit"
type: string
example: p1q2r3s4t5
status_id:
description: "The ID representing the current status of the credit"
type: string
example: 3
invoice_id:
description: "The unique hashed ID of the linked invoice to which the credit is applied"
type: string
example: u1v2w3x4y5
number:
description: "The unique alphanumeric credit number per company"
type: string
example: QUOTE_101
po_number:
description: "The purchase order number referred to by the credit"
type: string
example: PO_12345
terms:
description: "The terms associated with the credit"
type: string
example: "Net 30"
public_notes:
description: "Public notes for the credit"
type: string
example: "Thank you for your business."
private_notes:
description: "Private notes for internal use, not visible to the client"
type: string
example: "Client is requesting a discount."
footer:
description: "The footer text for the credit"
type: string
example: "Footer text goes here."
custom_value1:
description: "Custom value 1 for additional credit information"
type: string
example: "Custom data 1"
custom_value2:
description: "Custom value 2 for additional credit information"
type: string
example: "Custom data 2"
custom_value3:
description: "Custom value 3 for additional credit information"
type: string
example: "Custom data 3"
custom_value4:
description: "Custom value 4 for additional credit information"
type: string
example: "Custom data 4"
tax_name1:
description: "The name of the first tax applied to the credit"
type: string
example: "VAT"
tax_name2:
description: "The name of the second tax applied to the credit"
type: string
example: "GST"
tax_rate1:
description: "The rate of the first tax applied to the credit"
type: number
format: float
example: 10.00
tax_rate2:
description: "The rate of the second tax applied to the credit"
type: number
format: float
example: 5.00
tax_name3:
description: "The name of the third tax applied to the credit"
type: string
example: "PST"
tax_rate3:
description: "The rate of the third tax applied to the credit"
type: number
format: float
example: 8.00
total_taxes:
description: "The total amount of taxes for the credit"
type: number
format: float
example: 23.00
line_items:
type: array
description: 'An array of objects which define the line items of the credit'
items:
$ref: '#/components/schemas/InvoiceItem'
amount:
description: "The total amount of the credit"
type: number
format: float
example: 100.00
balance:
description: "The outstanding balance of the credit"
type: number
format: float
example: 50.00
paid_to_date:
description: "The total amount paid to date for the credit"
type: number
format: float
example: 50.00
discount:
description: "The discount applied to the credit"
type: number
format: float
example: 10.00
partial:
description: "The partial amount applied to the credit"
type: number
format: float
example: 20.00
is_amount_discount:
description: "Indicates whether the discount applied is a fixed amount or a percentage"
type: boolean
example: true
is_deleted:
description: "Indicates whether the credit has been deleted"
type: boolean
example: false
uses_inclusive_taxes:
description: "Indicates whether the tax rates applied to the credit are inclusive or exclusive"
type: boolean
example: true
date:
description: "The date the credit was issued"
type: string
format: date
example: "1994-07-30"
last_sent_date:
description: "The date the credit was last sent out"
type: string
format: date
example: "1994-07-30"
next_send_date:
description: "The next scheduled date for sending a credit reminder"
type: string
format: date
example: "1994-07-30"
partial_due_date:
description: "The due date for the partial amount of the credit"
type: string
format: date
example: "1994-07-30"
due_date:
description: "The due date for the total amount of the credit"
type: string
format: date
example: "1994-07-30"
settings:
$ref: "#/components/schemas/CompanySettings"
last_viewed:
description: "The timestamp of the last time the credit was viewed"
type: number
format: integer
example: 1434342123
updated_at:
description: "The timestamp of the last time the credit was updated"
type: number
format: integer
example: 1434342123
archived_at:
description: "The timestamp of the last time the credit was archived"
type: number
format: integer
example: 1434342123
custom_surcharge1:
description: "First custom surcharge amount"
type: number
format: float
example: 10.00
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
type: object
ProductBulkAction:
required:
- action
- ids
properties:
action:
type: string
example: archive
description: 'The action to perform ie. archive / restore / delete / set_tax_id'
ids:
type: array
items:
format: string
type: string
example: 2J234DFA,D2J234DFA,D2J234DFA
description: string array of client hashed ids
tax_id:
type: string
example: '1'
description: |
The tax rate id to set on the list of products
The following constants are available (default = '1')
```
PRODUCT_TYPE_PHYSICAL = '1'
PRODUCT_TYPE_SERVICE = '2'
PRODUCT_TYPE_DIGITAL = '3'
PRODUCT_TYPE_SHIPPING = '4'
PRODUCT_TYPE_EXEMPT = '5'
PRODUCT_TYPE_REDUCED_TAX = '6'
PRODUCT_TYPE_OVERRIDE_TAX = '7'
PRODUCT_TYPE_ZERO_RATED = '8'
PRODUCT_TYPE_REVERSE_TAX = '9'
```
type: object
Payment:
properties:
id:
description: 'The payment hashed id'
type: string
example: Opnel5aKBz
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
invitation_id:
description: 'The invitation hashed id'
type: string
example: Opnel5aKBz
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
type_id:
description: 'The Payment Type ID'
type: string
example: '1'
date:
description: 'The Payment date'
type: string
example: 1-1-2014
transaction_reference:
description: 'The transaction reference as defined by the payment gateway'
type: string
example: xcsSxcs124asd
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
private_notes:
description: 'The private notes of the payment'
type: string
example: 'The payment was refunded due to error'
is_manual:
description: 'Flags whether the payment was made manually or processed via a gateway'
type: boolean
example: true
is_deleted:
description: 'Defines if the payment has been deleted'
type: boolean
example: true
amount:
description: 'The amount of this payment'
type: number
example: 10
refunded:
description: 'The refunded amount of this payment'
type: number
example: 10
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
company_gateway_id:
description: 'The company gateway id'
type: string
example: '3'
paymentables:
$ref: '#/components/schemas/Paymentable'
invoices:
description: ''
type: array
items:
$ref: '#/components/schemas/InvoicePaymentable'
credits:
description: ''
type: array
items:
$ref: '#/components/schemas/CreditPaymentable'
number:
description: 'The payment number - is a unique alpha numeric number per payment per company'
type: string
example: PAY_101
type: object
BankTransactionRule:
properties:
id:
description: 'The bank transaction rules hashed id'
type: string
example: AS3df3A
user_id:
description: 'The user hashed id'
type: string
example: AS3df3A
name:
description: 'The name of the transaction'
type: string
example: 'Rule 1'
rules:
description: 'A mapped collection of the sub rules for the BankTransactionRule'
type: array
items:
$ref: '#/components/schemas/BTRules'
auto_convert:
description: 'Flags whether the rule converts the transaction automatically'
type: boolean
example: true
matches_on_all:
description: 'Flags whether all subrules are required for the match'
type: boolean
example: true
applies_to:
description: 'Flags whether the rule applies to a CREDIT or DEBIT'
type: string
example: CREDIT
client_id:
description: 'The client hashed id'
type: string
example: AS3df3A
vendor_id:
description: 'The vendor hashed id'
type: string
example: AS3df3A
category_id:
description: 'The category hashed id'
type: string
example: AS3df3A
type: object
RecurringExpense:
properties:
id:
description: 'The hashed id of the recurring expense'
type: string
example: Opnel5aKBz
user_id:
description: 'The hashed id of the user who created the recurring expense'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The hashed id of the user assigned to this recurring expense'
type: string
example: Opnel5aKBz
client_id:
description: 'The hashed id of the client'
type: string
example: Opnel5aKBz
invoice_id:
description: 'The hashed id of the invoice'
type: string
example: Opnel5aKBz
bank_id:
description: 'The id of the bank associated with this recurring expense'
type: string
example: '22'
invoice_currency_id:
description: 'The currency id of the invoice associated with this recurring expense'
type: string
example: '1'
expense_currency_id:
description: 'The currency id of the expense associated with this recurring expense'
type: string
example: '1'
invoice_category_id:
description: 'The category id of the invoice'
type: string
example: '1'
payment_type_id:
description: 'The payment type id'
type: string
example: '1'
private_notes:
description: 'The recurring expense private notes'
type: string
example: 'Private and confidential'
public_notes:
description: 'The recurring expense public notes'
type: string
example: 'This is the best client in the world'
transaction_reference:
description: 'The recurring expense transaction reference'
type: string
example: EXP-1223-2333
transcation_id:
description: 'The transaction id of the recurring expense'
type: string
example: '1233312312'
custom_value1:
description: 'Custom value field'
type: string
example: $1000
custom_value2:
description: 'Custom value field'
type: string
example: '2022-10-10'
custom_value3:
description: 'Custom value field'
type: string
example: 'short text'
custom_value4:
description: 'Custom value field'
type: string
example: 'very long text'
tax_name1:
description: 'The tax name'
type: string
example: GST
tax_name2:
description: 'The tax name'
type: string
example: VAT
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
amount:
description: 'The total amount of the recurring expense'
type: number
format: float
example: '10.00'
frequency_id:
description: 'The frequency this recurring expense fires'
type: number
format: int
example: '1'
remaining_cycles:
description: 'The number of remaining cycles for this recurring expense'
type: number
format: int
example: '1'
foreign_amount:
description: 'The foreign currency amount of the recurring expense'
type: number
format: float
example: '10.00'
exchange_rate:
description: 'The exchange rate for the expernse'
type: number
format: float
example: '0.80'
date:
description: 'The date of the expense'
type: string
example: ''
payment_date:
description: 'The date the expense was paid'
type: string
example: ''
should_be_invoiced:
description: 'Boolean flag determining if the expense should be invoiced'
type: boolean
example: true
is_deleted:
description: 'Boolean flag determining if the recurring expense is deleted'
type: boolean
example: true
last_sent_date:
description: 'The Date it was sent last'
type: string
format: date
example: '1994-07-30'
next_send_date:
description: 'The next send date'
type: string
format: date
example: '1994-07-30'
invoice_documents:
description: 'Boolean flag determining if the documents associated with this expense should be passed onto the invoice if it is converted to an invoice'
type: boolean
example: true
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
type: object
InvoiceRequest:
required:
- client_id
properties:
id:
description: 'The invoice hashed id'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
status_id:
description: 'The invoice status variable'
type: string
example: '4'
readOnly: true
number:
description: 'The invoice number - is a unique alpha numeric number per invoice per company'
type: string
example: INV_101
po_number:
description: 'The purchase order associated with this invoice'
type: string
example: PO-1234
terms:
description: 'The invoice terms'
type: string
example: 'These are invoice terms'
public_notes:
description: 'The public notes of the invoice'
type: string
example: 'These are some public notes'
private_notes:
description: 'The private notes of the invoice'
type: string
example: 'These are some private notes'
footer:
description: 'The invoice footer notes'
type: string
example: ''
custom_value1:
description: 'A custom field value'
type: string
example: '2022-10-01'
custom_value2:
description: 'A custom field value'
type: string
example: 'Something custom'
custom_value3:
description: 'A custom field value'
type: string
example: ''
custom_value4:
description: 'A custom field value'
type: string
example: ''
tax_name1:
description: 'The tax name'
type: string
example: ''
tax_name2:
description: 'The tax name'
type: string
example: ''
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
total_taxes:
description: 'The total taxes for the invoice'
type: number
format: float
example: '10.00'
readOnly: true
line_items:
type: array
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
invitations:
type: array
description: 'An array of objects which define the invitations of the invoice'
items:
$ref: '#/components/schemas/InvoiceInvitationRequest'
amount:
description: 'The invoice amount'
type: number
format: float
example: '10.00'
readOnly: true
balance:
description: 'The invoice balance'
type: number
format: float
example: '10.00'
readOnly: true
paid_to_date:
description: 'The amount paid on the invoice to date'
type: number
format: float
example: '10.00'
readOnly: true
discount:
description: 'The invoice discount, can be an amount or a percentage'
type: number
format: float
example: '10.00'
partial:
description: 'The deposit/partial amount'
type: number
format: float
example: '10.00'
is_amount_discount:
description: 'Flag determining if the discount is an amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Defines if the invoice has been deleted'
type: boolean
example: true
readOnly: true
uses_inclusive_taxes:
description: 'Defines the type of taxes used as either inclusive or exclusive'
type: boolean
example: true
date:
description: 'The Invoice Date'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the invoice was sent out'
type: string
format: date
example: '1994-07-30'
readOnly: true
next_send_date:
description: 'The Next date for a reminder to be sent'
type: string
format: date
example: '1994-07-30'
readOnly: true
partial_due_date:
description: 'The due date for the deposit/partial amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date of the invoice'
type: string
format: date
example: '1994-07-30'
last_viewed:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
custom_surcharge1:
description: 'First Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
project_id:
description: 'The project associated with this invoice'
type: string
example: Opnel5aKBz
type: object
RecurringQuote:
properties:
id:
description: 'The hashed id of the recurring quote'
type: string
example: Opnel5aKBz
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
status_id:
description: 'The quote status variable'
type: string
example: '4'
frequency_id:
description: 'The recurring quote frequency'
type: number
example: '4'
remaining_cycles:
description: 'The number of quotes left to be generated'
type: number
example: '4'
number:
description: 'The recurringquote number - is a unique alpha numeric number per quote per company'
type: string
example: INV_101
po_number:
description: 'The purchase order associated with this recurring quote'
type: string
example: PO-1234
terms:
description: 'The quote terms'
type: string
example: 'These are quote terms'
public_notes:
description: 'The public notes of the quote'
type: string
example: 'These are some public notes'
private_notes:
description: 'The private notes of the quote'
type: string
example: 'These are some private notes'
footer:
description: 'The quote footer notes'
type: string
example: ''
custom_value1:
description: 'A custom field value'
type: string
example: '2022-10-01'
custom_value2:
description: 'A custom field value'
type: string
example: 'Something custom'
custom_value3:
description: 'A custom field value'
type: string
example: ''
custom_value4:
description: 'A custom field value'
type: string
example: ''
tax_name1:
description: 'The tax name'
type: string
example: ''
tax_name2:
description: 'The tax name'
type: string
example: ''
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
total_taxes:
description: 'The total taxes for the quote'
type: number
format: float
example: '10.00'
line_items:
description: 'An array of objects which define the line items of the quote'
type: object
example: ''
amount:
description: 'The quote amount'
type: number
format: float
example: '10.00'
balance:
description: 'The quote balance'
type: number
format: float
example: '10.00'
paid_to_date:
description: 'The amount paid on the quote to date'
type: number
format: float
example: '10.00'
discount:
description: 'The quote discount, can be an amount or a percentage'
type: number
format: float
example: '10.00'
partial:
description: 'The deposit/partial amount'
type: number
format: float
example: '10.00'
is_amount_discount:
description: 'Flag determining if the discount is an amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Defines if the quote has been deleted'
type: boolean
example: true
uses_inclusive_taxes:
description: 'Defines the type of taxes used as either inclusive or exclusive'
type: boolean
example: true
date:
description: 'The quote Date'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the quote was sent out'
type: string
format: date
example: '1994-07-30'
next_send_date:
description: 'The Next date for a reminder to be sent'
type: string
format: date
example: '1994-07-30'
partial_due_date:
description: 'The due date for the deposit/partial amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date of the quote'
type: string
format: date
example: '1994-07-30'
settings:
$ref: '#/components/schemas/CompanySettings'
last_viewed:
description: Timestamp
type: number
format: integer
example: '1434342123'
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
custom_surcharge1:
description: 'First Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
type: object
Client:
properties:
id:
description: 'The unique identifier of the client'
type: string
example: Opnel5aKBz
readOnly: true
contacts:
type: array
items:
$ref: '#/components/schemas/ClientContact'
user_id:
description: 'The unique identifier of the user who created the client'
type: string
example: Ua6Rw4pVbS
readOnly: true
assigned_user_id:
description: 'The unique identifier of the user who has been assigned the client'
type: string
example: Ua6Rw4pVbS
name:
description: 'The name of the client company or organization'
type: string
example: "Jim's Housekeeping"
website:
description: 'The website URL of the client company or organization'
type: string
example: 'https://www.jims-housekeeping.com'
private_notes:
description: 'Notes that are only visible to the user who created the client'
type: string
example: 'Client prefers email communication over phone calls'
client_hash:
description: 'A unique hash value for the client'
type: string
example: asdfkjhk342hjhbfdvmnfb1
readOnly: true
industry_id:
description: 'The unique identifier of the industry the client operates in'
type: number
example: '5'
size_id:
description: 'The unique identifier for the size category of the client company or organization'
type: number
example: '2'
address1:
description: "First line of the client's address"
type: string
example: '123 Main St'
address2:
description: "Second line of the client's address, if needed"
type: string
example: 'Apt 4B'
city:
description: 'The city the client is located in'
type: string
example: 'Beverly Hills'
state:
description: 'The state, province, or locality the client is located in'
type: string
example: 'California'
postal_code:
description: 'The postal code or ZIP code of the client'
type: string
example: '90210'
phone:
description: "The client's phone number"
type: string
example: '555-3434-3434'
country_id:
description: "The unique identifier of the client's country"
type: number
format: integer
example: '1'
custom_value1:
description: 'A custom field for storing additional information'
type: string
example: 'Preferred contact: Email'
custom_value2:
description: 'A custom field for storing additional information'
type: string
example: 'Account manager: John Doe'
custom_value3:
description: 'A custom field for storing additional information'
type: string
example: 'VIP client: Yes'
custom_value4:
description: 'A custom field for storing additional information'
type: string
example: 'Annual contract value: $50,000'
vat_number:
description: "The client's VAT (Value Added Tax) number, if applicable"
type: string
example: 'VAT123456'
id_number:
description: 'A unique identification number for the client, such as a tax ID or business registration number'
type: string
number:
description: 'A system-assigned unique number for the client, typically used for invoicing purposes'
type: string
example: 'CL-0001'
shipping_address1:
description: "First line of the client's shipping address"
type: string
example: '5 Wallaby Way'
shipping_address2:
description: "Second line of the client's shipping address, if needed"
type: string
example: 'Suite 5'
shipping_city:
description: "The city of the client's shipping address"
type: string
example: 'Perth'
shipping_state:
description: "The state, province, or locality of the client's shipping address"
type: string
example: 'Western Australia'
shipping_postal_code:
description: "The postal code or ZIP code of the client's shipping address"
type: string
example: '6110'
shipping_country_id:
description: "The unique identifier of the country for the client's shipping address"
type: number
format: integer
example: '4'
is_deleted:
description: 'A boolean value indicating whether the client has been deleted or not'
type: boolean
example: false
readOnly: true
balance:
description: 'The outstanding balance the client owes'
type: number
format: float
example: '500.00'
readOnly: true
paid_to_date:
description: 'The total amount the client has paid to date'
type: number
format: float
example: '2000.00'
readOnly: true
credit_balance:
description: 'The available credit balance for the client to use on future purchases'
type: number
format: float
example: '100.00'
readOnly: true
last_login:
description: "The timestamp of the client's last login"
type: number
format: integer
example: '1628686031'
readOnly: true
created_at:
description: 'The timestamp when the client was created'
type: number
format: integer
example: '1617629031'
readOnly: true
updated_at:
description: 'The timestamp when the client was last updated'
type: number
format: integer
example: '1628445631'
readOnly: true
group_settings_id:
description: 'The group settings assigned to the client'
type: string
example: Opnel5aKBz
routing_id:
description: 'The routing address id for e-invoicing for this client'
type: string
example: Opnel5aKBz3489-dfkiu-2239-sdsd
is_tax_exempt:
description: 'Flag which defines if the client is exempt from taxes'
type: boolean
example: false
has_valid_vat_number:
description: 'Flag which defines if the client has a valid VAT number'
type: boolean
example: false
readOnly: true
payment_balance:
description: 'Defines the payment balance the client has on file (pre payments / over payments / unapplied amounts)'
type: number
example: 100
readOnly: true
settings:
$ref: '#/components/schemas/ClientSettings'
type: object
PaymentTerm:
properties:
num_days:
description: 'The payment term length in days'
type: integer
example: '1'
name:
description: 'The payment term length in string format'
type: string
example: 'NET 1'
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
archived_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
type: object
Product:
type: object
properties:
id:
type: string
description: 'The hashed product ID.'
example: eP01N
readOnly: true
user_id:
type: string
description: 'The hashed ID of the user that created this product.'
example: n30m4
readOnly: true
assigned_user_id:
type: string
description: 'The hashed ID of the user assigned to this product.'
example: pR0j3
project_id:
type: string
description: 'The hashed ID of the project that this product is associated with.'
example: pR0j3
vendor_id:
type: string
description: 'The hashed ID of the vendor that this product is associated with.'
example: pR0j3
custom_value1:
type: string
description: 'Custom value field 1.'
example: 'Custom value 1'
custom_value2:
type: string
description: 'Custom value field 2.'
example: 'Custom value 2'
custom_value3:
type: string
description: 'Custom value field 3.'
example: 'Custom value 3'
custom_value4:
type: string
description: 'Custom value field 4.'
example: 'Custom value 4'
product_key:
type: string
description: 'The product key.'
example: '1234'
notes:
type: string
description: 'Notes about the product.'
example: 'These are some notes about the product.'
cost:
type: number
format: double
description: 'The cost of the product. (Your purchase price for this product)'
example: 10.0
price:
type: number
format: double
description: 'The price of the product that you are charging.'
example: 20.0
quantity:
type: number
format: double
description: 'The quantity of the product. (used as a default)'
example: 5.0
tax_name1:
type: string
description: 'The name of tax 1.'
example: 'Tax 1'
tax_rate1:
type: number
format: double
description: 'The rate of tax 1.'
example: 10.0
tax_name2:
type: string
description: 'The name of tax 2.'
example: 'Tax 2'
tax_rate2:
type: number
format: double
description: 'The rate of tax 2.'
example: 5.0
tax_name3:
type: string
description: 'The name of tax 3.'
example: 'Tax 3'
tax_rate3:
type: number
format: double
description: 'The rate of tax 3.'
example: 0.0
archived_at:
type: integer
format: timestamp
description: 'The timestamp when the product was archived.'
example: '2022-03-18T15:00:00Z'
readOnly: true
created_at:
type: integer
format: timestamp
description: 'The timestamp when the product was created.'
example: '2022-03-18T15:00:00Z'
readOnly: true
updated_at:
description: Timestamp
type: integer
format: timestamp
example: '2022-03-18T12:34:56.789Z'
readOnly: true
is_deleted:
type: boolean
description: 'Boolean flag determining if the product has been deleted'
example: false
readOnly: true
in_stock_quantity:
type: integer
format: int32
description: The quantity of the product that is currently in stock
default: 0
stock_notification:
type: boolean
description: Indicates whether stock notifications are enabled for this product
default: true
stock_notification_threshold:
type: integer
format: int32
description: The minimum quantity threshold for which stock notifications will be triggered
default: 0
max_quantity:
type: integer
format: int32
description: The maximum quantity that can be ordered for this product
product_image:
type: string
description: The URL of the product image
format: uri-reference
tax_id:
type: string
default: '1'
description: |
The tax category id for this product.'
The following constants are available (default = '1')
```
PRODUCT_TYPE_PHYSICAL = '1'
PRODUCT_TYPE_SERVICE = '2'
PRODUCT_TYPE_DIGITAL = '3'
PRODUCT_TYPE_SHIPPING = '4'
PRODUCT_TYPE_EXEMPT = '5'
PRODUCT_TYPE_REDUCED_TAX = '6'
PRODUCT_TYPE_OVERRIDE_TAX = '7'
PRODUCT_TYPE_ZERO_RATED = '8'
PRODUCT_TYPE_REVERSE_TAX = '9'
```
example: '1'
Meta:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
Pagination:
type: object
properties:
total:
type: integer
description: 'The total number of items'
example: 1
readOnly: true
count:
type: integer
description: 'The number of items per page'
example: 1
readOnly: true
per_page:
type: integer
description: 'The number of items per page'
example: 1
readOnly: true
current_page:
type: integer
description: 'The current page number'
example: 1
readOnly: true
total_pages:
type: integer
description: 'The total number of pages'
example: 1
readOnly: true
links:
type: object
description: 'The pagination links'
readOnly: true
ClientContactRequest:
properties:
id:
description: 'The hashed if of the contact'
type: string
example: Opnel5aKBz
readOnly: true
first_name:
description: 'The first name of the contact'
type: string
example: John
last_name:
description: 'The last name of the contact'
type: string
example: Doe
phone:
description: 'The phone number of the contact'
type: string
example: 555-152-4524
custom_value1:
description: 'A Custom field value'
type: string
example: ''
custom_value2:
description: 'A Custom field value'
type: string
example: ''
custom_value3:
description: 'A Custom field value'
type: string
example: ''
custom_value4:
description: 'A Custom field value'
type: string
example: ''
email:
description: 'The email of the contact'
type: string
example: ''
password:
description: 'The hashed password of the contact'
type: string
example: '*****'
send_email:
description: 'Boolean value determines is this contact should receive emails'
type: boolean
example: true
type: object
Design:
properties:
id:
description: 'The design hashed id'
type: string
example: AS3df3A
name:
description: 'The design name'
type: string
example: Beauty
design:
description: 'The design HTML'
type: string
example: '<html></html>'
is_custom:
description: 'Flag to determine if the design is a custom user design'
type: boolean
example: true
is_active:
description: 'Flag to determine if the design is available for use'
type: boolean
example: true
is_deleted:
description: 'Flag to determine if the design is deleted'
type: boolean
example: true
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
deleted_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
type: object
Vendor:
properties:
id:
description: 'The hashed id of the vendor. This is a unique identifier for the vendor.'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The hashed id of the user who created the vendor. This is a unique identifier for the user.'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The hashed id of the assigned user to this vendor. This is a unique identifier for the user.'
type: string
example: Opnel5aKBz
contacts:
type: array
items:
$ref: '#/components/schemas/VendorContact'
description: 'An array of contacts associated with the vendor.'
name:
description: 'The name of the vendor.'
type: string
example: 'Harry cafe de wheels'
classification:
description: 'The classification of the vendor.'
type: string
example: 'individual'
website:
description: 'The website of the vendor.'
type: string
example: www.harry.com
private_notes:
description: 'The private notes of the vendor. These notes are only visible to users with appropriate permissions.'
type: string
example: 'Shhh, do not tell the vendor'
industry_id:
description: 'The industry id of the vendor. This is a unique identifier for the industry.'
type: string
example: '1'
size_id:
description: 'The size id of the vendor. This is a unique identifier for the size of the vendor.'
type: string
example: ''
address1:
description: 'The first line of the vendor''s address.'
type: string
example: ''
address2:
description: 'The second line of the vendor''s address.'
type: string
example: ''
city:
description: 'The city of the vendor''s address.'
type: string
example: ''
state:
description: 'The state of the vendor''s address.'
type: string
example: ''
postal_code:
description: 'The postal code of the vendor''s address.'
type: string
example: ''
phone:
description: 'The phone number of the vendor.'
type: string
example: 555-3434-3434
country_id:
description: 'The country id of the vendor. This is a unique identifier for the country.'
type: string
example: ''
currency_id:
description: 'The currency id of the vendor. This is a unique identifier for the currency.'
type: string
example: '4'
custom_value1:
description: 'The value of the first custom field for the vendor.'
type: string
example: ''
custom_value2:
description: 'The value of the second custom field for the vendor.'
type: string
example: ''
custom_value3:
description: 'The value of the third custom field for the vendor.'
type: string
example: ''
custom_value4:
description: 'The value of the fourth custom field for the vendor.'
type: string
example: ''
vat_number:
description: 'The VAT number of the vendor.'
type: string
example: ''
id_number:
description: 'The ID number of the vendor.'
type: string
example: ''
number:
description: 'The number of the vendor'
type: string
example: '11234'
is_deleted:
description: 'Boolean flag determining if the vendor has been deleted'
type: boolean
example: true
language_id:
description: 'The language id of the vendor. This is a unique identifier for the language.'
type: string
example: '1'
vendor_hash:
description: 'The vendor hash of the vendor. This is a unique identifier for the vendor.'
type: string
example: 'aaa-sss-www'
readOnly: true
transaction_name:
description: 'The transaction name of the vendor.'
type: string
example: 'aaa-sss-www'
last_login:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
display_name:
description: 'The display name of the vendor.'
type: string
example: 'Bob the vendor'
readOnly: true
type: object
BTRules:
properties:
data_key:
description: 'The key to search'
type: string
example: 'description,amount'
operator:
description: 'The operator flag of the search'
type: string
example: '>'
value:
description: 'The value to search for'
type: string
example: bob
type: object
ClientRequest:
required:
- contacts
- country_id
properties:
id:
description: 'The unique identifier of the client'
type: string
example: Opnel5aKBz
readOnly: true
contacts:
type: array
description: 'A list of contacts associated with the client'
items:
$ref: '#/components/schemas/ClientContactRequest'
name:
description: 'The name of the client company or organization'
type: string
example: "Jim's Housekeeping"
website:
description: 'The website URL of the client company or organization'
type: string
example: 'https://www.jims-housekeeping.com'
private_notes:
description: 'Notes that are only visible to the user who created the client'
type: string
example: 'Client prefers email communication over phone calls'
industry_id:
description: 'The unique identifier of the industry the client operates in'
type: number
example: '5'
size_id:
description: 'The unique identifier for the size category of the client company or organization'
type: number
example: '2'
address1:
description: "First line of the client's address"
type: string
example: '123 Main St'
address2:
description: "Second line of the client's address, if needed"
type: string
example: 'Apt 4B'
city:
description: 'The city the client is located in'
type: string
example: 'Beverly Hills'
state:
description: 'The state, province, or locality the client is located in'
type: string
example: 'California'
postal_code:
description: 'The postal code or ZIP code of the client'
type: string
example: '90210'
phone:
description: "The client's phone number"
type: string
example: '555-3434-3434'
country_id:
description: "The unique identifier of the client's country"
type: number
format: integer
example: '1'
custom_value1:
description: 'A custom field for storing additional information'
type: string
example: 'Preferred contact: Email'
custom_value2:
description: 'A custom field for storing additional information'
type: string
example: 'Account manager: John Doe'
custom_value3:
description: 'A custom field for storing additional information'
type: string
example: 'VIP client: Yes'
custom_value4:
description: 'A custom field for storing additional information'
type: string
example: 'Annual contract value: $50,000'
vat_number:
description: "The client's VAT (Value Added Tax) number, if applicable"
type: string
example: 'VAT123456'
id_number:
description: 'A unique identification number for the client, such as a tax ID or business registration number'
type: string
number:
description: 'A system-assigned unique number for the client, typically used for invoicing purposes'
type: string
example: 'CL-0001'
shipping_address1:
description: "First line of the client's shipping address"
type: string
example: '5 Wallaby Way'
shipping_address2:
description: "Second line of the client's shipping address, if needed"
type: string
example: 'Suite 5'
shipping_city:
description: "The city of the client's shipping address"
type: string
example: 'Perth'
shipping_state:
description: "The state, province, or locality of the client's shipping address"
type: string
example: 'Western Australia'
shipping_postal_code:
description: "The postal code or ZIP code of the client's shipping address"
type: string
example: '6110'
shipping_country_id:
description: "The unique identifier of the country for the client's shipping address"
type: number
format: integer
example: '4'
is_deleted:
description: 'A boolean value indicating whether the client has been deleted or not'
type: boolean
example: false
readOnly: true
group_settings_id:
description: 'The group settings assigned to the client'
type: string
example: Opnel5aKBz
routing_id:
description: 'The routing address id for e-invoicing for this client'
type: string
example: Opnel5aKBz3489-dfkiu-2239-sdsd
is_tax_exempt:
description: 'Flag which defines if the client is exempt from taxes'
type: boolean
example: false
has_valid_vat_number:
description: 'Flag which defines if the client has a valid VAT number'
type: boolean
example: false
readOnly: true
classification:
description: 'The classification of the client'
type: string
example: 'individual'
settings:
$ref: '#/components/schemas/ClientSettings'
type: object
BankTransaction:
properties:
id:
description: 'The bank integration hashed id'
type: string
example: AS3df3A
user_id:
description: 'The user hashed id'
type: string
example: AS3df3A
transaction_id:
description: 'The id of the transaction rule'
type: integer
example: 343434
amount:
description: 'The transaction amount'
type: number
example: 10
currency_id:
description: 'The currency ID of the currency'
type: string
example: '1'
account_type:
description: 'The account type'
type: string
example: creditCard
description:
description: 'The description of the transaction'
type: string
example: 'Potato purchases for kevin'
category_id:
description: 'The category id'
type: integer
example: 1
category_type:
description: 'The category description'
type: string
example: Expenses
base_type:
description: 'Either CREDIT or DEBIT'
type: string
example: CREDIT
date:
description: 'The date of the transaction'
type: string
example: '2022-09-01'
bank_account_id:
description: 'The ID number of the bank account'
type: integer
example: '1'
type: object
FeesAndLimits:
properties:
min_limit:
description: 'The minimum amount accepted for this gateway'
type: string
example: '2'
max_limit:
description: 'The maximum amount accepted for this gateway'
type: string
example: '2'
fee_amount:
description: 'The gateway fee amount'
type: number
format: float
example: '2.0'
fee_percent:
description: 'The gateway fee percentage'
type: number
format: float
example: '2.0'
fee_tax_name1:
description: 'Fee tax name'
type: string
example: GST
fee_tax_name2:
description: 'Fee tax name'
type: string
example: VAT
fee_tax_name3:
description: 'Fee tax name'
type: string
example: 'CA Sales Tax'
fee_tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.0'
fee_tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '17.5'
fee_tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '25.0'
fee_cap:
description: 'If set the fee amount will be no higher than this amount'
type: number
format: float
example: '2.0'
adjust_fee_percent:
description: 'Adjusts the fee to match the exact gateway fee.'
type: boolean
example: true
type: object
VendorContact:
properties:
id:
description: 'The hashed id of the vendor contact'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The hashed id of the user id'
type: string
example: Opnel5aKBz
readOnly: true
vendor_id:
description: 'The hashed id of the vendor'
type: string
example: Opnel5aKBz
readOnly: true
first_name:
description: 'The first name of the contact'
type: string
example: Harry
last_name:
description: 'The last name of the contact'
type: string
example: Windsor
contact_key:
description: 'A unique identifier for the contact'
type: string
example: JD0X52bkfZlJRiroCJ0tcSiAjsJTntZ5uqKdiZ0a
readOnly: true
confirmation_code:
description: 'The confirmation code used to authenticate the contacts email address'
type: string
example: 333-sdjkh34gbasd
readOnly: true
phone:
description: 'The contacts phone number'
type: string
example: 555-123-1234
custom_value1:
description: 'A custom value'
type: string
example: '2022-10-10'
custom_value2:
description: 'A custom value'
type: string
example: $1000
custom_value3:
description: 'A custom value'
type: string
example: ''
custom_value4:
description: 'A custom value'
type: string
example: ''
email:
description: 'The contact email address'
type: string
example: harry@windsor.com
email_verified_at:
description: 'The date which the contact confirmed their email'
type: number
format: integer
example: '134341234234'
readOnly: true
password:
description: 'The hashed password of the contact'
type: string
example: '*****'
is_primary:
description: 'Boolean flag determining if the contact is the primary contact for the vendor'
type: boolean
example: true
created_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
deleted_at:
description: Timestamp
type: number
format: integer
example: '134341234234'
readOnly: true
type: object
InvoiceInvitationRequest:
required:
- client_contact_id
properties:
id:
description: 'The entity invitation hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
key:
description: 'The invitation key'
type: string
example: Opnel5aKBz4343343566236gvbb
readOnly: true
link:
description: 'The invitation link'
type: string
example: 'https://www.example.com/invitations/Opnel5aKBz4343343566236gvbb'
readOnly: true
sent_date:
description: 'The invitation sent date'
type: string
format: date-time
readOnly: true
viewed_date:
description: 'The invitation viewed date'
type: string
format: date-time
readOnly: true
opened_date:
description: 'The invitation opened date'
type: string
format: date-time
readOnly: true
updated_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
email_error:
description: 'The email error'
type: string
example: 'The email error'
readOnly: true
email_status:
description: 'The email status'
type: string
readOnly: true
Paymentable:
properties:
id:
description: 'The paymentable hashed id'
type: string
example: AS3df3A
invoice_id:
description: 'The invoice hashed id'
type: string
example: AS3df3A
credit_id:
description: 'The credit hashed id'
type: string
example: AS3df3A
refunded:
description: 'The amount that has been refunded for this payment'
type: number
format: float
example: '10.00'
amount:
description: 'The amount that has been applied to the payment'
type: number
format: float
example: '10.00'
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
created_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
type: object
Company:
properties:
id:
description: "The unique hashed identifier for the company"
type: string
example: WJxbojagwO
size_id:
description: "The unique identifier representing the company's size category"
type: string
example: '2'
industry_id:
description: "The unique identifier representing the company's industry category"
type: string
example: '5'
slack_webhook_url:
description: "The URL for the company's Slack webhook notifications"
type: string
example: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
google_analytics_key:
description: "The company's Google Analytics tracking ID"
type: string
example: 'UA-123456789-1'
portal_mode:
description: "The mode determining how client-facing URLs are structured (e.g., subdomain, domain, or iframe)"
type: string
example: subdomain
subdomain:
description: "The subdomain prefix for the company's domain (e.g., 'acme' in acme.domain.com)"
type: string
example: acme
portal_domain:
description: "The fully qualified domain used for client-facing URLs"
type: string
example: 'https://subdomain.invoicing.co'
enabled_tax_rates:
description: "The number of tax rates used per entity"
type: integer
example: '2'
fill_products:
description: "A flag determining whether to auto-fill product descriptions based on the product key"
type: boolean
example: true
convert_products:
description: "A flag determining whether to convert products between different types or units"
type: boolean
example: true
update_products:
description: "A flag determining whether to update product descriptions when the description changes"
type: boolean
example: true
show_product_details:
description: "A flag determining whether to display product details in the user interface"
type: boolean
example: true
show_product_cost:
description: "A flag determining whether to display product cost is shown in the user interface"
type: boolean
example: true
custom_fields:
description: "A mapping of custom fields for various objects within the company"
type: object
enable_product_cost:
description: "A flag determining whether to show or hide the product cost field in the user interface"
type: boolean
example: true
enable_product_quantity:
description: "A flag determining whether to show or hide the product quantity field in the user interface"
type: boolean
example: true
default_quantity:
description: "A flag determining whether to use a default quantity for products"
type: boolean
example: true
custom_surcharge_taxes1:
description: "A flag determining whether to apply taxes on custom surcharge amounts for the first custom surcharge field"
type: boolean
example: true
custom_surcharge_taxes2:
description: "A flag determining whether to apply taxes on custom surcharge amounts for the second custom surcharge field"
type: boolean
example: true
custom_surcharge_taxes3:
description: "A flag determining whether to apply taxes on custom surcharge amounts for the third custom surcharge field"
type: boolean
example: true
custom_surcharge_taxes4:
description: "A flag determining whether to apply taxes on custom surcharge amounts for the fourth custom"
logo:
description: "The company logo file in binary format"
type: string
format: binary
example: logo.png
company_key:
description: "The static company key hash used to identify the Company"
readOnly: true
type: string
example: "Vnb14bRlwiFjc5ckte6cfbygTRkn5IMQ"
client_can_register:
description: "A flag determining whether clients can register for the client portal"
type: boolean
example: true
enabled_modules:
type: integer
description: |
Bitmask representation of the modules that are enabled in the application
```
self::ENTITY_RECURRING_INVOICE => 1,
self::ENTITY_CREDIT => 2,
self::ENTITY_QUOTE => 4,
self::ENTITY_TASK => 8,
self::ENTITY_EXPENSE => 16,
self::ENTITY_PROJECT => 32,
self::ENTITY_VENDOR => 64,
self::ENTITY_TICKET => 128,
self::ENTITY_PROPOSAL => 256,
self::ENTITY_RECURRING_EXPENSE => 512,
self::ENTITY_RECURRING_TASK => 1024,
self::ENTITY_RECURRING_QUOTE => 2048,
```
The default per_page value is 20.
example: 2048
db:
readOnly: true
type: string
example: 'db-ninja-01'
first_day_of_week:
description: "The first day of the week for the company"
type: string
example: '1'
first_month_of_year:
description: "The first month for the company financial year"
type: string
example: '1'
enabled_item_tax_rates:
description: "The number of tax rates used per item"
type: integer
example: 2
is_large:
description: "A flag determining whether the company is considered large"
type: boolean
example: true
default_auto_bill:
type: string
example: 'always'
description: |
A flag determining whether to auto-bill clients by default
values:
- always - Always auto bill
- disabled - Never auto bill
- optin - Allow the client to select their auto bill status with the default being disabled
- optout -Allow the client to select their auto bill status with the default being enabled
mark_expenses_invoiceable:
description: "A flag determining whether to mark expenses as invoiceable by default"
type: boolean
example: true
mark_expenses_paid:
description: "A flag determining whether to mark expenses as paid by default"
type: boolean
example: true
invoice_expense_documents:
description: "A flag determining whether to include expense documents on invoices by default"
type: boolean
example: true
auto_start_tasks:
description: "A flag determining whether to auto-start tasks by default"
type: boolean
example: true
invoice_task_timelog:
description: "A flag determining whether to include task time logs on invoices by default"
type: boolean
example: true
invoice_task_documents:
description: "A flag determining whether to include task documents on invoices by default"
type: boolean
example: true
show_tasks_table:
description: "A flag determining whether to show the tasks table on invoices by default"
type: boolean
example: true
is_disabled:
description: "A flag determining whether the company is disabled"
type: boolean
example: true
default_task_is_date_based:
description: "A flag determining whether to default tasks to be date-based"
type: boolean
example: true
enable_product_discount:
description: "A flag determining whether to show or hide the product discount field in the user interface"
type: boolean
example: true
calculate_expense_tax_by_amount:
description: "A flag determining whether to calculate expense taxes by amount"
type: boolean
example: true
expense_inclusive_taxes:
description: "A flag determining whether to include taxes in the expense amount"
type: boolean
example: true
session_timeout:
description: "The session timeout for the company"
type: integer
example: 60
oauth_password_required:
description: "A flag determining whether to require a password for `dangerous` actions when using OAuth"
type: boolean
example: true
invoice_task_datelog:
description: "A flag determining whether to include task date logs on invoices by default"
type: boolean
example: true
default_password_timeout:
description: "The default password timeout for the company"
type: integer
example: 60
show_task_end_date:
description: "A flag determining whether to show the task end date on invoices by default"
type: boolean
example: true
markdown_enabled:
description: "A flag determining whether markdown is enabled for the company"
type: boolean
example: true
report_include_drafts:
description: "A flag determining whether to include draft invoices in reports"
type: boolean
example: true
client_registration_fields:
description: "The client registration fields for the company"
type: object
stop_on_unpaid_recurring:
description: "A flag determining whether to stop recurring invoices when they are unpaid"
type: boolean
example: true
use_quote_terms_on_conversion:
description: "A flag determining whether to use quote terms on conversion to an invoice"
type: boolean
example: true
enable_applying_payments:
description: "A flag determining whether to enable applying payments to invoices"
type: boolean
example: true
track_inventory:
description: "A flag determining whether to track inventory for the company"
type: boolean
example: true
inventory_notification_threshold:
description: "The inventory notification threshold for the company"
type: integer
example: 60
stock_notification:
description: "A flag determining whether to send stock notifications for the company"
type: boolean
example: true
matomo_url:
description: "The Matomo URL for the company"
type: string
example: 'https://matomo.example.com'
matomo_id:
description: "The Matomo ID for the company"
type: string
example: '1'
enabled_expense_tax_rates:
description: "The number of tax rates used per expense"
type: integer
example: 2
invoice_task_project:
description: "A flag determining whether to include the project on invoices by default"
type: boolean
example: true
report_include_deleted:
description: "A flag determining whether to include deleted invoices in reports"
type: boolean
example: true
invoice_task_lock:
description: "A flag determining whether to lock tasks when invoiced"
type: boolean
example: true
convert_payment_currency:
description: "A flag determining whether to convert the payment currency"
type: boolean
example: true
convert_expense_currency:
description: "A flag determining whether to convert the expense currency"
type: boolean
example: true
notify_vendor_when_paid:
description: "A flag determining whether to notify the vendor when an expense is paid"
type: boolean
example: true
invoice_task_hours:
description: "A flag determining whether to include the task hours on invoices by default"
type: boolean
example: true
calculate_taxes:
description: "A flag determining whether to calculate taxes for the company"
type: boolean
example: true
tax_data:
description: "The tax data for the company"
type: object
e_invoice_certificate:
description: "The e-invoice certificate for the company"
type: string
example: '-----BEGIN CERTIFICATE-----'
e_invoice_certificate_passphrase:
description: "The e-invoice certificate passphrase for the company"
type: string
example: 'secret'
origin_tax_data:
description: "The origin tax data for the company"
type: object
invoice_task_project_header:
description: "A flag determining whether to include the project header on invoices by default"
type: boolean
example: true
invoice_task_item_description:
description: "A flag determining whether to include the item description on invoices by default"
type: boolean
example: true
settings:
$ref: '#/components/schemas/CompanySettings'
type: object
ProductRequest:
type: object
properties:
id:
type: string
description: 'The hashed product ID.'
example: eP01N
readOnly: true
assigned_user_id:
type: string
description: 'The hashed ID of the user assigned to this product.'
example: pR0j3
project_id:
type: string
description: 'The hashed ID of the project that this product is associated with.'
example: pR0j3
vendor_id:
type: string
description: 'The hashed ID of the vendor that this product is associated with.'
example: pR0j3
custom_value1:
type: string
description: 'Custom value field 1.'
example: 'Custom value 1'
custom_value2:
type: string
description: 'Custom value field 2.'
example: 'Custom value 2'
custom_value3:
type: string
description: 'Custom value field 3.'
example: 'Custom value 3'
custom_value4:
type: string
description: 'Custom value field 4.'
example: 'Custom value 4'
product_key:
type: string
description: 'The product key.'
example: '1234'
notes:
type: string
description: 'Notes about the product.'
example: 'These are some notes about the product.'
cost:
type: number
format: double
description: 'The cost of the product.'
example: 10.0
price:
type: number
format: double
description: 'The price of the product.'
example: 20.0
quantity:
type: number
format: double
description: 'The quantity of the product.'
example: 5.0
default: 1
tax_name1:
type: string
description: 'The name of tax 1.'
example: 'Tax 1'
tax_rate1:
type: number
format: double
description: 'The rate of tax 1.'
example: 10.0
tax_name2:
type: string
description: 'The name of tax 2.'
example: 'Tax 2'
tax_rate2:
type: number
format: double
description: 'The rate of tax 2.'
example: 5.0
tax_name3:
type: string
description: 'The name of tax 3.'
example: 'Tax 3'
tax_rate3:
type: number
format: double
description: 'The rate of tax 3.'
example: 0.0
in_stock_quantity:
type: integer
format: int32
description: |
The quantity of the product that is currently in stock.
**note** this field is not mutable without passing an extra query parameter which will allow modification of this value.
The query parameter ?update_in_stock_quantity=true **MUST** be passed if you wish to update this value manually.
default: 0
stock_notification:
type: boolean
description: Indicates whether stock notifications are enabled for this product
default: true
stock_notification_threshold:
type: integer
format: int32
description: The minimum quantity threshold for which stock notifications will be triggered
default: 0
max_quantity:
type: integer
format: int32
description: The maximum quantity that can be ordered for this product
product_image:
type: string
description: The URL of the product image
format: uri-reference
tax_id:
type: string
default: '1'
description: |
The tax category id for this product.'
The following constants are available (default = '1')
```
PRODUCT_TYPE_PHYSICAL = '1'
PRODUCT_TYPE_SERVICE = '2'
PRODUCT_TYPE_DIGITAL = '3'
PRODUCT_TYPE_SHIPPING = '4'
PRODUCT_TYPE_EXEMPT = '5'
PRODUCT_TYPE_REDUCED_TAX = '6'
PRODUCT_TYPE_OVERRIDE_TAX = '7'
PRODUCT_TYPE_ZERO_RATED = '8'
PRODUCT_TYPE_REVERSE_TAX = '9'
```
example: '1'
RecurringInvoice:
properties:
id:
description: 'The hashed id of the recurring invoice'
type: string
example: Opnel5aKBz
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
status_id:
description: 'The invoice status variable'
type: string
example: '4'
frequency_id:
description: 'The recurring invoice frequency'
type: number
example: '4'
remaining_cycles:
description: 'The number of invoices left to be generated'
type: number
example: '4'
number:
description: 'The recurringinvoice number - is a unique alpha numeric number per invoice per company'
type: string
example: INV_101
po_number:
description: 'The purchase order associated with this recurring invoice'
type: string
example: PO-1234
terms:
description: 'The invoice terms'
type: string
example: 'These are invoice terms'
public_notes:
description: 'The public notes of the invoice'
type: string
example: 'These are some public notes'
private_notes:
description: 'The private notes of the invoice'
type: string
example: 'These are some private notes'
footer:
description: 'The invoice footer notes'
type: string
example: ''
custom_value1:
description: 'A custom field value'
type: string
example: '2022-10-01'
custom_value2:
description: 'A custom field value'
type: string
example: 'Something custom'
custom_value3:
description: 'A custom field value'
type: string
example: ''
custom_value4:
description: 'A custom field value'
type: string
example: ''
tax_name1:
description: 'The tax name'
type: string
example: ''
tax_name2:
description: 'The tax name'
type: string
example: ''
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
total_taxes:
description: 'The total taxes for the invoice'
type: number
format: float
example: '10.00'
line_items:
description: 'An array of objects which define the line items of the invoice'
type: object
example: ''
amount:
description: 'The invoice amount'
type: number
format: float
example: '10.00'
balance:
description: 'The invoice balance'
type: number
format: float
example: '10.00'
paid_to_date:
description: 'The amount paid on the invoice to date'
type: number
format: float
example: '10.00'
discount:
description: 'The invoice discount, can be an amount or a percentage'
type: number
format: float
example: '10.00'
partial:
description: 'The deposit/partial amount'
type: number
format: float
example: '10.00'
is_amount_discount:
description: 'Flag determining if the discount is an amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Defines if the invoice has been deleted'
type: boolean
example: true
uses_inclusive_taxes:
description: 'Defines the type of taxes used as either inclusive or exclusive'
type: boolean
example: true
date:
description: 'The Invoice Date'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the invoice was sent out'
type: string
format: date
example: '1994-07-30'
next_send_date:
description: 'The Next date for a reminder to be sent'
type: string
format: date
example: '1994-07-30'
partial_due_date:
description: 'The due date for the deposit/partial amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date of the invoice'
type: string
format: date
example: '1994-07-30'
settings:
$ref: '#/components/schemas/CompanySettings'
last_viewed:
description: Timestamp
type: number
format: integer
example: '1434342123'
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
custom_surcharge1:
description: 'First Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
type: object
BankIntegration:
properties:
id:
description: 'The bank integration hashed id'
type: string
example: AS3df3A
user_id:
description: 'The user hashed id'
type: string
example: AS3df3A
provider_bank_name:
description: 'The providers bank name'
type: string
example: 'Chase Bank'
bank_account_id:
description: 'The bank account id'
type: integer
example: '1233434'
bank_account_name:
description: 'The name of the account'
type: string
example: 'My Checking Acc'
bank_account_number:
description: 'The account number'
type: string
example: '111 234 2332'
bank_account_status:
description: 'The status of the bank account'
type: string
example: ACTIVE
bank_account_type:
description: 'The type of account'
type: string
example: CREDITCARD
balance:
description: 'The current bank balance if available'
type: number
example: '1000000'
currency:
description: 'iso_3166_3 code'
type: string
example: USD
type: object
Expense:
properties:
id:
description: 'The expense hashed id'
type: string
example: 'Opnel5aKBz'
user_id:
description: 'The user hashed id'
type: string
example: 'Opnel5aKBz'
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: 'Opnel5aKBz'
project_id:
description: 'The associated project_id'
type: string
example: 'Opnel5aKBz'
client_id:
description: 'The client hashed id'
type: string
example: 'Opnel5aKBz'
invoice_id:
description: 'The related invoice hashed id'
type: string
example: 'Opnel5aKBz'
bank_id:
description: 'The bank id related to this expense'
type: string
example: ''
invoice_currency_id:
description: 'The currency id of the related invoice'
type: string
example: '1'
currency_id:
description: 'The currency id of the expense'
type: string
example: '2'
invoice_category_id:
description: 'The invoice category id'
type: string
example: 'Opnel5aKBz'
payment_type_id:
description: 'The payment type id'
type: string
example: ''
recurring_expense_id:
description: 'The related recurring expense this expense was created from'
type: string
example: 'Opnel5aKBz'
private_notes:
description: 'The private notes of the expense'
type: string
example: ''
public_notes:
description: 'The public notes of the expense'
type: string
example: ''
transaction_reference:
description: 'The transaction references of the expense'
type: string
example: ''
transcation_id:
description: 'The transaction id of the expense'
type: string
example: ''
custom_value1:
description: 'A custom value'
type: string
example: ''
custom_value2:
description: 'A custom value'
type: string
example: ''
custom_value3:
description: 'A custom value'
type: string
example: ''
custom_value4:
description: 'A custom value'
type: string
example: ''
tax_amount:
description: 'The tax amount'
type: number
example: 10.00
tax_name1:
description: 'Tax Name 1'
type: string
example: 'GST'
tax_name2:
description: 'Tax Name 2'
type: string
example: 'VAT'
tax_name3:
description: 'Tax Name 3'
type: string
example: 'IVA'
tax_rate1:
description: 'Tax rate 1'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'Tax rate 2'
type: number
format: float
example: '10.00'
tax_rate3:
description: 'Tax rate 3'
type: number
format: float
example: '10.00'
amount:
description: 'The total expense amont'
type: number
format: float
example: '10.00'
foreign_amount:
description: 'The total foreign amount of the expense'
type: number
format: float
example: '10.00'
exchange_rate:
description: 'The exchange rate at the time of the expense'
type: number
format: float
example: '0.80'
date:
description: 'The expense date format Y-m-d'
type: string
example: '2022-12-01'
payment_date:
description: 'The date of payment for the expense, format Y-m-d'
type: string
example: '2022-12-01'
should_be_invoiced:
description: 'Flag whether the expense should be invoiced'
type: boolean
example: true
is_deleted:
description: 'Boolean determining whether the expense has been deleted'
type: boolean
example: true
invoice_documents:
description: 'Passing the expense documents over to the invoice'
type: boolean
example: true
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
type: object
ClientSettings:
required:
- currency_id
properties:
currency_id:
description: 'The default currency id'
type: string
example: true
timezone_id:
description: 'The timezone id'
type: string
example: '15'
date_format_id:
description: 'The date format id'
type: string
example: '15'
military_time:
description: 'Toggles 12/24 hour time'
type: boolean
example: true
language_id:
description: 'The language id'
type: string
example: '1'
show_currency_code:
description: 'Toggles whether the currency symbol or code is shown'
type: boolean
example: true
payment_terms:
description: '-1 sets no payment term, 0 sets payment due immediately, positive integers indicates payment terms in days'
type: integer
example: '1'
company_gateway_ids:
description: 'A commad separate list of available gateways'
type: string
example: '1,2,3,4'
custom_value1:
description: 'A Custom Label'
type: string
example: 'Custom Label'
custom_value2:
description: 'A Custom Label'
type: string
example: 'Custom Label'
custom_value3:
description: 'A Custom Label'
type: string
example: 'Custom Label'
custom_value4:
description: 'A Custom Label'
type: string
example: 'Custom Label'
default_task_rate:
description: 'The default task rate'
type: number
format: float
example: '10.00'
send_reminders:
description: 'Toggles whether reminders are sent'
type: boolean
example: true
enable_client_portal_tasks:
description: 'Show/hide the tasks panel in the client portal'
type: boolean
example: true
email_style:
description: 'options include plain,light,dark,custom'
type: string
example: light
reply_to_email:
description: 'The reply to email address'
type: string
example: email@gmail.com
bcc_email:
description: 'A comma separate list of BCC emails'
type: string
example: 'email@gmail.com, contact@gmail.com'
pdf_email_attachment:
description: 'Toggles whether to attach PDF as attachment'
type: boolean
example: true
ubl_email_attachment:
description: 'Toggles whether to attach UBL as attachment'
type: boolean
example: true
email_style_custom:
description: 'The custom template'
type: string
example: '<HTML></HTML>'
counter_number_applied:
description: 'enum when the invoice number counter is set, ie when_saved, when_sent, when_paid'
type: string
example: when_sent
quote_number_applied:
description: 'enum when the quote number counter is set, ie when_saved, when_sent'
type: string
example: when_sent
custom_message_dashboard:
description: 'A custom message which is displayed on the dashboard'
type: string
example: 'Please pay invoices immediately'
custom_message_unpaid_invoice:
description: 'A custom message which is displayed in the client portal when a client is viewing a unpaid invoice.'
type: string
example: 'Please pay invoices immediately'
custom_message_paid_invoice:
description: 'A custom message which is displayed in the client portal when a client is viewing a paid invoice.'
type: string
example: 'Thanks for paying this invoice!'
custom_message_unapproved_quote:
description: 'A custom message which is displayed in the client portal when a client is viewing a unapproved quote.'
type: string
example: 'Please approve quote'
lock_invoices:
description: 'Toggles whether invoices are locked once sent and cannot be modified further'
type: boolean
example: true
auto_archive_invoice:
description: 'Toggles whether a invoice is archived immediately following payment'
type: boolean
example: true
auto_archive_quote:
description: 'Toggles whether a quote is archived after being converted to a invoice'
type: boolean
example: true
auto_convert_quote:
description: 'Toggles whether a quote is converted to a invoice when approved'
type: boolean
example: true
inclusive_taxes:
description: 'Boolean flag determining whether inclusive or exclusive taxes are used'
type: boolean
example: true
task_number_pattern:
description: 'Allows customisation of the task number pattern'
type: string
example: '{$year}-{$counter}'
task_number_counter:
description: 'The incrementing counter for tasks'
type: integer
example: '1'
reminder_send_time:
description: 'Time from UTC +0 when the email will be sent to the client'
type: integer
example: '32400'
expense_number_pattern:
description: 'Allows customisation of the expense number pattern'
type: string
example: '{$year}-{$counter}'
expense_number_counter:
description: 'The incrementing counter for expenses'
type: integer
example: '1'
vendor_number_pattern:
description: 'Allows customisation of the vendor number pattern'
type: string
example: '{$year}-{$counter}'
vendor_number_counter:
description: 'The incrementing counter for vendors'
type: integer
example: '1'
ticket_number_pattern:
description: 'Allows customisation of the ticket number pattern'
type: string
example: '{$year}-{$counter}'
ticket_number_counter:
description: 'The incrementing counter for tickets'
type: integer
example: '1'
payment_number_pattern:
description: 'Allows customisation of the payment number pattern'
type: string
example: '{$year}-{$counter}'
payment_number_counter:
description: 'The incrementing counter for payments'
type: integer
example: '1'
invoice_number_pattern:
description: 'Allows customisation of the invoice number pattern'
type: string
example: '{$year}-{$counter}'
invoice_number_counter:
description: 'The incrementing counter for invoices'
type: integer
example: '1'
quote_number_pattern:
description: 'Allows customisation of the quote number pattern'
type: string
example: '{$year}-{$counter}'
quote_number_counter:
description: 'The incrementing counter for quotes'
type: integer
example: '1'
client_number_pattern:
description: 'Allows customisation of the client number pattern'
type: string
example: '{$year}-{$counter}'
client_number_counter:
description: 'The incrementing counter for clients'
type: integer
example: '1'
credit_number_pattern:
description: 'Allows customisation of the credit number pattern'
type: string
example: '{$year}-{$counter}'
credit_number_counter:
description: 'The incrementing counter for credits'
type: integer
example: '1'
recurring_invoice_number_prefix:
description: 'This string is prepended to the recurring invoice number'
type: string
example: R
reset_counter_frequency_id:
description: 'CONSTANT which is used to apply the frequency which the counters are reset'
type: integer
example: '1'
reset_counter_date:
description: 'The explicit date which is used to reset counters'
type: string
example: '2019-01-01'
counter_padding:
description: 'Pads the counter with leading zeros'
type: integer
example: '1'
shared_invoice_quote_counter:
description: 'Flags whether to share the counter for invoices and quotes'
type: boolean
example: true
update_products:
description: 'Determines if client fields are updated from third party APIs'
type: boolean
example: true
convert_products:
description: ''
type: boolean
example: true
fill_products:
description: 'Automatically fill products based on product_key'
type: boolean
example: true
invoice_terms:
description: 'The default invoice terms'
type: string
example: 'Invoice Terms are...'
quote_terms:
description: 'The default quote terms'
type: string
example: 'Quote Terms are...'
invoice_taxes:
description: 'Taxes can be applied to the invoice'
type: number
example: '1'
invoice_design_id:
description: 'The default design id (invoice, quote etc)'
type: string
example: '1'
quote_design_id:
description: 'The default design id (invoice, quote etc)'
type: string
example: '1'
invoice_footer:
description: 'The default invoice footer'
type: string
example: '1'
invoice_labels:
description: 'JSON string of invoice labels'
type: string
example: '1'
tax_rate1:
description: 'The tax rate (float)'
type: number
example: '10'
tax_name1:
description: 'The tax name'
type: string
example: GST
tax_rate2:
description: 'The tax rate (float)'
type: number
example: '10'
tax_name2:
description: 'The tax name'
type: string
example: GST
tax_rate3:
description: 'The tax rate (float)'
type: number
example: '10'
tax_name3:
description: 'The tax name'
type: string
example: GST
payment_type_id:
description: 'The default payment type id'
type: string
example: '1'
custom_fields:
description: 'JSON string of custom fields'
type: string
example: '{}'
email_footer:
description: 'The default email footer'
type: string
example: 'A default email footer'
email_sending_method:
description: 'The email driver to use to send email, options include default, gmail'
type: string
example: default
gmail_sending_user_id:
description: 'The hashed_id of the user account to send email from'
type: string
example: F76sd34D
email_subject_invoice:
description: ''
type: string
example: 'Your Invoice Subject'
email_subject_quote:
description: ''
type: string
example: 'Your Quote Subject'
email_subject_payment:
description: ''
type: string
example: 'Your Payment Subject'
email_template_invoice:
description: 'The full template for invoice emails'
type: string
example: '<HTML></HTML>'
email_template_quote:
description: 'The full template for quote emails'
type: string
example: '<HTML></HTML>'
email_template_payment:
description: 'The full template for payment emails'
type: string
example: '<HTML></HTML>'
email_subject_reminder1:
description: 'Email subject for Reminder'
type: string
example: '<HTML></HTML>'
email_subject_reminder2:
description: 'Email subject for Reminder'
type: string
example: '<HTML></HTML>'
email_subject_reminder3:
description: 'Email subject for Reminder'
type: string
example: '<HTML></HTML>'
email_subject_reminder_endless:
description: 'Email subject for endless reminders'
type: string
example: '<HTML></HTML>'
email_template_reminder1:
description: 'The full template for Reminder 1'
type: string
example: '<HTML></HTML>'
email_template_reminder2:
description: 'The full template for Reminder 2'
type: string
example: '<HTML></HTML>'
email_template_reminder3:
description: 'The full template for Reminder 3'
type: string
example: '<HTML></HTML>'
email_template_reminder_endless:
description: 'The full template for enless reminders'
type: string
example: '<HTML></HTML>'
enable_portal_password:
description: 'Toggles whether a password is required to log into the client portal'
type: boolean
example: true
show_accept_invoice_terms:
description: 'Toggles whether the terms dialogue is shown to the client'
type: boolean
example: true
show_accept_quote_terms:
description: 'Toggles whether the terms dialogue is shown to the client'
type: boolean
example: true
require_invoice_signature:
description: 'Toggles whether a invoice signature is required'
type: boolean
example: true
require_quote_signature:
description: 'Toggles whether a quote signature is required'
type: boolean
example: true
name:
description: 'The company name'
type: string
example: 'Acme Co'
company_logo:
description: 'The company logo file'
type: object
example: logo.png
website:
description: 'The company website URL'
type: string
example: www.acme.com
address1:
description: 'The company address line 1'
type: string
example: 'Suite 888'
address2:
description: 'The company address line 2'
type: string
example: '5 Jimbo Way'
city:
description: 'The company city'
type: string
example: Sydney
state:
description: 'The company state'
type: string
example: Florisa
postal_code:
description: 'The company zip/postal code'
type: string
example: '90210'
phone:
description: 'The company phone'
type: string
example: 555-213-3948
email:
description: 'The company email'
type: string
example: joe@acme.co
country_id:
description: 'The country ID'
type: string
example: '1'
vat_number:
description: 'The company VAT/TAX ID number'
type: string
example: '32 120 377 720'
page_size:
description: 'The default page size'
type: string
example: A4
font_size:
description: 'The font size'
type: number
example: '9'
primary_font:
description: 'The primary font'
type: string
example: roboto
secondary_font:
description: 'The secondary font'
type: string
example: roboto
hide_paid_to_date:
description: 'Flags whether to hide the paid to date field'
type: boolean
example: false
embed_documents:
description: 'Toggled whether to embed documents in the PDF'
type: boolean
example: false
all_pages_header:
description: 'The header for the PDF'
type: boolean
example: false
all_pages_footer:
description: 'The footer for the PDF'
type: boolean
example: false
document_email_attachment:
description: 'Toggles whether to attach documents in the email'
type: boolean
example: false
enable_client_portal_password:
description: 'Toggles password protection of the client portal'
type: boolean
example: false
enable_email_markup:
description: 'Toggles the use of markdown in emails'
type: boolean
example: false
enable_client_portal_dashboard:
description: 'Toggles whether the client dashboard is shown in the client portal'
type: boolean
example: false
enable_client_portal:
description: 'Toggles whether the entire client portal is displayed to the client, or only the context'
type: boolean
example: false
email_template_statement:
description: 'The body of the email for statements'
type: string
example: 'template matter'
email_subject_statement:
description: 'The subject of the email for statements'
type: string
example: 'subject matter'
signature_on_pdf:
description: 'Toggles whether the signature (if available) is displayed on the PDF'
type: boolean
example: false
quote_footer:
description: 'The default quote footer'
type: string
example: 'the quote footer'
email_subject_custom1:
description: 'Custom reminder template subject'
type: string
example: 'Custom Subject 1'
email_subject_custom2:
description: 'Custom reminder template subject'
type: string
example: 'Custom Subject 2'
email_subject_custom3:
description: 'Custom reminder template subject'
type: string
example: 'Custom Subject 3'
email_template_custom1:
description: 'Custom reminder template body'
type: string
example: '<HTML>'
email_template_custom2:
description: 'Custom reminder template body'
type: string
example: '<HTML>'
email_template_custom3:
description: 'Custom reminder template body'
type: string
example: '<HTML>'
enable_reminder1:
description: 'Toggles whether this reminder is enabled'
type: boolean
example: false
enable_reminder2:
description: 'Toggles whether this reminder is enabled'
type: boolean
example: false
enable_reminder3:
description: 'Toggles whether this reminder is enabled'
type: boolean
example: false
num_days_reminder1:
description: 'The Reminder interval'
type: number
example: '9'
num_days_reminder2:
description: 'The Reminder interval'
type: number
example: '9'
num_days_reminder3:
description: 'The Reminder interval'
type: number
example: '9'
schedule_reminder1:
description: '(enum: after_invoice_date, before_due_date, after_due_date)'
type: string
example: after_invoice_date
schedule_reminder2:
description: '(enum: after_invoice_date, before_due_date, after_due_date)'
type: string
example: after_invoice_date
schedule_reminder3:
description: '(enum: after_invoice_date, before_due_date, after_due_date)'
type: string
example: after_invoice_date
late_fee_amount1:
description: 'The late fee amount for reminder 1'
type: number
example: 10
late_fee_amount2:
description: 'The late fee amount for reminder 2'
type: number
example: 20
late_fee_amount3:
description: 'The late fee amount for reminder 2'
type: number
example: 100
endless_reminder_frequency_id:
description: 'The frequency id of the endless reminder'
type: string
example: '1'
client_online_payment_notification:
description: 'Determines if a client should receive the notification for a online payment'
type: boolean
example: false
client_manual_payment_notification:
description: 'Determines if a client should receive the notification for a manually entered payment'
type: boolean
example: false
enable_e_invoice:
description: 'Determines if e-invoicing is enabled'
type: boolean
example: false
default_expense_payment_type_id:
description: 'The default payment type for expenses'
type: string
example: '0'
e_invoice_type:
description: 'The e-invoice type'
type: string
example: 'EN16931'
mailgun_endpoint:
description: 'The mailgun endpoint - used to determine whether US or EU endpoints are used'
type: string
example: 'api.mailgun.net or api.eu.mailgun.net'
client_initiated_payments:
description: 'Determines if clients can initiate payments directly from the client portal'
type: boolean
example: false
client_initiated_payments_minimum:
description: 'The minimum amount a client can pay'
type: number
example: 10
sync_invoice_quote_columns:
description: 'Determines if invoice and quote columns are synced for the PDF rendering, or if they use their own columns'
type: boolean
example: false
show_task_item_description:
description: 'Determines if the task item description is shown on the invoice'
type: boolean
example: false
allow_billable_task_items:
description: 'Determines if task items can be marked as billable'
type: boolean
example: false
accept_client_input_quote_approval:
description: 'Determines if clients can approve quotes and also pass through a PO Number reference'
type: boolean
example: false
custom_sending_email:
description: 'When using Mailgun or Postmark, the FROM email address can be customized using this setting.'
type: string
example: 'bob@gmail.com'
show_paid_stamp:
description: 'Determines if the PAID stamp is shown on the invoice'
type: boolean
example: false
show_shipping_address:
description: 'Determines if the shipping address is shown on the invoice'
type: boolean
example: false
company_logo_size:
description: 'The size of the company logo on the PDF - percentage value between 0 and 100'
type: number
example: 100
show_email_footer:
description: 'Determines if the email footer is shown on emails'
type: boolean
example: false
email_alignment:
description: 'The alignment of the email body text, options include left / center / right'
type: string
example: 'left'
auto_bill_standard_invoices:
description: 'Determines if standard invoices are automatically billed when they are created or due'
type: boolean
example: false
postmark_secret:
description: 'The Postmark secret API key'
type: string
example: '123456'
mailgun_secret:
description: 'The Mailgun secret API key'
type: string
example: '123456'
mailgun_domain:
description: 'The Mailgun domain'
type: string
example: 'sandbox123456.mailgun.org'
send_email_on_mark_paid:
description: 'Determines if an email is sent when an invoice is marked as paid'
type: boolean
example: false
vendor_portal_enable_uploads:
description: 'Determines if vendors can upload files to the portal'
type: boolean
example: false
besr_id:
description: 'The BESR ID'
type: string
example: '123456'
qr_iban:
description: 'The IBAN for the QR code'
type: string
example: 'CH123456'
email_subject_purchase_order:
description: 'The email subject for purchase orders'
type: string
example: 'Purchase Order'
email_template_purchase_order:
description: 'The email template for purchase orders'
type: string
example: 'Please see attached your purchase order.'
require_purchase_order_signature:
description: 'Determines if a signature is required on purchase orders'
type: boolean
example: false
purchase_order_public_notes:
description: 'The public notes for purchase orders'
type: string
example: 'Please see attached your purchase order.'
purchase_order_terms:
description: 'The terms for purchase orders'
type: string
example: 'Please see attached your purchase order.'
purchase_order_footer:
description: 'The footer for purchase orders'
type: string
example: 'Please see attached your purchase order.'
purchase_order_design_id:
description: 'The design id for purchase orders'
type: string
example: 'hd677df'
purchase_order_number_pattern:
description: 'The pattern for purchase order numbers'
type: string
example: 'PO-000000'
purchase_order_number_counter:
description: 'The counter for purchase order numbers'
type: number
example: 1
page_numbering_alignment:
description: 'The alignment for page numbering: options include left / center / right'
type: string
example: 'left'
page_numbering:
description: 'Determines if page numbering is enabled on Document PDFs'
type: boolean
example: false
auto_archive_invoice_cancelled:
description: 'Determines if invoices are automatically archived when they are cancelled'
type: boolean
example: false
email_from_name:
description: 'The FROM name for emails when using Custom emailers'
type: string
example: 'Bob Smith'
show_all_tasks_client_portal:
description: 'Determines if all tasks are shown on the client portal'
type: boolean
example: false
entity_send_time:
description: 'The time that emails are sent. The time is localized to the clients locale, integer values from 1 - 24'
type: integer
example: 9
shared_invoice_credit_counter:
description: 'Determines if the invoice and credit counter are shared'
type: boolean
example: false
reply_to_name:
description: 'The reply to name for emails'
type: string
example: 'Bob Smith'
hide_empty_columns_on_pdf:
description: 'Determines if empty columns are hidden on PDFs'
type: boolean
example: false
enable_reminder_endless:
description: 'Determines if endless reminders are enabled'
type: boolean
example: false
use_credits_payment:
description: 'Determines if credits can be used as a payment method'
type: boolean
example: false
recurring_invoice_number_pattern:
description: 'The pattern for recurring invoice numbers'
type: string
example: 'R-000000'
recurring_invoice_number_counter:
description: 'The counter for recurring invoice numbers'
type: number
example: 1
client_portal_under_payment_minimum:
description: 'The minimum payment payment'
type: number
example: 10
auto_bill_date:
description: 'Determines when the invoices are auto billed, options are on_send_date (when the invoice is sent) or on_due_date (when the invoice is due))'
type: string
example: 'on_send_date'
primary_color:
description: 'The primary color for the client portal / document highlights'
type: string
example: '#ffffff'
secondary_color:
description: 'The secondary color for the client portal / document highlights'
type: string
example: '#ffffff'
client_portal_allow_under_payment:
description: 'Determines if clients can pay invoices under the invoice amount due'
type: boolean
example: false
client_portal_allow_over_payment:
description: 'Determines if clients can pay invoices over the invoice amount'
type: boolean
example: false
auto_bill:
description: 'Determines how autobilling is applied for recurring invoices. off (no auto billed), always (always auto bill), optin (The user must opt in to auto billing), optout (The user must opt out of auto billing'
type: string
example: 'off'
client_portal_terms:
description: 'The terms which are displayed on the client portal'
type: string
example: 'Please see attached your invoice.'
client_portal_privacy_policy:
description: 'The privacy policy which is displayed on the client portal'
type: string
example: 'These are the terms of use for using the client portal.'
client_can_register:
description: 'Determines if clients can register on the client portal'
type: boolean
example: false
portal_design_id:
description: 'The design id for the client portal'
type: string
example: 'hd677df'
late_fee_endless_percent:
description: 'The late fee percentage for endless late fees'
type: number
example: 10
late_fee_endless_amount:
description: 'The late fee amount for endless late fees'
type: number
example: 10
auto_email_invoice:
description: 'Determines if invoices are automatically emailed when they are created'
type: boolean
example: false
email_signature:
description: 'The email signature for emails'
type: string
example: 'Bob Smith'
type: object
Quote:
properties:
id:
description: 'The unique hashed identifier for the quote'
type: string
example: Opnel5aKBz
user_id:
description: 'The unique hashed identifier for the user who created the quote'
type: string
example: ''
assigned_user_id:
description: 'The unique hashed identifier for the user assigned to the quote'
type: string
example: ''
client_id:
description: 'The unique hashed identifier for the client associated with the quote'
type: string
example: ''
status_id:
description: 'The status of the quote represented by a unique identifier'
type: string
example: ''
number:
description: 'The unique alpha-numeric quote number for the quote per company'
type: string
example: QUOTE_101
po_number:
description: 'The purchase order number associated with the quote'
type: string
example: PO-1234
terms:
description: 'The terms and conditions for the quote'
type: string
example: 'These are some quote terms. Valid for 14 days.'
public_notes:
description: 'Publicly visible notes associated with the quote'
type: string
example: 'These are public notes which the client may see'
private_notes:
description: 'Privately visible notes associated with the quote, not disclosed to the client'
type: string
example: 'These are private notes, not to be disclosed to the client'
footer:
description: 'The footer text of the quote'
type: string
example: 'The text goes in the footer of the quote'
custom_value1:
description: 'First custom value field for additional information'
type: string
example: 'A custom value'
custom_value2:
description: 'Second custom value field for additional information'
type: string
example: 'A custom value'
custom_value3:
description: 'Third custom value field for additional information'
type: string
example: 'A custom value'
custom_value4:
description: 'Fourth custom value field for additional information'
type: string
example: 'A custom value'
tax_name1:
description: 'The name of the first tax applied to the quote'
type: string
example: GST
tax_name2:
description: 'The name of the second tax applied to the quote'
type: string
example: VAT
tax_rate1:
description: 'The rate of the first tax applied to the quote'
type: number
format: float
example: 10.00
tax_rate2:
description: 'The rate of the second tax applied to the quote'
type: number
format: float
example: 10.00
tax_name3:
description: 'The name of the third tax applied to the quote'
type: string
example: ''
tax_rate3:
description: 'The rate of the third tax applied to the quote'
type: number
format: float
example: 10.00
total_taxes:
description: 'The total amount of taxes for the quote'
type: number
format: float
example: 10.00
line_items:
type: array
description: 'An array of objects which define the line items of the quote'
items:
$ref: '#/components/schemas/InvoiceItem'
amount:
description: 'The total amount of the quote before taxes and discounts'
type: number
format: float
example: 10.00
balance:
description: 'The balance due for the quote after accounting for payments'
type: number
format: float
example: 10.00
paid_to_date:
description: 'The total amount paid on the quote so far'
type: number
format: float
example: 10.00
discount:
description: 'The discount amount or percentage applied to the quote'
type: number
format: float
example: 10.00
partial:
description: 'The partial or deposit amount for the quote'
type: number
format: float
example: 10.00
is_amount_discount:
description: 'Boolean flag indicating if the discount is a fixed amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Boolean flag indicating if the quote has been deleted'
type: boolean
example: false
uses_inclusive_taxes:
description: 'Boolean flag indicating if the taxes used are inclusive or exclusive'
type: boolean
example: true
date:
description: 'The date the quote was created'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the quote was sent to the client'
type: string
format: date
example: '1994-07-30'
next_send_date:
description: 'The next scheduled date for sending a reminder for the quote'
type: string
format: date
example: '1994-07-30'
partial_due_date:
description: 'The due date for the partial or deposit amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date for the total amount of the quote'
type: string
format: date
example: '1994-07-30'
settings:
$ref: '#/components/schemas/CompanySettings'
last_viewed:
description: 'The timestamp of the last time the quote was viewed'
type: number
format: integer
example: 1434342123
updated_at:
description: 'The timestamp of the last update to the quote'
type: number
format: integer
example: 1434342123
archived_at:
description: 'The timestamp of when the quote was archived'
type: number
format: integer
example: 1434342123
custom_surcharge1:
description: 'First custom surcharge amount for the quote'
type: number
format: float
example: 10.00
custom_surcharge2:
description: 'Second custom surcharge amount for the quote'
type: number
format: float
example: 10.00
custom_surcharge3:
description: 'Third custom surcharge amount for the quote'
type: number
format: float
example: 10.00
custom_surcharge4:
description: 'Fourth custom surcharge amount for the quote'
type: number
format: float
example: 10.00
custom_surcharge_tax1:
description: 'Boolean flag indicating if taxes are charged on the first custom surcharge amount'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Boolean flag indicating if taxes are charged on the second custom surcharge amount'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Boolean flag indicating if taxes are charged on the third custom surcharge amount'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Boolean flag indicating if taxes are charged on the fourth custom surcharge amount'
type: boolean
example: true
type: object
tags:
- name: login
description: |
Attempts to authenticate with the API using a email/password combination.
externalDocs:
description: "Find out more"
url: "https://invoiceninja.github.io"
- name: clients
description: |
Endpoint definitions for interacting with clients.
- name: products
description: |
Endpoint definitions for interacting with products.
- name: invoices
description: |
Endpoint definitions for interacting with invoices.
- name: Recurring Invoices
description: |
Endpoint definitions for interacting with recurring_invoices.
- name: payments
description: |
Endpoint definitions for interacting with payments.
- name: quotes
description: |
Endpoint definitions for interacting with quotes.
- name: credits
description: |
Endpoint definitions for interacting with credits.
- name: projects
description: |
Endpoint definitions for interacting with projects.
- name: tasks
description: |
Endpoint definitions for interacting with tasks.
- name: vendors
description: |
Endpoint definitions for interacting with vendors.
- name: Purchase Orders
description: |
Endpoint definitions for interacting with purchase orders.
- name: expenses
description: |
Endpoint definitions for interacting with expenses.
- name: recurring_expenses
description: |
Endpoint definitions for interacting with recurring_expenses.
- name: bank_transactions
description: |
Endpoint definitions for interacting with bank transactions.
- name: reports
description: |
Endpoint definitions for interacting with reports.
externalDocs:
description: "https://invoiceninja.github.io"
url: "https://invoiceninja.github.io"
security:
- ApiKeyAuth: []