2023-02-12 08:58:00 +01:00
/api/v1/clients :
get :
tags :
- clients
summary : 'List clients'
description : |
Lists clients. Fine grained filtering is also available using query parameters.
operationId : getClients
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- $ref : '#/components/parameters/index'
2023-02-18 09:58:40 +01:00
- $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"
2023-02-18 04:21:42 +01:00
- name : name
2023-02-12 08:58:00 +01:00
in : query
description : Filter by client name
required : false
schema :
type : string
example : bob
2023-02-18 04:21:42 +01:00
- name : balance
2023-02-12 08:58:00 +01:00
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
2023-02-18 04:21:42 +01:00
- name : between_balance
2023-02-12 08:58:00 +01:00
in : query
description : Filter between client balances, format uses two values separated by a colon
required : false
schema :
type : string
example : 10 : 100
2023-02-18 04:21:42 +01:00
- name : email
2023-02-12 08:58:00 +01:00
in : query
description : Filter by client email
required : false
schema :
type : string
example : bob@gmail.com
2023-02-18 04:21:42 +01:00
- name : id_number
2023-02-12 08:58:00 +01:00
in : query
description : Filter by client id_number
required : false
schema :
type : string
example : a1039883
2023-02-18 04:21:42 +01:00
- name : number
2023-02-12 08:58:00 +01:00
in : query
description : Filter by client number
required : false
schema :
type : string
example : a1039883
2023-02-18 04:21:42 +01:00
- name : filter
2023-02-12 08:58:00 +01:00
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
2023-02-18 04:21:42 +01:00
- name : sort
2023-02-12 08:58:00 +01:00
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 :
$ref : '#/components/schemas/Client'
401 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
post :
tags :
- clients
summary : 'Create client'
2023-02-18 04:21:42 +01:00
description : 'Adds a client to a company'
2023-02-12 08:58:00 +01:00
operationId : storeClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
'/api/v1/clients/{id}' :
get :
tags :
- clients
summary : 'Show client'
description : 'Displays a client by id'
operationId : showClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- name : id
2023-02-12 08:58:00 +01:00
in : path
description : 'The Client Hashed ID'
required : true
schema :
type : string
format : string
example : D2J234DFA
responses :
200 :
2023-02-18 04:21:42 +01:00
description : 'Returns the client object'
2023-02-12 08:58:00 +01:00
headers :
X-MINIMUM-CLIENT-VERSION :
$ref : '#/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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
put :
tags :
- clients
summary : 'Update client'
description : 'Handles the updating of a client by id'
operationId : updateClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- name : id
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
delete :
tags :
- clients
summary : 'Delete client'
description : 'Handles the deletion of a client by id'
operationId : deleteClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- name : id
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
'/api/v1/clients/{id}/edit' :
get :
tags :
- clients
summary : 'Edit Client'
description : 'Displays a client by id'
operationId : editClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/include'
- name : id
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
/api/v1/clients/create :
get :
tags :
- clients
summary : 'Blank Client'
description : 'Returns a blank object with default values'
operationId : getClientsCreate
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
/api/v1/clients/bulk :
post :
tags :
- clients
2023-02-18 04:21:42 +01:00
summary : 'Bulk client actions'
description : 'Archive / Restore / Delete in bulk'
2023-02-12 08:58:00 +01:00
operationId : bulkClients
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/index'
2023-02-12 08:58:00 +01:00
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 Client 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/Client'
401 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
'/api/v1/clients/{id}/upload' :
put :
tags :
- clients
summary : 'Add client document'
2023-02-18 02:22:48 +01:00
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'
2023-02-12 08:58:00 +01:00
operationId : uploadClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- name : id
2023-02-12 08:58:00 +01:00
in : path
description : 'The Client Hashed ID'
required : true
schema :
type : string
format : string
example : D2J234DFA
2023-02-18 02:22:48 +01:00
produces :
- application/json
requestBody :
required : true
content :
multipart/form-data :
schema :
type : object
2023-03-23 03:03:37 +01:00
items :
2023-02-18 02:22:48 +01:00
_method :
type : string
example : POST
documents :
type : array
format : binary
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
'/api/v1/clients/{id}/purge' :
post :
tags :
- clients
summary : 'Purge client'
description : 'Handles purging a client'
operationId : purgeClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- name : id
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
'/api/v1/clients/{id}/{mergeable_client_hashed_id}/merge' :
post :
tags :
- clients
summary : 'Merge client'
description : 'Handles merging 2 clients'
operationId : mergeClient
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/client_include'
- name : id
2023-02-12 08:58:00 +01:00
in : path
description : 'The Client Hashed ID'
required : true
schema :
type : string
format : string
example : D2J234DFA
2023-02-18 04:21:42 +01:00
- name : mergeable_client_hashed_id
2023-02-12 08:58:00 +01:00
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 :
2023-02-18 05:08:56 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'
2023-02-12 08:58:00 +01:00
/api/v1/client_statement :
post :
tags :
- clients
summary : 'Client statement PDF'
description : 'Return a PDF of the client statement'
operationId : clientStatement
parameters :
2023-02-18 04:21:42 +01:00
- $ref : '#/components/parameters/X-API-TOKEN'
- $ref : '#/components/parameters/X-Requested-With'
- $ref : '#/components/parameters/include'
2023-02-12 08:58:00 +01:00
requestBody :
description : 'Statment 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_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 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/401'
2023-02-12 08:58:00 +01:00
403 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/403'
2023-02-12 08:58:00 +01:00
422 :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/422'
2023-02-12 08:58:00 +01:00
default :
2023-02-18 04:21:42 +01:00
$ref : '#/components/responses/default'