Introduction
The Jobman API allows you to create and interact with Jobman through a simple REST API.
Changelog
18th March 2024
- Added endpoint
/calculate
for Quotes now that calculation needs to be manually performed after changing a quote
URI
Jobman API is hosted on the following base URI:
https://api.jobmanapp.com/
Headers
Make sure you have the following content type headers are set on every request:
Accept: application/json
Content-Type: application/json
Errors
Jobman uses conventional HTTP response codes to indicate the success or failure of an API request. The table below contains a summary of the typical response codes:
Code | Description |
---|---|
200 | Everything is ok |
204 | No content |
400 | Valid data was given but the request has failed |
401 | No valid API Key was given |
403 | You don't have permission to access this resource |
404 | The request resource could not be found |
422 | The payload has missing required parameters or invalid data was given |
429 | Too many attempts |
500 | Request failed due to an internal error in Jobman |
503 | Jobman is offline for maintenance |
Authentication
To interact with the API from your user account, you can authenticate your request by including a Personal Access Token as a bearer token value:
authorisation: Bearer {personalAccessToken}
OAuth 2.0
Jobman also supports the OAuth 2.0 protocol for authorizing API requests. Authorized requests to the API should use an authorisation header with an access token obtained through the OAuth flow.
authorisation: Bearer {accessToken}
All authorisation requests must use a different base URI:
https://identity.jobmanapp.com/
1. Redirect Users
To initiate the authorisation process, redirect users to
https://identity.jobmanapp.com/oauth/authorize
Provide the following query parameters:
Key | Value |
---|---|
client_id | The client ID configured for your OAuth App |
redirect_uri | The redirect URI configured for your OAuth App |
scope | Space-separated list of scopes (see below) |
state | An optional string to be passed back upon completion |
The available scopes are:
Scope | Privileges |
---|---|
account | Account details |
organisation | Organisation access |
kiosk | Kiosk mode access |
agenda | Agenda screen access |
2. Handle User authorisation
If the user authorises your application, Jobman will redirect to the specified redirect_uri
.
This redirection will contain a temporary code query parameter. These authorisation codes may only be exchanged once, and will expire after 10 minutes.
This redirection will also contain the previously passed state value, as a query parameter. If this state value does not match, the request may be compromised and you should abort the authorisation
3. Exchange the authorisation code for an access token
Make a POST
request to:
https://identity.jobmanapp.com/oauth/token
The request body should include the following values:
Key | Value |
---|---|
grant_type | authorisation_code |
code | The code you were provided in the previous step |
redirect_uri | The redirect URI configured for your OAuth App |
client_id | The client ID configured for your OAuth App |
client_secret | The client secret configured for your OAuth App |
Note: Please avoid exposing your client secret
The returned response body should contain a JSON payload with the following key/value pairs
Key | Value |
---|---|
access_token | The value represents the string to add to the authorisation header of future API requests |
token_type | The value will be Bearer |
expires_in | The value indicates the number of seconds until the access token will be invalid |
refresh_token | The value indicates the string to use to generate another access token |
scope | A space-separated string indicating the scopes that the access token can use |
Use the generated access_token
value to make API requests on behalf of the authorized user.
4. Refreshing access & refresh tokens
Access tokens expire after 60 minutes. Your app can refresh an access token using a refresh token. Refresh tokens expire after 28 days.
Make a POST
request to:
https://identity.jobmanapp.com/oauth/token
The request body should include the following values:
Key | Value |
---|---|
grant_type | refresh_token |
refresh_token | The refresh token for your OAuth App |
client_id | The client ID configured for your OAuth App |
client_secret | The client secret configured for your OAuth App |
Note: Please avoid exposing your client secret
The returned response body should contain a JSON payload with the following key/value pairs:
Key | Value |
---|---|
access_token | The value represents the string to add to the authorisation header of future API requests |
expires_in | The value indicates the number of seconds until the access token will be invalid |
refresh_token | The value indicates the string to use to generate another access token |
Use the generated access_token
value to make API requests on behalf of the authorized user.
Requests
Pagination
Example Response
{
"data": [],
"links": {
"first": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=1",
"last": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=4",
"prev": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=1",
"next": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=3"
},
"meta": {
"current_page": 2,
"from": 16,
"last_page": 4,
"links": [
{
"url": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=1",
"label": "« Previous",
"active": false
},
{
"url": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=1",
"label": "1",
"active": false
},
{
"url": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=2",
"label": "2",
"active": true
},
{
"url": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=3",
"label": "3",
"active": false
},
{
"url": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=4",
"label": "4",
"active": false
},
{
"url": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes?page=3",
"label": "Next »",
"active": false
}
],
"path": "http://api.jobman.io/api/v1/organisations/{organisation}/quotes",
"per_page": 15,
"to": 30,
"total": 58
}
}
Pagination is available when listing some resources by appending the page
and/or limit
query parameters.
?page=1&limit=10
Parameter | Description |
---|---|
page | The page number to fetch |
limit | The number of rows to return per page |
Sorting
To control to sort order of results returned an array of properties can be appended using the sort
query parameter. The allows for sorting on multiple properties.
?sort=[{"property":"name","direction":"ASC"}]
Parameter | Description |
---|---|
sort | Array of sorting properties |
Each sorting property can have the following structure:
Parameter | Description |
---|---|
property | The column to sort by |
direction | The direction to sort by (asc or desc) |
Searching
Basic searching across the most relevant properties can be performed by appending the search
query parameter.
?search=JO12345
Parameter | Description |
---|---|
search | The search query term |
Filtering
For more precise filtering than the basic search term an array of filters can be appended using the filter
query parameter. The allows for filtering on multiple properties.
?filter=[{"property":"name","value":"Hello"}]
Parameter | Description |
---|---|
filter | Array of filters |
Each filter property can have the following structure:
Parameter | Description |
---|---|
property | The column to filter by |
value | The term to search for |
User
Get your user account
Response
{
"user": {
"id": "5f9b75e7-907d-4314-ba76-d92bdf14aba2",
"name": "John Smith",
"first_name": "John",
"last_name": "Smith",
"email": "demo@example.com",
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2030-01-01T00:00:00.000000Z",
"updated_at": "2030-01-01T00:00:00.000000Z",
"date_format": "DD-MM-YYYY"
}
}
This endpoint retrieves your Jobman user account information. Note that each user account can be connected as staff members to multiple organisations (see Profile).
HTTP Request
GET /api/v1/user
Accounts
List all Accounts (Accounting)
HTTP Request
GET /api/v1/organisations/{organisationId}/accounts
This endpoint allows you to list all active Accounts for an organisation.
Response
{
"accounts": {
"data": [
{
"id": "3bf18753-02da-4aa8-bd22-975bedbf9066",
"name": "Purchases",
"code": "300",
"is_default": false,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
},
{
"id": "66f72b93-c3f2-42df-9a9f-e2578fea747f",
"name": "Sales",
"code": "200",
"is_default": true,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
}
]
}
}
For more see Settings > Accounting > Accounts.
Accounting Drivers
List Accounting Drivers
Response
{
"accounting_drivers": [
{
"id": "xero",
"name": "xero"
},
{
"id": "myob",
"name": "MYOB"
},
{
"id": "quickbooks_online",
"name": "Quickbooks Online"
}
]
}
This endpoint retrieves the available accounting drivers in Jobman.
HTTP Request
GET /api/v1/accounting-drivers
Catalogue Item Types
List Catalogue Item Types
Response
{
"catalogue_item_types": [
{
"id": "material",
"name": "Material"
},
{
"id": "service",
"name": "Service"
},
{
"id": "appliance",
"name": "Appliance"
},
{
"id": "sundry",
"name": "Sundry"
}
]
}
This endpoint retrieves the catalogue item types in Jobman.
HTTP Request
GET /api/v1/catalogue-item-types
Catalogue Item Statuses
List Catalogue Item Statuses
Response
{
"catalogue_item_statuses": [
{
"id": "available",
"name": "Available to order"
},
{
"id": "not_available",
"name": "Not available to order"
}
]
}
This endpoint retrieves the catalogue item statuses in Jobman.
HTTP Request
GET /api/v1/catalogue-item-statuses
Catalogue Materials
List all Catalogue Materials
HTTP Request
GET /api/v1/organisations/{organisationId}/catalogue/materials
This endpoint allows you to list all catalogue material items for an organisation.
Response
{
"catalogue_items": {
"data": [
{
"id": "49473cc2-c307-4ccd-a240-b0a8dc28225d",
"name": "FM E0 Colorpanel MDF MR Gloss",
"sku": "FM-954580",
"created_at": "2022-10-18T05:09:28.000000Z",
"updated_at": "2022-10-18T05:09:28.000000Z"
},
{
"id": "70f989a3-0290-427b-9e69-e853a0c050aa",
"name": "Polytec Truffle Lini Createc ABS 1mm",
"sku": "12724",
"created_at": "2022-10-18T05:11:59.000000Z",
"updated_at": "2022-10-18T05:13:11.000000Z"
}
]
}
}
Parameter | Description | Required |
---|---|---|
category | The Uuid for the category of the item | No |
supplier | The Uuid for the supplier of the item | No |
brand | The Uuid for the brand of the item | No |
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Material
HTTP Request
GET /api/v1/organisations/{organisationId}/catalogue/materials/{catalogueItemId}
This endpoint retrieves a specific catalogue material item for an organisation.
Response
{
"catalogue_item": {
"id": "49473cc2-c307-4ccd-a240-b0a8dc28225d",
"name": "FM E0 Colorpanel MDF MR Gloss",
"sku": "FM-954580",
"created_at": "2022-10-18T05:09:28.000000Z",
"updated_at": "2022-10-18T05:09:28.000000Z"
}
}
Add a Catalogue Material
Response
{
"catalogue_item": {
"id": "49473cc2-c307-4ccd-a240-b0a8dc28225d",
"name": "FM E0 Colorpanel MDF MR Gloss",
"sku": "FM-954580",
"created_at": "2022-10-18T05:09:28.000000Z",
"updated_at": "2022-10-18T05:09:28.000000Z"
}
}
This endpoint adds a new catalogue item to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/materials
Parameter | Description | Required |
---|---|---|
name | The name of the Item | Yes |
supplier_id | The contact id that supplies the Item | No |
sku | The sku or product code for the Item | No |
barcode | The barcode for the Item | No |
catalogue_item_category_id | The Id for the category of the item | Yes |
catalogue_item_brand_id | The Id for the brand of the Item | No |
catalogue_item_finish_id | The Id for the finish of the item | No |
colour | The colour of the item | No |
range | The range the item belongs to | No |
size_width | The width of the item | No |
size_length | The length of the item | No |
size_depth | The depth of the item | No |
size_length_unit_id | The Id of the unit of measurement for length of the item | No |
size_volume | The volume of the item | No |
size_volume_unit_id | The Id of the unit of measurement for volume of the item | No |
size_mass | The mass of the item | No |
size_mass_unit_id | The Id of the unit of measurement for mass of the item | No |
price | The price of the item | Yes |
price_unit_id | The Id of the unit of measurement for the price of the item | No |
units_per_price | The number if units that are contained within the item | Yes |
unit_price | The price of each unit in the item | Yes |
unit_price_unit_id | The Id of the unit of measurement for the price of each unit in the item | No |
sell_pricing_strategy | The Id of the selling strategy applied to the item | No |
sell_unit_price_fixed | The fixed sell price of the item | if sell_pricing_strategy = 'fixed' |
custom_overhead_percent | The overhead percentage of the item | No |
custom_wastage_percent | The wastage percentage of the item | No |
custom_profit_percent | The profit percentage of the item | No |
optimisation_id | The unit used to optimise the item | No |
status | The status of the Item | No |
notes | The notes for the item | No |
Update a Catalogue Material
Response
{
"catalogue_item": {
"id": "49473cc2-c307-4ccd-a240-b0a8dc28225d",
"name": "FM E0 Colorpanel MDF MR Satin",
"sku": "FM-954501",
"created_at": "2022-10-18T05:09:28.000000Z",
"updated_at": "2022-10-18T05:09:28.000000Z"
}
}
This endpoint modifies an existing catalogue item for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/catalogue/materials/{catalogueItemId}
Parameter | Description | Required |
---|---|---|
name | The name of the Item | No |
supplier_id | The contact id that supplies the Item | No |
sku | The sku or product code for the Item | No |
barcode | The barcode for the Item | No |
catalogue_item_category_id | The Id for the category of the item | No |
catalogue_item_brand_id | The Id for the brand of the Item | No |
catalogue_item_finish_id | The Id for the category of the item | No |
colour | The colour of the item | No |
range | The range the item belongs to | No |
size_width | The width of the item | No |
size_length | The length of the item | No |
size_depth | The depth of the item | No |
size_length_unit_id | The Id of the unit of measurement for length of the item | No |
size_volume | The volume of the item | No |
size_volume_unit_id | The Id of the unit of measurement for volume of the item | No |
size_mass | The mass of the item | No |
size_mass_unit_id | The Id of the unit of measurement for mass of the item | No |
price | The price of the item | No |
price_unit_id | The Id of the unit of measurement for the price of the item | No |
units_per_price | The number if units that are contained within the item | No |
unit_price | The price of each unit in the item | No |
unit_price_unit_id | The Id of the unit of measurement for the price of each unit in the item | No |
sell_unit_price_fixed | The fixed sell price of the item | if sell_pricing_strategy = 'fixed' |
custom_overhead_percent | The overhead percentage of the item | No |
custom_wastage_percent | The wastage percentage of the item | No |
custom_profit_percent | The profit percentage of the item | No |
optimisation_id | The unit used to optimise the item | No |
status | The status of the Item | No |
notes | The notes for the item | No |
Delete a Catalogue Material
Response
204 | No content
This endpoint deletes a specific catalogue item.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/catalogue/materials/{catalogueItemId}
Delete multiple Catalogue Materials
Response
204 | No content
This endpoint deletes multiple catalogue items.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/materials/delete
`
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue item Ids | Yes |
Restore Catalogue Materials
Response
204 | No content
This endpoint restores one or multiple catalogue items.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/materials/restore
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue item Ids | Yes |
Set Catalogue Materials as Preferred
Response
204 | No content
This endpoint sets one or more catalogue items as preferred
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/materials/set-preferred
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue item Ids | Yes |
Set Catalogue Materials as Not Preferred
Response
204 | No content
This endpoint sets one or more catalogue items as not preferred
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/materials/set-not-preferred
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue item Ids | Yes |
Catalogue Products
List all Catalogue Products
HTTP Request
GET /api/v1/organisations/{organisationId}/catalogue/products
This endpoint allows you to list all catalogue products for an organisation.
Response
{
"products": {
"data": [
{
"id": "1ac39187-de8e-4e4f-81d6-53cdc3231240",
"name": "Appliance Cab",
"created_at": "2023-05-23T03:24:37.000000Z",
"updated_at": "2023-05-23T03:24:37.000000Z"
},
{
"id": "fcd5e7be-40b6-440b-98d5-6435ea55bf94",
"name": "B1 Door",
"created_at": "2023-05-23T03:24:37.000000Z",
"updated_at": "2023-05-23T03:24:37.000000Z"
}
]
}
}
Parameter | Description | Required |
---|---|---|
type | The Uuid for the product type of the product | No |
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Product
HTTP Request
GET /api/v1/organisations/{organisationId}/catalogue/products/{catalogueProductId}
This endpoint retrieves a specific catalogue product for an organisation.
Response
{
"product": {
"id": "1ac39187-de8e-4e4f-81d6-53cdc3231240",
"name": "Appliance Cab",
"created_at": "2023-05-23T03:24:37.000000Z",
"updated_at": "2023-05-23T03:24:37.000000Z"
}
}
Add a Catalogue Product
Response
{
"product": {
"id": "2e426a0f-e177-418e-b00b-57155b1ea706",
"name": "Aluminium - Laminex Handle (869968)",
"created_at": "2023-05-24T06:08:20.000000Z",
"updated_at": "2023-05-24T06:08:20.000000Z"
}
}
This endpoint adds a new catalogue product to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/products
Parameter | Description | Required |
---|---|---|
name | The name of the Product | Yes |
sku | The sku or product code for the Product | No |
barcode | The barcode for the Item | No |
product_type_id | The Uuid for the Product Type of the Product | Yes |
size_width | The width of the item | No |
size_length | The length of the item | No |
size_depth | The depth of the item | No |
size_length_unit_id | The Id of the unit of measurement for length of the item | No |
size_volume | The volume of the item | No |
size_volume_unit_id | The Id of the unit of measurement for volume of the item | No |
size_mass | The mass of the item | No |
size_mass_unit_id | The Id of the unit of measurement for mass of the item | No |
sell_pricing_strategy | The Id of the selling strategy applied to the item | No |
sell_unit_price_fixed | The fixed sell price of the item | if sell_pricing_strategy = 'fixed' |
Update a Catalogue Product
Response
{
"product": {
"id": "1ac39187-de8e-4e4f-81d6-53cdc3231240",
"name": "Appliance Cab",
"created_at": "2023-05-23T03:24:37.000000Z",
"updated_at": "2023-05-23T03:24:37.000000Z"
}
}
This endpoint modifies an existing catalogue product for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/catalogue/products/{catalogueProductId}
Parameter | Description | Required |
---|---|---|
name | The name of the Product | No |
sku | The sku or product code for the Product | No |
barcode | The barcode for the Item | No |
product_type_id | The Uuid for the Product Type of the Product | No |
size_width | The width of the item | No |
size_length | The length of the item | No |
size_depth | The depth of the item | No |
size_length_unit_id | The Id of the unit of measurement for length of the item | No |
size_volume | The volume of the item | No |
size_volume_unit_id | The Id of the unit of measurement for volume of the item | No |
size_mass | The mass of the item | No |
size_mass_unit_id | The Id of the unit of measurement for mass of the item | No |
sell_pricing_strategy | The Id of the selling strategy applied to the item | No |
sell_unit_price_fixed | The fixed sell price of the item | if sell_pricing_strategy = 'fixed' |
Delete a Catalogue Product
Response
204 | No content
This endpoint deletes a specific catalogue product.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/catalogue/products/{catalogueProductId}
Delete multiple Catalogue Products
Response
204 | No content
This endpoint deletes multiple catalogue products.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/products/delete
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue product Ids | Yes |
Restore Catalogue Products
Response
204 | No content
This endpoint restores one or multiple catalogue products.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/products/restore
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue product Ids | Yes |
Catalogue Services
List all Catalogue Services
HTTP Request
GET /api/v1/organisations/{organisationId}/catalogue/services
This endpoint allows you to list all catalogue services for an organisation.
Response
{
"catalogue_items": {
"data": [
{
"id": "8dcee9a6-24b7-4cf0-8dcd-5945aa100299",
"name": "Electrical Certification",
"sku": "BELECCERT",
"created_at": "2023-05-24T07:43:44.000000Z",
"updated_at": "2023-05-24T07:43:44.000000Z"
}
]
}
}
Parameter | Description | Required |
---|---|---|
category | The Uuid for the category of the service | No |
supplier | The Uuid for the supplier of the service | No |
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Service
HTTP Request
GET /api/v1/organisations/{organisationId}/catalogue/services/{catalogueServiceId}
This endpoint retrieves a specific catalogue service for an organisation.
Response
{
"catalogue_item": {
"id": "8dcee9a6-24b7-4cf0-8dcd-5945aa100299",
"name": "Electrical Certification",
"sku": "BELECCERT",
"created_at": "2023-05-24T07:43:44.000000Z",
"updated_at": "2023-05-24T07:43:44.000000Z"
}
}
Add a Catalogue Service
Response
{
"catalogue_item": {
"id": "8dcee9a6-24b7-4cf0-8dcd-5945aa100299",
"name": "Electrical Certification",
"sku": "BELECCERT",
"created_at": "2023-05-24T07:43:44.000000Z",
"updated_at": "2023-05-24T07:43:44.000000Z"
}
}
This endpoint adds a new catalogue service to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/services
Parameter | Description | Required |
---|---|---|
name | The name of the Service | Yes |
supplier_id | The Uuid for the supplier of the Service | Yes |
sku | The sku or service code for the Service | No |
barcode | The barcode for the Item | No |
catalogue_item_category_id | The Uuid for the Category of the Service | Yes |
price | The price of the services | Yes |
price_unit_id | The Id of the unit of measurement for the price of the item | No |
units_per_price | The number if units that are contained within the item | Yes |
unit_price | The price of each unit in the item | Yes |
unit_price_unit_id | The Id of the unit of measurement for the price of each unit in the item | Yes |
sell_pricing_strategy | The Id of the selling strategy applied to the item | No |
sell_unit_price_fixed | The fixed sell price of the item | if sell_pricing_strategy = 'fixed' |
custom_overhead_percent | The overhead percentage of the item | No |
custom_wastage_percent | The wastage percentage of the item | No |
custom_profit_percent | The profit percentage of the item | No |
status | The status of the Item | No |
notes | The notes for the item | No |
Update a Catalogue Service
Response
{
"catalogue_item": {
"id": "8dcee9a6-24b7-4cf0-8dcd-5945aa100299",
"name": "Electrical Certification",
"sku": "BELECCERT",
"created_at": "2023-05-24T07:43:44.000000Z",
"updated_at": "2023-05-24T07:43:44.000000Z"
}
}
This endpoint modifies an existing catalogue service for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/catalogue/services/{catalogueServiceId}
Parameter | Description | Required |
---|---|---|
name | The name of the Service | No |
supplier_id | The Uuid for the supplier of the Service | No |
sku | The sku or service code for the Service | No |
barcode | The barcode for the Item | No |
catalogue_item_category_id | The Uuid for the Category of the Service | No |
price | The price of the services | No |
price_unit_id | The Id of the unit of measurement for the price of the item | No |
units_per_price | The number if units that are contained within the item | No |
unit_price | The price of each unit in the item | No |
unit_price_unit_id | The Id of the unit of measurement for the price of each unit in the item | No |
sell_pricing_strategy | The Id of the selling strategy applied to the item | No |
sell_unit_price_fixed | The fixed sell price of the item | if sell_pricing_strategy = 'fixed' |
custom_overhead_percent | The overhead percentage of the item | No |
custom_wastage_percent | The wastage percentage of the item | No |
custom_profit_percent | The profit percentage of the item | No |
status | The status of the Item | No |
notes | The notes for the item | No |
Delete a Catalogue Service
Response
204 | No content
This endpoint deletes a specific catalogue service.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/catalogue/services/{catalogueServiceId}
Delete multiple Catalogue Services
Response
204 | No content
This endpoint deletes multiple catalogue services.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/services/delete
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue service Ids | Yes |
Restore Catalogue Services
Response
204 | No content
This endpoint restores one or multiple catalogue services.
HTTP Request
POST /api/v1/organisations/{organisationId}/catalogue/services/restore
Parameter | Description | Required |
---|---|---|
ids | An array of catalogue service Ids | Yes |
Catalogue Pricing Strategies
List Catalogue Item Pricing Strategies
Response
{
"pricing_strategies": [
{
"id": "variable",
"name": "Variable"
},
{
"id": "fixed",
"name": "Fixed Price"
}
]
}
This endpoint retrieves the catalogue pricing strategies for catalogue items in Jobman.
HTTP Request
GET /api/v1/catalogue-item-pricing-strategies
List Catalogue Product Pricing Strategies
Response
{
"pricing_strategies": [
{
"id": "variable",
"name": "Variable"
},
{
"id": "fixed",
"name": "Fixed Price"
}
]
}
This endpoint retrieves the catalogue pricing strategies for catalogue products in Jobman.
HTTP Request
GET /api/v1/catalogue-product-pricing-strategies
List Catalogue Product Part Pricing Strategies
Response
{
"pricing_strategies": [
{
"id": "fixed",
"name": "Fixed Price"
},
{
"id": "markup_percent",
"name": "Markup Percentage"
},
{
"id": "markup_amount",
"name": "Markup Amount"
}
]
}
This endpoint retrieves the catalogue pricing strategies for catalogue product parts in Jobman.
HTTP Request
GET /api/v1/catalogue-product-part-pricing-strategies
Contacts
List Contacts
Response
{
"contacts": {
"data": [
{
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_type_name": "Commercial",
"contact_source_id": null,
"contact_source_name": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"street_address_country_name": "Pitcairn",
"street_address_map_latitude": "-26.627146",
"street_address_map_longitude": "136.632755",
"street_address_map_zoom": "10",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"postal_address_country_name": "Russian Federation",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"email_inbox": "abbott-ltd+33b929e35d849524c6a3-email@inbound-dev.jobmanmail.com",
"email_inbox_unread_count": 0,
"email_outbox_count": 0,
"email_scheduled_count": 0,
"email_drafts_count": 0,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:02:34.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"bill_payment_term_label": "14 days after bill date",
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"sales_payment_term_label": "30 days after invoice date",
"created_by": "4590dff6-90fe-498b-8686-230f6335d4ff",
"created_by_name": "Michael Cockrem",
"discount_percent": null,
"discount_percent_label": "No discount",
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"accounting_url": null,
"tax_number": null,
"value": "0.0000",
},
{
"id": "2e2845ae-6358-4eda-ac9d-db9f55645f07",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abernathy Inc",
"contact_type_id": "f52574b5-ad7c-45e9-bc6e-bdc06a9e27bb",
"contact_type_name": "Supplier",
"contact_source_id": null,
"contact_source_name": null,
"phone": "02.1824.1532",
"mobile": null,
"email": "fcarroll@hotmail.com.au",
"website": "http://www.dare.info",
"street_address": "Unit 60 245 Oswaldo Cruiseway, \nEast Blake, Western Australia Pitcairn 2901",
"street_address_line1": "Unit 60 245 Oswaldo Cruiseway",
"street_address_line2": null,
"street_address_city": "East Blake",
"street_address_region": "Western Australia",
"street_address_postal_code": "2901",
"street_address_country_id": "PN",
"street_address_country_name": "Pitcairn",
"street_address_map_latitude": "-23.924693",
"street_address_map_longitude": "131.288597",
"street_address_map_zoom": "11",
"postal_address": "4 Leannon Arcade, \nEbertmouth, Victoria Cyprus 2349",
"postal_address_line1": "4 Leannon Arcade",
"postal_address_line2": null,
"postal_address_city": "Ebertmouth",
"postal_address_region": "Victoria",
"postal_address_postal_code": "2349",
"postal_address_country_id": "CY",
"postal_address_country_name": "Cyprus",
"primary_contact_person_id": null,
"primary_contact_person_name": null,
"primary_contact_person_email": null,
"primary_contact_person_job_title": null,
"primary_contact_person_phone": null,
"primary_contact_person_mobile": null,
"email_inbox": "abernathy-inc+33b929e35d2e284951da-email@inbound-dev.jobmanmail.com",
"email_inbox_unread_count": 0,
"email_outbox_count": 0,
"email_scheduled_count": 0,
"email_drafts_count": 0,
"created_at": "2021-08-06T04:05:02.000000Z",
"updated_at": "2022-10-18T01:18:29.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"bill_payment_term_label": "14 days after bill date",
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"sales_payment_term_label": "30 days after invoice date",
"created_by": "a58bf080-049e-4140-84c0-fd83e3d4f58f",
"created_by_name": "Aaron Crees",
"discount_percent": null,
"discount_percent_label": "No discount",
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"accounting_url": null,
"tax_number": null,
"value": "0.0000"
}
]
}
}
This endpoint retrieves all the contacts for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts
Parameter | Description | Required |
---|---|---|
type | The Uuid of the type of the contact | No |
archived | Boolean flag to filter by archived status | No |
Get a specific Contact
Response
{
"contact": {
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_source_id": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:02:34.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
This endpoint retrieves a specific contact.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}
Add a Contact
Response
{
"contact": {
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_source_id": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:02:34.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts
This endpoint allows you to add a contact
Parameter | Description | Required |
---|---|---|
name | The name of the contact | Yes |
contact_type_id | Id of the contact type | Yes |
contact_source_id | Id of the contact source | No |
phone | The phone number of the contact | No |
The email of the contact | No | |
website | The website of the contact | No |
tax_number | Tax number | No |
street_address_line1 | The first line of the contacts address | No |
street_address_line2 | The second line of the contacts address | No |
street_address_city | The contacts city address | No |
street_address_region | The contacts address region | No |
street_address_postal_code | The contacts post code | No |
street_address_country_id | The country Id for the contacts address | No |
street_address_map_latitude | The contact address latitude | No |
street_address_map_longitude | The contact address longtitude | No |
street_address_map_zoom | The contacts map zoom setting | No |
postal_address_line1 | The first line of the contacts postal address | No |
postal_address_line2 | The second line of the contacts postal address | No |
postal_address_city | The contacts city postal address | No |
postal_address_region | The contacts postal address region | No |
postal_address_postal_code | The contacts post code | No |
postal_address_country_id | The country Id for the contacts address | No |
contact_persons[] | Array of contact persons (see below) | No |
A contact person has the following properties
Parameter | Description | Required |
---|---|---|
first_name | The persons first name | Yes |
last_name | The persons last name | No |
job_title | The persons job title | No |
The persons email address | No | |
phone | The persons phone number | No |
mobile | The persons phone number | No |
Update a Contact
Response
{
"contact": {
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_source_id": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:02:34.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}
This endpoint allows you to update the details of a specific contact.
Parameter | Description | Required |
---|---|---|
name | The name of the contact | Yes |
contact_type_id | Id of the contact type | Yes |
contact_source_id | Id of the contact source | No |
phone | The phone number of the contact | No |
The email of the contact | No | |
website | The website of the contact | No |
tax_number | Tax number | No |
street_address_line1 | The first line of the contacts address | No |
street_address_line2 | The second line of the contacts address | No |
street_address_city | The contacts city address | No |
street_address_region | The contacts address region | No |
street_address_postal_code | The contacts post code | No |
street_address_country_id | The country Id for the contacts address | No |
street_address_map_latitude | The contact address latitude | No |
street_address_map_longitude | The contact address longtitude | No |
street_address_map_zoom | The contacts map zoom setting | No |
postal_address_line1 | The first line of the contacts postal address | No |
postal_address_line2 | The second line of the contacts postal address | No |
postal_address_city | The contacts city postal address | No |
postal_address_region | The contacts postal address region | No |
postal_address_postal_code | The contacts post code | No |
postal_address_country_id | The country Id for the contacts address | No |
Archive a contact
Response
{
"contact": {
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_source_id": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:37:21.000000Z",
"archived_at": "2022-10-20T01:37:21.000000Z",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/archive
This endpoint allows you to archive a specific contact.
Unarchive a contact
Response
{
"contact": {
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_source_id": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:37:37.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/unarchive
This endpoint allows you to unarchive a specific contact.
Archive multiple contacts
Response
{
"contacts": [
{
"id": "d491ecd4-ec1d-4506-aa2a-80aff1294cd6",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abshire PLC",
"contact_type_id": "9291e54e-87f8-4e73-b92b-630931d9a7a9",
"contact_source_id": null,
"phone": "02 9078 9243",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://wilderman.com.au",
"street_address": "Apt. 218 866 Kyla Block, \nCordeliaport, South Australia Chile 2652",
"street_address_line1": "Apt. 218 866 Kyla Block",
"street_address_line2": null,
"street_address_city": "Cordeliaport",
"street_address_region": "South Australia",
"street_address_postal_code": "2652",
"street_address_country_id": "CL",
"postal_address": "560C Tillman Centreway, \nNorth Jasen, Australian Capital Territory Egypt 2471",
"postal_address_line1": "560C Tillman Centreway",
"postal_address_line2": null,
"postal_address_city": "North Jasen",
"postal_address_region": "Australian Capital Territory",
"postal_address_postal_code": "2471",
"postal_address_country_id": "EG",
"primary_contact_person_id": "03157f2b-4a57-4ea8-bf66-1c071748480e",
"primary_contact_person_name": "Karine Herzog",
"primary_contact_person_email": "wheidenreich@example.com",
"primary_contact_person_job_title": "Physician Assistant",
"primary_contact_person_phone": "0293.9616",
"primary_contact_person_mobile": null,
"created_at": "2023-03-09T14:44:51.000000Z",
"updated_at": "2023-05-25T02:06:09.000000Z",
"archived_at": "2023-05-25T02:06:09.000000Z",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
]
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/archive
This endpoint allows you to archive multiple contacts.
Parameter | Description | Required |
---|---|---|
ids | Array of contact ids to be archived | Yes |
Unarchive multiple contacts
Response
{
"contacts": [
{
"id": "d491ecd4-ec1d-4506-aa2a-80aff1294cd6",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abshire PLC",
"contact_type_id": "9291e54e-87f8-4e73-b92b-630931d9a7a9",
"contact_source_id": null,
"phone": "02 9078 9243",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://wilderman.com.au",
"street_address": "Apt. 218 866 Kyla Block, \nCordeliaport, South Australia Chile 2652",
"street_address_line1": "Apt. 218 866 Kyla Block",
"street_address_line2": null,
"street_address_city": "Cordeliaport",
"street_address_region": "South Australia",
"street_address_postal_code": "2652",
"street_address_country_id": "CL",
"postal_address": "560C Tillman Centreway, \nNorth Jasen, Australian Capital Territory Egypt 2471",
"postal_address_line1": "560C Tillman Centreway",
"postal_address_line2": null,
"postal_address_city": "North Jasen",
"postal_address_region": "Australian Capital Territory",
"postal_address_postal_code": "2471",
"postal_address_country_id": "EG",
"primary_contact_person_id": "03157f2b-4a57-4ea8-bf66-1c071748480e",
"primary_contact_person_name": "Karine Herzog",
"primary_contact_person_email": "wheidenreich@example.com",
"primary_contact_person_job_title": "Physician Assistant",
"primary_contact_person_phone": "0293.9616",
"primary_contact_person_mobile": null,
"created_at": "2023-03-09T14:44:51.000000Z",
"updated_at": "2023-05-25T02:06:09.000000Z",
"archived_at": "2023-05-25T02:06:09.000000Z",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
]
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/unarchive
This endpoint allows you to unarchive multiple contacts.
Parameter | Description | Required |
---|---|---|
ids | Array of contact ids to be unarchived | Yes |
Merge contacts
Response
{
"contact": {
"id": "84952a49-59a0-4b45-af54-6c1e0b52593f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abbott Ltd",
"contact_type_id": "c58a1e72-6d3a-4351-9acb-3e9626603ec5",
"contact_source_id": null,
"phone": "(03)-3099-7889",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://www.hermann.com",
"street_address": "94 Brady Chase, \nCruickshankville, Queensland Pitcairn 2666",
"street_address_line1": "94 Brady Chase",
"street_address_line2": null,
"street_address_city": "Cruickshankville",
"street_address_region": "Queensland",
"street_address_postal_code": "2666",
"street_address_country_id": "PN",
"postal_address": "528 Jacquelyn Freeway, \nPort Juvenalside, Tasmania Russian Federation 0855",
"postal_address_line1": "528 Jacquelyn Freeway",
"postal_address_line2": null,
"postal_address_city": "Port Juvenalside",
"postal_address_region": "Tasmania",
"postal_address_postal_code": "0855",
"postal_address_country_id": "RU",
"primary_contact_person_id": "c72b1101-b592-4a0e-a2b8-5aa66029ce37",
"primary_contact_person_name": "Yessenia Witting",
"primary_contact_person_email": "marcellus21@example.com",
"primary_contact_person_job_title": "Public Relations Specialist",
"primary_contact_person_phone": "+61 3 6832 2521",
"primary_contact_person_mobile": null,
"created_at": "2022-04-30T20:45:08.000000Z",
"updated_at": "2022-10-20T01:37:37.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/merge
This endpoint allows you to merge multiple contacts (ids) into a single contact (contactId).
Parameter | Description | Required |
---|---|---|
ids | Array of contact ids to be merged | Yes |
Update multiple contact types
Response
{
"contacts": [
{
"id": "6ebca6ec-9d92-4751-8cb0-1ffa9bf5fcdd",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Auer, Predovic and Kub",
"contact_type_id": "67688883-d413-4246-a07f-c360f09a39b4",
"contact_source_id": null,
"phone": "7221 5604",
"mobile": null,
"email": "chauncey.legros@hotmail.com",
"website": "https://ryan.net",
"street_address": "652D Hartmann Deviation, \nGerlachshire, Australian Capital Territory Jamaica 2312",
"street_address_line1": "652D Hartmann Deviation",
"street_address_line2": null,
"street_address_city": "Gerlachshire",
"street_address_region": "Australian Capital Territory",
"street_address_postal_code": "2312",
"street_address_country_id": "JM",
"postal_address": "19C Ernser Service Way, \nShakirafurt, Australian Capital Territory Antigua and/or Barbuda 2656",
"postal_address_line1": "19C Ernser Service Way",
"postal_address_line2": null,
"postal_address_city": "Shakirafurt",
"postal_address_region": "Australian Capital Territory",
"postal_address_postal_code": "2656",
"postal_address_country_id": "AG",
"primary_contact_person_id": "b828c95a-2633-4299-93b5-4670cbbd37b7",
"primary_contact_person_name": "Ed Gorczany",
"primary_contact_person_email": "hillard63@example.com",
"primary_contact_person_job_title": "Recyclable Material Collector",
"primary_contact_person_phone": "+61-7-5465-8906",
"primary_contact_person_mobile": null,
"created_at": "2022-08-11T20:50:02.000000Z",
"updated_at": "2023-05-25T07:23:12.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
},
{
"id": "d491ecd4-ec1d-4506-aa2a-80aff1294cd6",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abshire PLC",
"contact_type_id": "67688883-d413-4246-a07f-c360f09a39b4",
"contact_source_id": null,
"phone": "02 9078 9243",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://wilderman.com.au",
"street_address": "Apt. 218 866 Kyla Block, \nCordeliaport, South Australia Chile 2652",
"street_address_line1": "Apt. 218 866 Kyla Block",
"street_address_line2": null,
"street_address_city": "Cordeliaport",
"street_address_region": "South Australia",
"street_address_postal_code": "2652",
"street_address_country_id": "CL",
"postal_address": "560C Tillman Centreway, \nNorth Jasen, Australian Capital Territory Egypt 2471",
"postal_address_line1": "560C Tillman Centreway",
"postal_address_line2": null,
"postal_address_city": "North Jasen",
"postal_address_region": "Australian Capital Territory",
"postal_address_postal_code": "2471",
"postal_address_country_id": "EG",
"primary_contact_person_id": "03157f2b-4a57-4ea8-bf66-1c071748480e",
"primary_contact_person_name": "Karine Herzog",
"primary_contact_person_email": "wheidenreich@example.com",
"primary_contact_person_job_title": "Physician Assistant",
"primary_contact_person_phone": "0293.9616",
"primary_contact_person_mobile": null,
"created_at": "2023-03-09T14:44:51.000000Z",
"updated_at": "2023-05-25T07:22:40.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
]
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/update-contact-type
This endpoint allows you to change the contact type for multiple contacts.
Parameter | Description | Required |
---|---|---|
ids | Array of contact ids to be updated | Yes |
contact_type_id | The Uuid of the contact type | Yes |
Contact Emails
List Contact Emails
Response
{
"emails": {
"data": [
{
"id": "036d484f-5adb-4398-a409-5a573ccb1431",
"from": "sales@jobman.com",
"to": "sales@finessecabinets.com.au",
"reply_to": null,
"cc": ["info@example.com"],
"bcc": ["md@finessecabinets.com.au"],
"subject": "Quote 2206-001/01 Accepted",
"body": "Find the attached items and prices",
"attachments": null,
"template_id": null,
"created_at": "2022-06-21T05:02:12.000000Z",
"updated_at": "2022-06-21T05:09:53.000000Z"
},
{
"id": "390e3975-2617-4731-af3c-f9b7101c876a",
"from": "sales@finessecabinets.com.au",
"to": "darrell46@jaskolski.edu",
"reply_to": null,
"cc": [""],
"bcc": [""],
"subject": "Quote 2206-001/01",
"body": "<p>Hi Abshire-Ferry,</p>\n\n<p>Thank you for your enquiry.</p>\n\n<p>Here's quote 2206-001/01 for $AUD 100.00.</p>\n\n<p>View your quote online:<br><a class=\"underline\" href=\"http://localhost:1962/#public/quotes/33b928af-f0b5-42f9-ae2f-48dba38929ca/7217353e-4ff0-4b04-bf5e-09b7600b25fd\">http://localhost:1962/#public/quotes/33b928af-f0b5-42f9-ae2f-48dba38929ca/7217353e-4ff0-4b04-bf5e-09b7600b25fd</a></p>\n\n<p>From your online quote, you can accept, decline, comment or print.</p>\n\n<p>Thanks,<br>\nFinesse Cabinets</p>",
"attachments": [
{
"name": "quote.pdf",
"path": "/quote.pdf",
"type": "application/pdf",
"size": 17619,
"size_formatted": "17 KB",
"url": "http://identity.jobman.io/storage/main/quote.pdf",
"modified_at": 1656053602,
"extension": "pdf"
}
],
"template_id": "6b93d18d-27a8-4489-85f1-7b752b61d84b",
"created_at": "2022-06-21T04:57:18.000000Z",
"updated_at": "2022-06-21T04:57:22.000000Z"
}
]
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}/emails
This endpoint allows you to list all emails for a specific contact.
Parameter | Description | Required |
---|---|---|
thread | The Uuid of the thread to filter emails by | No |
folder | The id of the folder to filter emails by | No |
trashed | Boolean flag to filter by trashed status | No |
Get a Contact Email
Response
{
"email": {
"id": "036d484f-5adb-4398-a409-5a573ccb1431",
"from": "sales@jobman.com",
"to": "sales@finessecabinets.com.au",
"reply_to": null,
"cc": ["info@example.com"],
"bcc": [""],
"subject": "Quote 2206-001/01 Accepted",
"body": "Find the attached items and prices",
"attachments": null,
"template_id": null,
"created_at": "2022-06-21T05:02:12.000000Z",
"updated_at": "2022-06-21T05:09:53.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}
This endpoint allows you to retrieve specific email for a contact.
Add a Contact Email
Response
{
"email": {
"id": "036d484f-5adb-4398-a409-5a573ccb1431",
"from": "sales@jobman.com",
"to": "sales@finessecabinets.com.au",
"reply_to": null,
"cc": ["testy@example.com"],
"bcc": [""],
"subject": "Quote 2206-001/01 Accepted",
"body": "Find the attached items",
"attachments": [
{
"name": "quote.pdf",
"path": "/quote.pdf",
"type": "application/pdf",
"size": 17619,
"size_formatted": "17 KB",
"url": "http://identity.jobman.io/storage/main/quote.pdf",
"modified_at": 1656053602,
"extension": "pdf"
}
],
"template_id": null,
"created_at": "2022-06-21T05:02:12.000000Z",
"updated_at": "2022-06-21T05:09:53.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails
This endpoint allows you to create a specific email for a contact.
Parameter | Description | Required |
---|---|---|
to | A valid email address | No |
cc | An array of valid email addresses | No |
bcc | An array of valid email addresses | No |
subject | Short descriptive label for the email | No |
body | Main content for the email | No |
attachments | An array of files | No |
template_id | The template for the mail | No |
replying_to_id | The id of the email replied to | No |
Update a Contact Email
Response
{
"email": {
"id": "036d484f-5adb-4398-a409-5a573ccb1431",
"from": "sales@jobman.com",
"to": "sales@finessecabinets.com.au",
"reply_to": null,
"cc": ["testy@example.com"],
"bcc": [""],
"subject": "Quote 2206-001/01 Accepted",
"body": "Find the attached items",
"attachments": null,
"template_id": null,
"created_at": "2022-06-21T05:02:12.000000Z",
"updated_at": "2022-06-21T05:09:53.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}
This endpoint allows you to update a specific email for a contact.
Parameter | Description | Required |
---|---|---|
to | A valid email address | No |
cc | An array of valid email addresses | No |
bcc | An array of valid email addresses | No |
subject | Short descriptive label for the email | No |
body | Main content for the email | No |
attachments | An array of files | No |
template_id | The template for the email | No |
Delete a Contact Email
Response
204 | No content
HTTP Request
DELETE /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}
This endpoint allows you to delete specific email for a contact.
Restore multiple Contact Emails
Response
204 | No content
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/restore
This endpoint allows you to restore multiple emails for a contact.
Parameter | Description | Required |
---|---|---|
ids | Array of contact email UUids to be restored | Yes |
Archive a Contact Email
Response
204 | No content
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}/archive
This endpoint allows you to archive a specific email for a contact.
Unarchive a Contact Email
Response
204 | No content
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}/unarchive
This endpoint allows you to unarchive a specific email for a contact.
Mark a Contact Email as unread
Response
204 | No content
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}/unread
This endpoint allows you to mark a specific email as unread.
Preview a Contact Email
Response
{
"preview": {
"template_id": "f4796e3a-5611-43bd-87a7-ca4a339c9ff3",
"to": "test@test.com",
"subject": "Latest Project",
"body": "Please find the latest quote for your project",
"content": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <script src=\"https://cdn.tailwindcss.com?plugins=typography\"></script>\n</head>\n<body class=\"font-sans p-4\">\n <p class=\"my-6\">\n <img style=\"width:auto;height:50px\" src=\"http://identity.jobman.io/storage/main/finessecabinets-logo.png\">\n </p>\n <div class=\"prose-sm\">\n Please find the latest quote for your project\n </div>\n</body>\n</html>",
"content_url": "http://identity.jobman.io/storage/main/templates/d8f4bfb5-2f1d-4b20-afeb-00d324c34b79/content.html"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/preview
This endpoint allows you to preview the details for a specific email for a contact.
Parameter | Description | Required |
---|---|---|
template_id | The id for the template used | Yes |
to | The email address of the recipient | Yes |
cc | An array of valid email addresses | No |
bcc | An array of valid email addresses | No |
subject | Short descriptive subject | Yes |
body | The main content of the email | Yes |
replying_to_id | The id of the email replied to | No |
name | The name to be used in the "{{name}}" merge tag | No |
Send a Contact Email
Response
{
"email": {
"id": "c9817b71-34df-407f-b93b-40036dfce9de",
"from": "sales@finessecabinets.com.au",
"to": "johnjobman3@gmail.com",
"reply_to": null,
"cc": ["info@example.com"],
"bcc": ["md@finessecabinets.com.au"],
"subject": "New Test Email to be Scheduled",
"body": "Here is the postman content",
"attachments": null,
"template_id": "7598fd02-e7f8-49b0-96e7-d6485f7564a3",
"created_at": "2022-06-24T07:07:26.000000Z",
"updated_at": "2022-06-24T07:07:33.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/emails/{emailId}/send
This endpoint allows you to send an email for a contact.
Contact Exports
List Contact Exports
Response
{
"contact_exports": {
"data": [
{
"id": "cfc1117b-e68f-4fa3-ae2b-ff0f0bd270fe",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94807d37-99ef-48c6-a02b-11f22d83027e",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": false,
"created_at": "2021-09-28T02:22:54.000000Z",
"updated_at": "2021-09-28T02:22:54.000000Z"
},
{
"id": "51abd210-56fc-42dd-a902-ca891e8e887a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94807bc0-4a9f-489d-90c4-825a1fa6e09f",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": false,
"created_at": "2021-09-28T02:18:47.000000Z",
"updated_at": "2021-09-28T02:18:47.000000Z"
}
]
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/exports
This endpoint allows you to list all contact exports.
Get a Contact Export
This endpoint allows you to retrieve specific export's details.
Response
{
"contact_export": {
"id": "cfc1117b-e68f-4fa3-ae2b-ff0f0bd270fe",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94807d37-99ef-48c6-a02b-11f22d83027e",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": false,
"created_at": "2021-09-28T02:22:54.000000Z",
"updated_at": "2021-09-28T02:22:54.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/exports/{contactExportId}
Create a Contact Export
Response
{
"contact_export": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": true,
"created_at": "2021-09-28T08:10:22.000000Z",
"updated_at": "2021-09-28T08:10:22.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/exports
This endpoint allows you to create a contacts export.
Parameter | Description | Required |
---|---|---|
types_selection | 'all' or 'selected' contact types | Yes |
types_selection_ids | An array of contact type IDs | if selection = 'selected' |
include_archived | true/false to include archived | No, defaults to false |
Update a Contact Export
Response
{
"contact_export": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": true,
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/exports/{contactExportID}
This endpoint allows you to update the export
Parameter | Description | Required |
---|---|---|
types_selection | 'all' or 'selected' contact types | Yes |
types_selection_ids | An array of contact type IDs | if selection = 'selected' |
include_archived | true/false to include archived | No, defaults to false |
Start a Contact Export
Response
{
"contact_export": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "9480fa19-1a7a-41d4-a088-67e259a5ec8d",
"status": "started",
"status_name": "Started",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": true,
"created_at": "2021-09-28T08:10:22.000000Z",
"updated_at": "2021-09-28T08:10:22.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/exports/{contactExportID}/start
This endpoint starts the export.
Cancel a Contact Export
Response
{
"contact_export": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "9480fa19-1a7a-41d4-a088-67e259a5ec8d",
"status": "cancelled",
"status_name": "Cancelled",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"types_selection": "all",
"types_selection_ids": [],
"include_archived": true,
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/exports/{contactExportID}/cancel
This endpoint cancels the export.
Contact Files
List Contact files
Response
{
"files": [
{
"name": "Images",
"path": "Images",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Videos",
"path": "Videos",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Photo.png",
"path": "Photo.png",
"type": "file",
"size": 164847,
"url": "https://jobmanapp.com/storage/files/Organisation%2FImages%2FCabinets%2FImage.png?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca&signature=e5a4bfe6cdfe78cf04afe016f082270847709144adb757ea439a686f5c24bb76",
"last_modified": 1643961457,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}/files
This endpoint allows you to list the contents of a folder or return a file resource at a given path.
Parameter | Description | Required |
---|---|---|
path | the path of the file/folder | No |
Store Contact files
Response
{}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/files
This endpoint allows you to store uploaded files.
Parameter | Description | Required |
---|---|---|
files | An array of upload resources, see Uploads | Yes |
path | the path of the folder to upload the file into | No |
Create a Contact folder
Response
{}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/files/{path}
This endpoint allows you to create a folder.
Parameter | Description | Required |
---|---|---|
folder_name | The folder's name | Yes |
path | the path name of the folder to add the folder into | No |
Delete a Contact file or folder
Response
{}
HTTP Request
DELETE /api/v1/organisations/{organisationId}/contacts/{contactId}/files
This endpoint allows you to delete a contact file or folder.
Parameter | Description | Required |
---|---|---|
path | the path of the file/folder to delete | No |
Rename a Contact file
Response
{}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/files
This endpoint allows you to rename the file specified by the path using the file_name
parameter.
Parameter | Description | Required |
---|---|---|
path | the path of the file to rename | Yes |
file_name | The new file name | Yes |
Rename a Contact folder
Response
{}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/files
This endpoint allows you to rename the folder specified by the path using the folder_name
parameter.
Parameter | Description | Required |
---|---|---|
path | the path of the folder to rename | Yes |
folder_name | The new folder name | Yes |
Move a Contact file or folder
Response
{}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/files/move
This endpoint allows you to move a file or folder to a different location within contact's directory.
Parameter | Description | Required |
---|---|---|
source | The source path in url-encoded format | Yes |
destination | The destination path in url-encoded format | Yes, empty path implies the contact's root folder |
Contact Imports
List Contact Imports
Response
{
"contact_imports": {
"data": [
{
"id": "a6f2990f-dbdb-4e9d-8182-e484a6f48fd5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94cb47a5-03bf-4cd0-ad22-e2c9d42b1963",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-11-04T06:40:10.000000Z",
"uploaded_file": {
"name": "contact-import-template (1).csv",
"path": "9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template (1).csv",
"type": "text/plain",
"size": 757,
"size_formatted": "757 B",
"url": "http://example.com/storage/main/9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"modified_at": 1636008009
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": false
},
{
"id": "e399523a-cb85-4bb9-bdbc-6ca81b52cee5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "failed",
"status_name": "Failed",
"progress": 0,
"warnings": [],
"errors": ["Required columns not found in file: Street Address Line 1, Street Address Line 2"],
"stats": [],
"results": []
},
"created_at": "2021-11-04T06:38:00.000000Z",
"uploaded_file": {
"name": "contact-import-template.csv",
"path": "8a882f72-3d9e-4fba-8886-cf1c15a5db35/contact-import-template.csv",
"type": "text/plain",
"size": 47,
"size_formatted": "47 B",
"url": "http://example.com/storage/main/8a882f72-3d9e-4fba-8886-cf1c15a5db35/contact-import-template.csv",
"modified_at": 1636007879
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": false
}
]
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/imports
This endpoint allows you to list all contact imports.
Get a Contact Import
Response
{
"contact_import": {
"id": "a6f2990f-dbdb-4e9d-8182-e484a6f48fd5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94cb47a5-03bf-4cd0-ad22-e2c9d42b1963",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-11-04T06:40:10.000000Z",
"uploaded_file": {
"name": "contact-import-template.csv",
"path": "9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"type": "text/plain",
"size": 757,
"size_formatted": "757 B",
"url": "http://example.com/storage/main/9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"modified_at": 1636008009
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": false
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/imports/{contactImportId}
This endpoint allows you to retrieve specific import's details.
Create a Contact Import
Response
{
"contact_import": {
"id": "a6f2990f-dbdb-4e9d-8182-e484a6f48fd5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94cb47a5-03bf-4cd0-ad22-e2c9d42b1963",
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": []
},
"created_at": "2021-11-04T06:40:10.000000Z",
"uploaded_file": {
"name": "contact-import-template.csv",
"path": "9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"type": "text/plain",
"size": 757,
"size_formatted": "757 B",
"url": "http://example.com/storage/main/9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"modified_at": 1636008009
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": false
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/imports
This endpoint allows you to create a contacts import.
Parameter | Description | Required |
---|---|---|
uploaded_file | The file containing the contacts to be uploaded | Yes |
add_new_types | Boolean flag to create new contact types if they dont exist | No default false |
add_new_sources | Boolean flag to create new contact sources if they dont exist | No default false |
update_payment_terms | Boolean flag to update the contact's payment terms | No default false |
Update a Contact Import
Response
{
"contact_import": {
"id": "a6f2990f-dbdb-4e9d-8182-e484a6f48fd5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94cb47a5-03bf-4cd0-ad22-e2c9d42b1963",
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": []
},
"created_at": "2021-11-04T06:40:10.000000Z",
"uploaded_file": {
"name": "new-contact-import-template.csv",
"path": "9301f731-3f7a-4d3b-bf57-a211f2c11b23/new-contact-import-template.csv",
"type": "text/plain",
"size": 757,
"size_formatted": "757 B",
"url": "http://example.com/storage/main/9301f731-3f7a-4d3b-bf57-a211f2c11b23/new-contact-import-template.csv",
"modified_at": 1636008009
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": false
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/imports/{contactImportID}
This endpoint allows you to update the import.
Parameter | Description | Required |
---|---|---|
uploaded_file | The file containing the contacts to be uploaded | Yes |
add_new_types | Boolean flag to create new contact types if they dont exist | No default false |
add_new_sources | Boolean flag to create new contact sources if they dont exist | No default false |
update_payment_terms | Boolean flag to update the contact's payment terms | No default false |
Start a Contact Import
Response
{
"contact_import": {
"id": "a6f2990f-dbdb-4e9d-8182-e484a6f48fd5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94cb47a5-03bf-4cd0-ad22-e2c9d42b1963",
"status": "started",
"status_name": "Started",
"progress": 50,
"warnings": [],
"errors": [],
"stats": []
},
"created_at": "2021-11-04T06:40:10.000000Z",
"uploaded_file": {
"name": "contact-import-template.csv",
"path": "9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"type": "text/plain",
"size": 757,
"size_formatted": "757 B",
"url": "http://example.com/storage/main/9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"modified_at": 1636008009
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": fals
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/imports/{contactImportID}/start
This endpoint starts the import.
Cancel a Contact Import
Response
{
"contact_import": {
"id": "a6f2990f-dbdb-4e9d-8182-e484a6f48fd5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94cb47a5-03bf-4cd0-ad22-e2c9d42b1963",
"status": "cancelled",
"status_name": "Cancelled",
"progress": 100,
"warnings": [],
"errors": [],
"stats": []
},
"created_at": "2021-11-04T06:40:10.000000Z",
"uploaded_file": {
"name": "contact-import-template.csv",
"path": "9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"type": "text/plain",
"size": 757,
"size_formatted": "757 B",
"url": "http://example.com/storage/main/9301f731-3f7a-4d3b-bf57-a211f2c11b23/contact-import-template.csv",
"modified_at": 1636008009
},
"add_new_types": false,
"add_new_sources": false,
"update_payment_terms": false
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactImportID}/cancel
This endpoint cancels the import.
Contact Persons
List Persons associated with a Contact
Response
{
"contact_persons": [
{
"id": "da877812-5bc1-421f-a7f2-9eaad1dc8631",
"name": "Andreane Carroll",
"first_name": "Andreane",
"last_name": "Carroll",
"job_title": "Aircraft Rigging Assembler",
"phone": "(03)15723078",
"mobile": null,
"email": "malachi04@example.com",
"created_at": "2021-09-02T08:41:34.000000Z",
"updated_at": "2021-09-02T08:41:34.000000Z"
},
{
"id": "bed2eea2-84f9-43d1-a707-62f7553782c8",
"name": "Angelica Tremblay",
"first_name": "Angelica",
"last_name": "Tremblay",
"job_title": "Radiologic Technician",
"phone": "+61.2.2543.3631",
"mobile": null,
"email": "koepp.gregoria@example.com",
"created_at": "2021-09-02T08:41:34.000000Z",
"updated_at": "2021-09-02T08:41:34.000000Z"
}
]
}
This endpoint retrieves all the contact persons for a specific contact.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}/persons
Add a Contact Person
Response
{
"contact_person": {
"id": "bed2eea2-84f9-43d1-a707-62f7553782c8",
"name": "Angelica Tremblay",
"first_name": "Angelica",
"last_name": "Tremblay",
"job_title": "Radiologic Technician",
"phone": "+61.2.2543.3631",
"mobile": null,
"email": "koepp.gregoria@example.com",
"created_at": "2021-09-02T08:41:34.000000Z",
"updated_at": "2021-09-02T08:41:34.000000Z"
}
}
This endpoint adds a new contact person to a specific contact.
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/persons
Parameter | Description | Required |
---|---|---|
first_name | First name of the contact person | Required if last_name is empty |
last_name | Last name of the contact person | Required if first_name is empty |
job_title | Job title of the contact person | No |
Email of the contact person | No | |
phone | Phone number of the contact person | No |
mobile | Mobile number of the contact person | No |
Get a Contact Person
Response
{
"contact_person": {
"id": "3a9bb872-dfa6-4f6b-ac2d-e11f51fbaed6",
"name": "Dorothea Stamm",
"first_name": "Dorothea",
"last_name": "Stamm",
"job_title": "Natural Sciences Manager",
"phone": "76235316",
"email": "francisco.kessler@example.org",
"created_at": "2021-09-02T08:41:34.000000Z",
"updated_at": "2021-09-02T08:41:34.000000Z"
}
}
This endpoint retrieves a specific contact person from a specific contact.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}/persons/{contactPersonId}
Update a Contact Person
Response
{
"contact_person": {
"id": "3a9bb872-dfa6-4f6b-ac2d-e11f51fbaed6",
"name": "Dorothea Stamm",
"first_name": "Dorothea",
"last_name": "Stamm",
"job_title": "Natural Sciences Manager",
"phone": "76235316",
"mobile": null,
"email": "francisco.kessler@example.org",
"created_at": "2021-09-02T08:41:34.000000Z",
"updated_at": "2021-09-02T08:41:34.000000Z"
}
}
This endpoint updates a specific contact person from a specific contact.
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/persons/{contactPersonId}
Parameter | Description | Required |
---|---|---|
first_name | First name of the contact person | Required if last_name is empty |
last_name | Last name of the contact person | Required if first_name is empty |
job_title | Job title of the contact person | No |
Email of the contact person | No | |
phone | Phone number of the contact person | No |
mobile | Mobile number of the contact person | No |
Remove a Contact Person
Response
204 | No content
This endpoint deletes a specific contact person from a specific contact.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/contacts/{contactId}/persons/{contactPersonId}
Nominate a contact person as the primary contact
Response
{
"primary_contact_person": {
"id": "d491ecd4-ec1d-4506-aa2a-80aff1294cd6",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Abshire PLC",
"contact_type_id": "67688883-d413-4246-a07f-c360f09a39b4",
"contact_source_id": null,
"phone": "02 9078 9243",
"mobile": null,
"email": "justin@jobman.com.au",
"website": "http://wilderman.com.au",
"street_address": "Apt. 218 866 Kyla Block, \nCordeliaport, South Australia Chile 2652",
"street_address_line1": "Apt. 218 866 Kyla Block",
"street_address_line2": null,
"street_address_city": "Cordeliaport",
"street_address_region": "South Australia",
"street_address_postal_code": "2652",
"street_address_country_id": "CL",
"postal_address": "560C Tillman Centreway, \nNorth Jasen, Australian Capital Territory Egypt 2471",
"postal_address_line1": "560C Tillman Centreway",
"postal_address_line2": null,
"postal_address_city": "North Jasen",
"postal_address_region": "Australian Capital Territory",
"postal_address_postal_code": "2471",
"postal_address_country_id": "EG",
"primary_contact_person_id": "96303342-27d9-4dc5-9aa4-e367d224db9a",
"primary_contact_person_name": "John Smith",
"primary_contact_person_avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=FE5000&color=FFFFFF&rounded=true&name=John+Smith",
"primary_contact_person_email": "example@jobman.com.au",
"primary_contact_person_job_title": "Owner",
"primary_contact_person_phone": "0855555555",
"primary_contact_person_mobile": null,
"created_at": "2023-03-09T14:44:51.000000Z",
"updated_at": "2023-05-26T06:18:07.000000Z",
"archived_at": null,
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"discount_percent": null,
"accounting_xero_id": null,
"accounting_myob_id": null,
"accounting_quickbooks_online_id": null,
"tax_number": null,
"value": "0.0000"
}
}
This endpoint allocates a contact person to the primary contact person role
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/{contactId}/primary-contact-person
Parameter | Description | Required |
---|---|---|
contact_person_id | Id of the contact person | Yes |
Contact Sources
List contact sources
Response
{
"contact_sources": {
"data": [
{
"id": "3f76b411-795a-45b4-849c-ea70fff024f8",
"name": "Facebook",
"created_at": "2021-08-13T08:05:42.000000Z",
"updated_at": "2021-08-13T08:05:42.000000Z"
},
{
"id": "545a34b8-86c8-466f-8ad3-695ae2bce286",
"name": "Google",
"created_at": "2021-08-13T07:37:52.000000Z",
"updated_at": "2021-08-13T07:37:52.000000Z"
}
]
}
}
This endpoint retrieves all active contact sources for the organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/sources
For more see Settings > Contact Sources.
Add new contact source
Response
{
"contact_source": {
"id": "c65f03d3-4f68-4f74-9886-a807b9c1264f",
"name": "Twitter",
"created_at": "2021-08-16T03:44:14.000000Z",
"updated_at": "2021-08-16T03:44:14.000000Z"
}
}
This endpoint adds a new contact source.
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/sources
Parameter | Description |
---|---|
name | Name of new contact source |
For more see Settings > Contact Sources.
Contact Syncs
List all contact synchronisations
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/syncs
This endpoint allows you to list all contact synchronisations.
Response
{
"contact_syncs": {
"data": [
{
"id": "cfc1117b-e68f-4fa3-ae2b-ff0f0bd270fe",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94807d37-99ef-48c6-a02b-11f22d83027e",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"cache.skipped": 1
},
"results": ["1 existing contact updated in Xero", "1 existing contact was updated from Xero"]
},
"created_at": "2021-09-28T02:22:54.000000Z"
},
{
"id": "bd32cf29-bcb2-447f-8f62-65d9631e565c",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "9480725e-e0a6-4a72-9edd-4d52786da450",
"status": "started",
"status_name": "Started",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-09-28T01:52:27.000000Z"
}
]
}
}
Get a specific contact synchronisation
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/syncs/{contactSyncId}
This endpoint allows you to retrieve specific synchronisation's details.
Response
{
"contact_sync": {
"id": "cfc1117b-e68f-4fa3-ae2b-ff0f0bd270fe",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "94807d37-99ef-48c6-a02b-11f22d83027e",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"cache.skipped": 1
},
"results": ["1 existing contact updated in Xero", "1 existing contact was updated from Xero"]
},
"created_at": "2021-09-28T02:22:54.000000Z"
}
}
Create a synchronisation
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/syncs
This endpoint allows you to create a contacts synchronisation.
Response
{
"contact_sync": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
Update an contact synchronisation
HTTP Request
PUT /api/v1/organisations/{organisationId}/contacts/syncs/{contactSyncId}
This endpoint allows you to update a contact synchronisation.
Response
{
"contact_sync": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
Start a contact synchronisation
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/syncs/{contactSyncId}/start
This endpoint starts a specific synchronisation.
Response
{
"contact_sync": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "9480fa19-1a7a-41d4-a088-67e259a5ec8d",
"status": "started",
"status_name": "Started",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
Cancel a contact synchronisation
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/syncs/{contactSyncId}/cancel
This endpoint cancels a specific synchronisation.
Response
{
"contact_sync": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "9480fa19-1a7a-41d4-a088-67e259a5ec8d",
"status": "cancelled",
"status_name": "Cancelled",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"cache.skipped": 1
},
"results": ["1 existing contact updated in Xero", "1 existing contact was updated from Xero"]
},
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
Contact Types
List contact types
Response
{
"contact_types": {
"data": [
{
"id": "cacc120b-239a-41dd-9ce7-108a837e8a5b",
"name": "Commercial",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"created_at": "2023-05-23T03:24:33.000000Z",
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"updated_at": "2023-05-23T03:24:33.000000Z",
"discount_percent": null,
"staff_role_selection": "all",
"staff_roles": []
},
{
"id": "0029d319-6172-43d2-a799-8adde0927563",
"name": "Supplier",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"created_at": "2023-05-23T03:24:28.000000Z",
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"updated_at": "2023-05-23T03:24:28.000000Z",
"discount_percent": null,
"staff_role_selection": "all",
"staff_roles": []
}
]
}
}
This endpoint retrieves the active contact types for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/types
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
For more see Settings > Contact Types.
Add new contact type
Response
{
"contact_type": {
"id": "04f3b51a-d340-4d6d-ae12-c2a3087ef0e2",
"name": "Architect",
"bill_payment_term_id": "DAYSAFTERBILLDATE",
"bill_payment_term_days": "14",
"created_at": "2023-05-26T07:14:52.000000Z",
"sales_payment_term_id": "DAYSAFTERBILLDATE",
"sales_payment_term_days": "30",
"updated_at": "2023-05-26T07:14:52.000000Z",
"discount_percent": "0",
"staff_role_selection": "selected",
"staff_roles": [
{
"id": "f360a647-44e2-4087-a6a2-360f1d4835af",
"name": "Administrator"
}
]
}
}
This endpoint retrieves creates a contact type for a specific organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/types
Parameter | Description | Required |
---|---|---|
name | The name of the contact | Yes |
discount_percent | The default discount percentage for this contact type | No |
is_individual | Boolean flag if the contact type is for an individual | No default false |
is_supplier | Boolean flag if the contact type is for a supplier | No default false |
can_have_job | Boolean flag if the contact type can be assigned to a job | No default false |
bill_payment_term_id | The Id of the Payment Term for bills | No |
bill_payment_term_days | The number of days after the payment term date a bill is due | Required with bill_payment_term_id |
sales_payment_term_id | The Id of the Payment Term for invoices | No |
sales_payment_term_days | The number of days after the payment term date an invoice is due | Required with bill_payment_term_id |
staff_role_selection | Which staff roles can have access to this contact type | No - "all" or "selected" |
staff_role_ids | Array of staff role Id's that can access this contact type | No |
For more see Settings > Contact Types.
Contact Members
List Contact Members
Response
{
"contact_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a Contact.
HTTP Request
GET /api/v1/organisations/{organisationId}/contacts/{contactId}/members
Add a Contact Member
Response
204 | No content
This endpoint adds a Staff Member to a Contact.
HTTP Request
POST /api/v1/organisations/{organisationId}/contacts/{contactId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Contact Member
Response
204 | No content
This endpoint removes a Staff Member from a Contact.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/contacts/{contactId}/members/{contactMemberId}
Countries
List Countries
Response
{
"countries": [
{
"id": "AL",
"name": "Albania"
},
{
"id": "DZ",
"name": "Algeria"
},
{
"id": "AS",
"name": "American Samoa"
}
]
}
This endpoint retrieves the countries in Jobman.
HTTP Request
GET /api/v1/countries
Currencies
List Currencies
Response
{
"currencies": [
{
"id": "AUD",
"name": "AUD - Australian Dollar"
},
{
"id": "USD",
"name": "USD - US Dollar"
},
{
"id": "EUR",
"name": "EUR - Euro"
}
]
}
This endpoint retrieves the currencies in Jobman.
HTTP Request
GET /api/v1/currencies
Date Formats
List Date Formats
Response
{
"date_formats": [
{
"id": "DD-MM-YYYY",
"name": "DD-MM-YYYY"
},
{
"id": "MM-DD-YYYY",
"name": "MM-DD-YYYY"
}
]
}
This endpoint retrieves the date formats in Jobman.
HTTP Request
GET /api/v1/date-formats
Detail Question Types
List Detail Question Types
Response
{
"question_types": [
{
"id": "text",
"name": "Text"
},
{
"id": "paragraph_text",
"name": "Paragraph Text"
},
{
"id": "email",
"name": "Email Address"
},
{
"id": "url",
"name": "URL"
},
{
"id": "number",
"name": "Number"
},
{
"id": "dropdown",
"name": "Dropdown"
},
{
"id": "checkbox",
"name": "Checkbox"
},
{
"id": "staff",
"name": "Staff Member"
}
]
}
This endpoint retrieves the detail question types in Jobman.
HTTP Request
GET /api/v1/detail-question-types
Genders
List Genders
Response
{
"genders": [
{
"id": "male",
"name": "Male"
},
{
"id": "female",
"name": "Female"
},
{
"id": "non_binary",
"name": "Non Binary"
},
{
"id": "not_stated",
"name": "Not Stated"
}
]
}
This endpoint retrieves the genders in Jobman.
HTTP Request
GET /api/v1/genders
Inventory Materials
List all Inventory Materials
HTTP Request
GET /api/v1/organisations/{organisationId}/inventory/materials
This endpoint allows you to list all inventory materials for an organisation.
Parameter | Description | Required |
---|---|---|
category | The uuid for the category of the item | No |
supplier | The uuid for the supplier of the item | No |
brand | The uuid for the brand of the item | No |
location | The uuid for the location of the item | No |
assigned | Boolean flag to filter items assigned to jobs | No |
trashed | Boolean flag to filter by trashed status | No |
Response
{
"inventory_items": {
"data": [
{
"id": "4dab6720-8605-4463-823d-3a36ec248c2b",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "16mm Black Melamine",
"created_at": "2023-09-05T01:39:39.000000Z",
"updated_at": "2023-09-05T05:36:20.000000Z"
},
{
"id": "0f861ee7-3bda-40e1-bc56-78ddad28bb18",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "16mm Black Melamine",
"created_at": "2023-09-05T01:36:53.000000Z",
"updated_at": "2023-09-05T05:36:20.000000Z"
}
]
}
}
Get a specific Inventory Material
HTTP Request
GET /api/v1/organisations/{organisationId}/inventory/materials/{inventoryItemId}
This endpoint retrieves a specific inventory material for an organisation.
Response
{
"inventory_item": {
"id": "4dab6720-8605-4463-823d-3a36ec248c2b",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"number": "00000007",
"supplier_id": "cde91223-a294-4852-8c90-7101ef5046da",
"catalogue_item_category_id": "2fffc2d2-01c2-4da3-abb1-b72fb7511b4d",
"catalogue_item_type": "material",
"catalogue_item_brand_id": "06fc5b91-7933-4d62-81a0-e3c2e1903add",
"catalogue_item_finish_id": "172c4875-ca19-476d-8958-0f199945f0b7",
"name": "16mm Black Melamine",
"sku": "QPBLML16",
"range": "Black Melamine",
"colour": null,
"barcode": null,
"size_length": 2400,
"size_width": 1200,
"size_depth": 16,
"size_length_unit_id": "millimetres",
"size_volume": null,
"size_volume_unit_id": null,
"size_mass": null,
"size_mass_unit_id": null,
"price": 57.6,
"price_unit_id": "sheet",
"units_per_price": 2.88,
"unit_price": 20,
"unit_price_unit_id": "square_metre",
"location_id": "7424f9d4-c769-485b-96fa-1b1b5fb9931b",
"bay_location": null,
"units": "28.8000",
"picked_units": "0.0000",
"job_id": null,
"created_at": "2023-09-05T01:39:39.000000Z",
"updated_at": "2023-09-05T05:36:20.000000Z",
"created_by": "2f032b27-9b4e-4387-aa74-a669a7e6d0f1"
}
}
Add an Inventory Material
Response
{
"inventory_item": {
"id": "4dab6720-8605-4463-823d-3a36ec248c2b",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"number": "00000007",
"supplier_id": "cde91223-a294-4852-8c90-7101ef5046da",
"catalogue_item_category_id": "2fffc2d2-01c2-4da3-abb1-b72fb7511b4d",
"catalogue_item_type": "material",
"catalogue_item_brand_id": "06fc5b91-7933-4d62-81a0-e3c2e1903add",
"catalogue_item_finish_id": "172c4875-ca19-476d-8958-0f199945f0b7",
"name": "16mm Black Melamine",
"sku": "QPBLML16",
"range": "Black Melamine",
"colour": null,
"barcode": null,
"size_length": 2400,
"size_width": 1200,
"size_depth": 16,
"size_length_unit_id": "millimetres",
"size_volume": null,
"size_volume_unit_id": null,
"size_mass": null,
"size_mass_unit_id": null,
"price": 57.6,
"price_unit_id": "sheet",
"units_per_price": 2.88,
"unit_price": 20,
"unit_price_unit_id": "square_metre",
"location_id": "7424f9d4-c769-485b-96fa-1b1b5fb9931b",
"bay_location": null,
"units": "28.8000",
"picked_units": "0.0000",
"job_id": null,
"created_at": "2023-09-05T01:39:39.000000Z",
"updated_at": "2023-09-05T05:36:20.000000Z",
"created_by": "2f032b27-9b4e-4387-aa74-a669a7e6d0f1"
}
}
This endpoint adds a new inventory material to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/inventory/materials
Parameter | Description | Required |
---|---|---|
name | The name of the Item | Yes |
location_id | The uuid of the location the Item is assigned to | Yes |
units | The number of units in Inventory | Yes |
catalogue_item_category_id | The uuid for the category of the item | Yes |
price | The price of the item | Yes |
price_unit_id | The uuid of the unit of measurement for the price of the item | Yes |
units_per_price | The number if units that are contained within the item | Yes |
unit_price | The price of each unit in the item | Yes |
unit_price_unit_id | The uuid of the unit of measurement for the price of each unit in the item | No |
bay_location | The name/identifier of the bay the Item is stored in | No |
supplier_id | The contact uuid that supplies the Item | No |
sku | The sku or product code for the Item | No |
barcode | The barcode for the Item | No |
size_width | The width of the item | No |
size_length | The length of the item | No |
size_depth | The depth of the item | No |
size_length_unit_id | The uuid of the unit of measurement for length of the item | No |
size_volume | The volume of the item | No |
size_volume_unit_id | The uuid of the unit of measurement for volume of the item | No |
size_mass | The mass of the item | No |
size_mass_unit_id | The uuid of the unit of measurement for mass of the item | No |
catalogue_item_brand_id | The uuid for the brand of the Item | No |
catalogue_item_finish_id | The uuid for the finish of the item | No |
colour | The colour of the item | No |
range | The range the item belongs to | No |
Update an Inventory Material
Response
{
"inventory_item": {
"id": "4dab6720-8605-4463-823d-3a36ec248c2b",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"number": "00000007",
"supplier_id": "cde91223-a294-4852-8c90-7101ef5046da",
"catalogue_item_category_id": "2fffc2d2-01c2-4da3-abb1-b72fb7511b4d",
"catalogue_item_type": "material",
"catalogue_item_brand_id": "06fc5b91-7933-4d62-81a0-e3c2e1903add",
"catalogue_item_finish_id": "172c4875-ca19-476d-8958-0f199945f0b7",
"name": "16mm Black Melamine",
"sku": "QPBLML16",
"range": "Black Melamine",
"colour": null,
"barcode": null,
"size_length": 2400,
"size_width": 1200,
"size_depth": 16,
"size_length_unit_id": "millimetres",
"size_volume": null,
"size_volume_unit_id": null,
"size_mass": null,
"size_mass_unit_id": null,
"price": 57.6,
"price_unit_id": "sheet",
"units_per_price": 2.88,
"unit_price": 20,
"unit_price_unit_id": "square_metre",
"location_id": "7424f9d4-c769-485b-96fa-1b1b5fb9931b",
"bay_location": null,
"units": "28.8000",
"picked_units": "0.0000",
"job_id": null,
"created_at": "2023-09-05T01:39:39.000000Z",
"updated_at": "2023-09-05T05:36:20.000000Z",
"created_by": "2f032b27-9b4e-4387-aa74-a669a7e6d0f1"
}
}
This endpoint modifies an existing inventory material for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/inventory/materials/{inventoryItemId}
Parameter | Description | Required |
---|---|---|
name | The name of the Item | No |
location_id | The uuid of the location the Item is assigned to | No |
units | The number of units in Inventory | No |
catalogue_item_category_id | The uuid for the category of the item | No |
price | The price of the item | No |
price_unit_id | The uuid of the unit of measurement for the price of the item | No |
units_per_price | The number if units that are contained within the item | No |
unit_price | The price of each unit in the item | No |
unit_price_unit_id | The uuid of the unit of measurement for the price of each unit in the item | No |
bay_location | The name/identifier of the bay the Item is stored in | No |
supplier_id | The contact uuid that supplies the Item | No |
sku | The sku or product code for the Item | No |
barcode | The barcode for the Item | No |
size_width | The width of the item | No |
size_length | The length of the item | No |
size_depth | The depth of the item | No |
size_length_unit_id | The uuid of the unit of measurement for length of the item | No |
size_volume | The volume of the item | No |
size_volume_unit_id | The uuid of the unit of measurement for volume of the item | No |
size_mass | The mass of the item | No |
size_mass_unit_id | The uuid of the unit of measurement for mass of the item | No |
catalogue_item_brand_id | The uuid for the brand of the Item | No |
catalogue_item_finish_id | The uuid for the finish of the item | No |
colour | The colour of the item | No |
range | The range the item belongs to | No |
Delete an Inventory Material
Response
204 | No content
This endpoint deletes a specific inventory material.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/inventory/materials/{inventoryItemId}
Delete multiple Inventory Materials
Response
204 | No content
This endpoint deletes multiple inventory materials.
HTTP Request
POST /api/v1/organisations/{organisationId}/inventory/materials/delete
`
Parameter | Description | Required |
---|---|---|
ids | An array of inventory item Ids | Yes |
Restore Inventory Materials
Response
204 | No content
This endpoint restores one or multiple inventory items.
HTTP Request
POST /api/v1/organisations/{organisationId}/inventory/materials/restore
Parameter | Description | Required |
---|---|---|
ids | An array of inventory item Ids | Yes |
Invoices
List all invoices
HTTP Request
GET /api/v1/organisations/{organisationId}/invoices
This endpoint allows you to list all invoices for an organisation.
Response
{
"invoices": {
"data": [
{
"id": "faca0581-b16d-4a8d-88ce-41aefd23767e",
"number": "PR22-0001",
"contact_id": "1c09bbb5-c583-43b7-b065-a4c5072976a1",
"lead_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"project_id": null,
"job_id": null,
"contact_name": "Abbott-Hartmann",
"invoice_status_id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"invoice_type_id": "b92ee34a-1fd4-40e5-b4a9-34ebc916ef1b",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "00.0000",
"total": "500.0000",
"created_at": "2022-07-19T03:53:52.000000Z",
"updated_at": "2022-07-19T03:53:52.000000Z"
},
{
"id": "faca0581-b16d-4a8d-88ce-41aefd23767e",
"number": "PR22-0002",
"contact_id": "1c09bbb5-c583-43b7-b065-a4c5072976a1",
"lead_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"project_id": null,
"job_id": "b92ee34a-1fd4-40e5-b4a9-34ebc436hijg",
"contact_name": "Abbott-Hartmann",
"invoice_status_id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"invoice_type_id": "b92ee34a-1fd4-40e5-b4a9-34ebc916ef1b",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "50.0000",
"total": "550.0000",
"created_at": "2022-07-19T03:53:52.000000Z",
"updated_at": "2022-07-19T03:53:52.000000Z"
}
]
}
}
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific invoice
HTTP Request
GET /api/v1/organisations/{organisationId}/invoice/{invoiceId}
This endpoint retrieves a specific invoice for an organisation.
Response
{
"invoice": {
"id": "faca0581-b16d-4a8d-88ce-41aefd23767e",
"number": "PR22-0001",
"contact_id": "1c09bbb5-c583-43b7-b065-a4c5072976a1",
"lead_id": null,
"project_id": null,
"job_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"invoice_status_id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"invoice_type_id": "b92ee34a-1fd4-40e5-b4a9-34ebc916ef1b",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "50.0000",
"total": "550.0000",
"created_at": "2022-07-19T03:53:52.000000Z",
"updated_at": "2022-07-19T03:53:52.000000Z"
}
}
Add a new invoice
Response
{
"invoice": {
"id": "90411368-8c3d-4a8a-84dd-b8a7c8966afd",
"number": "PR22-0002",
"contact_id": "1c09bbb5-c583-43b7-b065-a4c5072976a1",
"lead_id": null,
"project_id": null,
"job_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"contact_name": "Abbott-Hartmann",
"invoice_status_id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"invoice_type_id": "b92ee34a-1fd4-40e5-b4a9-34ebc916ef1b",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "20.0000",
"total": "520.0000",
"created_at": "2022-07-19T05:15:47.000000Z",
"updated_at": "2022-07-19T05:15:47.000000Z"
}
}
This endpoint adds a new invoice to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices
Parameter | Description | Required |
---|---|---|
contact_id | The ID of the contact receiving the invoice | Yes |
invoice_type_id | The ID for the type of the invoice | Yes |
reference | A short descriptive label | No |
Update an invoice
Response
{
"invoice": {
"id": "faca0581-b16d-4a8d-88ce-41aefd23767e",
"number": "PR22-0231",
"contact_id": "e14fa78d-7c0f-41b0-91b0-fe1bb850cee6",
"lead_id": null,
"project_id": null,
"job_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"contact_name": "Abshire Ltd",
"invoice_status_id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"invoice_type_id": "ed728fd1-dc01-4911-8236-8311ac71e23f",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "00.0000",
"total": "500.0000",
"created_at": "2022-07-19T03:53:52.000000Z",
"updated_at": "2022-07-19T05:21:20.000000Z"
}
}
This endpoint modifies an existing invoice for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/invoices/{invoiceId}
Parameter | Description | Required |
---|---|---|
number | The invoice's number | No |
reference | A short descriptive label | No |
template_id | The ID of the template used to create the invoice | No |
date | Date of issue | No |
due_date | Date the invoice is due for payment | No |
Update an Invoice Status
Response
{
"invoice": {
"id": "faca0581-b16d-4a8d-88ce-41aefd23767e",
"number": "PR22-0231",
"contact_id": "e14fa78d-7c0f-41b0-91b0-fe1bb850cee6",
"lead_id": null,
"project_id": null,
"job_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"contact_name": "Abshire Ltd",
"invoice_status_id": "f4d38626-4cc2-483e-841c-717f13449e70",
"invoice_type_id": "ed728fd1-dc01-4911-8236-8311ac71e23f",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "20.0000",
"total": "520.0000",
"created_at": "2022-07-19T03:53:52.000000Z",
"updated_at": "2022-07-19T05:24:33.000000Z"
}
}
This endpoint updates the status of a specific invoice for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/invoices/{invoiceId}/status
Parameter | Description | Required |
---|---|---|
invoice_status_id | The ID for the status of the invoice | Yes |
Update an Invoice Type
Response
{
"invoice": {
"id": "faca0581-b16d-4a8d-88ce-41aefd23767e",
"number": "PR22-0231",
"contact_id": "e14fa78d-7c0f-41b0-91b0-fe1bb850cee6",
"lead_id": null,
"project_id": null,
"job_id": "8299691b-8dfe-4cf3-9af7-a28919ccfe83",
"contact_name": "Abshire Ltd",
"invoice_status_id": "f4d38626-4cc2-483e-841c-717f13449e70",
"invoice_type_id": "dbbcd1a4-9cf3-4de7-8ff0-b7b915ab6ee7",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"subtotal": "500.0000",
"tax": "0.0000",
"total": "500.0000",
"subtotal": "500.0000",
"created_at": "2022-07-19T03:53:52.000000Z",
"updated_at": "2022-07-19T05:24:33.000000Z"
}
}
This endpoint updates the type of a specific invoice for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/invoices/{invoiceId}/type
Parameter | Description | Required |
---|---|---|
invoice_type_id | The ID for the type of the invoice | Yes |
Delete an Invoice
Response
204 | No content
This endpoint deletes a specific invoice.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/invoices/{invoiceId}
Delete multiple invoices
Response
204 | No content
This endpoint deletes multiple invoices.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Invoice Ids | Yes |
Restore Invoices
Response
204 | No content
This endpoint restores one or multiple invoices.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/restore
Parameter | Description | Required |
---|---|---|
ids | An array of invoice Ids | Yes |
Generate an invoice PDF
Response
{
"url": "http://jobmanappexample.com/storage/main/d1e008f9-1eb1-4571-980e-b7a70be4bf7d/Invoice.pdf"
}
HTTP Request
GET /api/v1/organisations/{organisationId}/invoice/{invoiceId}/pdf
This endpoint generates a url to a pdf of a specific invoice
Send an Invoice Email
Response
{
"email": {
"id": "06a10003-8548-471c-88f6-d4707af951e3",
"from": "john@finessecabinets.com.au",
"to": "example@example.com",
"reply_to": null,
"cc": ["sales@finessecabinets.com.auy"],
"bcc": ["infor@finessacabinets.com.au"],
"subject": "Invoice",
"body": "Please find attached the requested invoice",
"attachments": [
{
"name": "invoice.pdf",
"path": "aa75e996-5119-48d9-b65c-f35c219340a5/invoice.pdf",
"type": "application/pdf",
"size": 59753,
"size_formatted": "58 KB",
"url": "http://identity.jobman.io/storage/main/aa75e996-5119-48d9-b65c-f35c219340a5/invoice.pdf",
"modified_at": 1660177440,
"extension": "pdf"
}
],
"template_id": "67416c5a-bd27-447a-9371-55d0dfb9aab5",
"created_at": "2022-08-11T00:23:58.000000Z",
"updated_at": "2022-08-11T00:24:02.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/{invoiceId}/email/send
This endpoint allows you to send an email for an invoice.
Parameter | Description | Required |
---|---|---|
template_id | The id for the template used | Yes |
to | The email address of the recipient | Yes |
cc | An array of valid email addresses | No |
bcc | An array of valid email addresses | No |
subject | Short descriptive label for the email | Yes |
body | Main content for the email | Yes |
attachments | An array of files | No |
Invoice Items
List Invoice Items
HTTP Request
GET /api/v1/organisations/{organisationId}/invoices/items
This endpoint allows you to list all invoice Items for an organisation.
Response
{
"invoice_items": [
{
"id": "c92ad57e-0524-49be-a076-c801116a09a8",
"name": "Stainless Handles",
"created_at": "2022-10-20T06:32:11.000000Z",
"updated_at": "2022-10-20T06:32:11.000000Z"
},
{
"id": "05352edd-a7ac-4dfa-9a0a-81d556f90fed",
"name": "Alumium Handles",
"created_at": "2022-10-20T06:32:29.000000Z",
"updated_at": "2022-10-20T06:32:45.000000Z"
},
{
"id": "6d45c9a8-2a33-4863-a81f-d44230cfda0c",
"name": "Brass Handles",
"created_at": "2022-10-20T06:33:00.000000Z",
"updated_at": "2022-10-20T06:33:00.000000Z"
}
]
}
Add an Invoice Item
Response
{
"invoice_item": {
"id": "ac82f896-adcc-4e52-9935-b24dd3e5b861",
"name": "Brass Handles",
"created_at": "2022-10-20T06:42:13.000000Z",
"updated_at": "2022-10-20T06:42:13.000000Z"
}
}
This endpoint adds a new invoice item to an invoice.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/{invoiceId}/items
Parameter | Description | Required |
---|---|---|
name | Item name | Yes |
description | A short descriptive label | No |
quantity | The amount of items | No |
unit_price | The cost for each item | No |
discount_percent | The discount applied to the item | No |
tax_type_id | The Id for this items Tax Type | No |
account_id | The Id for this items Account | No |
Update an Invoice Item
Response
{
"invoice_item": {
"id": "ac82f896-adcc-4e52-9935-b24dd3e5b861",
"name": "Steel Handles",
"created_at": "2022-10-20T06:42:13.000000Z",
"updated_at": "2022-10-20T06:42:13.000000Z"
}
}
This endpoint modifies an existing item in an invoice.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/{invoiceId}/items
Parameter | Description | Required |
---|---|---|
name | Item name | No |
description | A short descriptive label | No |
quantity | The amount of items | No |
unit_price | The cost for each item | No |
discount_percent | The discount applied to the item | No |
tax_type_id | The Id for this items Tax Type | No |
account_id | The Id for this items Account | No |
Delete an Invoice Item
Response
204 | No content
This endpoint deletes a specific invoice item.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/invoices/{invoiceId}/items/{invoiceItemId}
Delete multiple Invoice Items
Response
204 | No content
This endpoint deletes multiple invoice items.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/{invoiceId}/items/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Invoice Item ids | Yes |
Restore Invoice Items
Response
204 | No content
This endpoint restores Invoice Items.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/{invoiceId}/items/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Invoice Item ids | Yes |
Sort Invoice Items
Response
204 | No content
This endpoint sets the default order for Invoice Items.
HTTP Request
POST /api/v1/organisations/{organisationId}/invoices/{invoiceId}/items/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Invoice Types
List Invoice Types
HTTP Request
GET /api/v1/organisations/{organisationId}/invoices/types
This endpoint allows you to list all invoice types for an organisation.
Response
{
"invoice_types": [
{
"id": "ed728fd1-dc01-4911-8236-8311ac71e23f",
"name": "Bills",
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "8ec836f0-a4bd-42d5-8410-ee5ce9da5809",
"name": "Credit Note",
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "07309823-024e-4a1a-b941-418d5116f92b",
"name": "Deposit Invoice",
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "59ad40d0-b7bc-4fe1-8cce-fd9d71bc93f8",
"name": "Full Invoice",
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "0e77bf07-5d91-4c8a-b452-fcd06a3b4089",
"name": "Partial Invoice",
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "35c541b7-b7a8-414e-bad6-3e22b2787fc9",
"name": "Variation",
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
]
}
Invoice Statuses
List Invoice Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/invoices/statuses
This endpoint allows you to list all invoice statuses for an organisation.
Response
{
"invoice_statuses": [
{
"id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"name": "Draft",
"is_default": true,
"is_sent": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "f4d38626-4cc2-483e-841c-717f13449e70",
"name": "Submitted",
"is_default": false,
"is_sent": true,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "44fe8e30-72e7-418a-9ea0-92764f140516",
"name": "Authorised",
"is_default": false,
"is_sent": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "1568222a-66d6-4b0d-b622-31f3067fed38",
"name": "Paid",
"is_default": false,
"is_sent": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
]
}
Items
List all Items
Response
{
"items": [
{
"id": "project",
"name": "Project"
},
{
"id": "lead",
"name": "Lead"
},
{
"id": "job",
"name": "Job"
}
]
}
This endpoint retrieves all the items for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/items
For more see Settings > Accounting > Accounts.
Jobs
List all jobs
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs
This endpoint allows you to list all jobs for an organisation.
Response
{
"jobs": {
"data": [
{
"id": "6f116aa1-e693-4ea6-a4ab-0988e8e44f24",
"number": "00002",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"job_status_id": "9a5017f8-b3bf-47f1-b166-0a7ac8206355",
"contact_id": "779dc961-1ff8-4a29-aa9a-f27f5112572b",
"workflow_id": "e91f6aac-912b-4adc-a781-3f94ad9f6a57",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:48:59.000000Z",
"updated_at": "2022-10-04T07:49:02.000000Z",
"trashed_at": null
},
{
"id": "f09822ab-e287-494a-9b05-fee15532d9ad",
"number": "00001",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "93fdcebc-42a6-41a3-bdea-75d8d5d03894",
"name": "Flat Pack",
"created_at": "2022-10-04T07:09:24.000000Z",
"updated_at": "2022-10-04T07:09:24.000000Z"
}
],
"job_status_id": "9a5017f8-b3bf-47f1-b166-0a7ac8206355",
"contact_id": "ff37a3d5-938e-403f-9081-9b9782564393",
"workflow_id": "e91f6aac-912b-4adc-a781-3f94ad9f6a57",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:34:36.000000Z",
"updated_at": "2022-10-04T07:34:39.000000Z",
"trashed_at": null
}
]
}
}
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific job
HTTP Request
GET /api/v1/organisations/{organisationId}/job/{jobId}
This endpoint retrieves a specific job for an organisation.
Response
{
"id": "f09822ab-e287-494a-9b05-fee15532d9ad",
"number": "00001",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "93fdcebc-42a6-41a3-bdea-75d8d5d03894",
"name": "Flat Pack",
"created_at": "2022-10-04T07:09:24.000000Z",
"updated_at": "2022-10-04T07:09:24.000000Z"
}
],
"job_status_id": "9a5017f8-b3bf-47f1-b166-0a7ac8206355",
"contact_id": "ff37a3d5-938e-403f-9081-9b9782564393",
"workflow_id": "e91f6aac-912b-4adc-a781-3f94ad9f6a57",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:34:36.000000Z",
"updated_at": "2022-10-04T07:34:39.000000Z",
"trashed_at": null
}
Add a new job
Response
{
"id": "f09822ab-e287-494a-9b05-fee15532d9ad",
"number": "00001",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "93fdcebc-42a6-41a3-bdea-75d8d5d03894",
"name": "Flat Pack",
"created_at": "2022-10-04T07:09:24.000000Z",
"updated_at": "2022-10-04T07:09:24.000000Z"
}
],
"job_status_id": "9a5017f8-b3bf-47f1-b166-0a7ac8206355",
"contact_id": "ff37a3d5-938e-403f-9081-9b9782564393",
"workflow_id": "e91f6aac-912b-4adc-a781-3f94ad9f6a57",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:34:36.000000Z",
"updated_at": "2022-10-04T07:34:39.000000Z",
"trashed_at": null
}
This endpoint adds a new job to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs
Parameter | Description | Required |
---|---|---|
contact_id | The contact's id this job is assigned to | Yes |
types | An array with job type Ids | Yes |
description | A short descriptive label | No |
workflow_id | The Id for the this jobs workflow | No |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
notes | Additional information about the job | No |
Update a job
Response
{
"id": "ddf47d8f-568f-4f4f-b0cb-bb64305a49dd",
"number": "00006",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "a9e57027-f6bf-40cd-aa94-d696624cda07",
"name": "Painted",
"created_at": "2022-10-04T01:57:07.000000Z",
"updated_at": "2022-10-04T01:57:07.000000Z"
}
],
"job_status_id": "10ccfaee-8523-4e10-a4c2-d1d8014589fb",
"contact_id": "edb5e788-9143-4200-987d-3eca870aaaaa",
"workflow_id": "7f30bd76-8764-42ca-afc7-d4d636830a71",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"created_at": "2022-10-04T03:28:02.000000Z",
"updated_at": "2022-10-04T04:25:24.000000Z",
"trashed_at": null
}
This endpoint modifies an existing job for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}
Parameter | Description | Required |
---|---|---|
contact_id | The contact's id this job is assigned to | No |
number | The job's number | No |
types | An array with job type Ids | No |
description | A short descriptive label | No |
workflow_id | The Id for this jobs workflow | No |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
notes | Additional information about the job | No |
Update a Job Status
Response
{
"job": {
"id": "2e9180e6-bba1-466b-8618-8b90fdf76e4a",
"number": "00005",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "18b09b0b-ed12-4ec0-b085-730025bb783e",
"name": "Remote Installation"
}
],
"job_status_id": "67a60163-9f58-40e3-909d-76c662c62862",
"contact_id": "bba08e46-2997-4c39-aedf-87c0049b179a",
"created_at": "2022-06-15T06:04:06.000000Z",
"updated_at": "2022-06-15T06:04:06.000000Z",
"trashed_at": null
}
}
This endpoint updates the status of a specific job for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/status
Parameter | Description | Required |
---|---|---|
job_status_id | The ID for the status of the job | Yes |
Delete a job
Response
204 | No content
This endpoint deletes a specific job.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}
Delete multiple jobs
Response
204 | No content
This endpoint deletes multiple jobs.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/delete
Parameter | Description | Required |
---|---|---|
ids | An array of job Ids | Yes |
Restore jobs
Response
204 | No content
This endpoint restores one or multiple jobs.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/restore
Parameter | Description | Required |
---|---|---|
ids | An array of job Ids | Yes |
List all Job Workflows
Response
{
"workflows": {
"data": [
{
"id": "750eb0fe-5f53-4bf0-a8a2-eb7fe69ff966",
"name": "Default Job Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"is_default": false,
"created_at": "2022-02-09T02:57:28.000000Z",
"updated_at": "2022-02-09T02:57:28.000000Z"
}
]
}
}
This endpoint retrieves all active Job Workflows for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/workflows
Job Alerts
List all job alerts
Response
{
"job_alerts": {
"data": [
{
"id": "32c00309-5469-4d2d-adad-670ca960e929",
"number": "0001",
"job_id": "4def9adf-894b-425f-b9e3-4365cdc2d387",
"work_order_id": null,
"details": null,
"job_alert_type_id": "95ddb9a0-2469-49fd-949c-edcf2e86ec76",
"job_alert_status_id": "8e4b7d53-d007-4ea5-b524-573015298d22",
"reported_at": "2023-11-14 01:40:00",
"reported_by": "0df7cc4f-0bba-4b52-9e12-7d674aea9e09",
"staff": [
{
"id": "7f4b3cd0-bed1-4802-8089-c312fe3a42f5",
"avatar": "https://ui-avatars.com/api/..."
}
],
"created_at": "2023-11-14T01:41:05.000000Z",
"updated_at": "2023-11-14T01:41:05.000000Z"
}
]
}
}
This endpoint allows you to list all job alerts for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/alerts
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific job alert
Response
{
"job_alert": {
"id": "32c00309-5469-4d2d-adad-670ca960e929",
"number": "0001",
"job_id": "4def9adf-894b-425f-b9e3-4365cdc2d387",
"work_order_id": null,
"details": null,
"job_alert_type_id": "95ddb9a0-2469-49fd-949c-edcf2e86ec76",
"job_alert_status_id": "8e4b7d53-d007-4ea5-b524-573015298d22",
"reported_at": "2023-11-14 01:40:00",
"reported_by": "0df7cc4f-0bba-4b52-9e12-7d674aea9e09",
"staff": [
{
"id": "7f4b3cd0-bed1-4802-8089-c312fe3a42f5",
"avatar": "https://ui-avatars.com/api/..."
}
],
"created_at": "2023-11-14T01:41:05.000000Z",
"updated_at": "2023-11-14T01:41:05.000000Z"
}
}
This endpoint retrieves a specific job alert for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/alerts/{jobAlertId}
Add a new job alert
Response
{
"job_alert": {
"id": "05263644-b70d-40bb-bcdf-e5543a4cad06",
"number": "0002",
"job_id": null,
"work_order_id": null,
"details": "Testing weird characters\nIsn't this a wonderful apostrophe?",
"job_alert_type_id": "95ddb9a0-2469-49fd-949c-edcf2e86ec76",
"job_alert_status_id": "8e4b7d53-d007-4ea5-b524-573015298d22",
"reported_at": "2021-05-26 02:01:00",
"reported_by": "0df7cc4f-0bba-4b52-9e12-7d674aea9e09",
"staff": [
{
"id": "f1fac9d1-0860-4d96-a9ec-cfe64b0365d0",
"avatar": "https://ui-avatars.com/api/..."
}
],
"created_at": "2023-11-14T02:17:56.000000Z",
"updated_at": "2023-11-14T02:17:56.000000Z"
}
}
This endpoint adds a new job alert to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/alerts
Parameter | Description | Required |
---|---|---|
job_alert_type_id | The id of the alert type See Alert Types | Yes |
job_alert_status_id | The id of the alert status See Alert Statuses | Yes |
job_id | The id of the job that the alert pertains to | No |
details | A description of the issue | No |
reported_by | The id of the staff member who reported the alert | No |
reported_at | The date of the report | No |
staff_ids | The id for the staff member who are assigned to the job alert | No |
files | The files to be uploaded. This should be included in the form data of the request. | No |
Update a job alert
Response
{
"job_alert": {
"id": "32c00309-5469-4d2d-adad-670ca960e929",
"number": "0001",
"job_id": "4def9adf-894b-425f-b9e3-4365cdc2d387",
"work_order_id": null,
"details": null,
"job_alert_type_id": "95ddb9a0-2469-49fd-949c-edcf2e86ec76",
"job_alert_status_id": "8e4b7d53-d007-4ea5-b524-573015298d22",
"reported_at": "2023-11-14 01:40:00",
"reported_by": "0df7cc4f-0bba-4b52-9e12-7d674aea9e09",
"staff": [
{
"id": "7f4b3cd0-bed1-4802-8089-c312fe3a42f5",
"avatar": "https://ui-avatars.com/api/..."
}
],
"created_at": "2023-11-14T01:41:05.000000Z",
"updated_at": "2023-11-14T01:41:05.000000Z"
}
}
This endpoint updates a specific job alert to an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/alerts/{jobAlertId}
Parameter | Description | Required |
---|---|---|
job_alert_type_id | The id of the alert type See Alert Types | No |
job_alert_status_id | The id of the alert status See Alert Statuses | No |
job_id | The id of the job that the alert pertains to | No |
details | A description of the issue | No |
reported_by | The id of the staff member who reported the alert | No |
reported_at | The date of the report | No |
staff_ids | An array of ids for the staff members who are assigned | No |
Delete a job alert
Response
204 | No content
This endpoint delete a specific job alert to an organisation.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/alerts/{jobAlertId}
Restore job alerts
Response
204 | No content
HTTP Request
This endpoint restores one or multiple job alerts.
POST /api/v1/organisations/{organisationId}/jobs/alerts/restore
Parameter | Description | Required |
---|---|---|
ids | An array of job alert ids | Yes |
Job Alert Statuses
List all job alert statuses
Response
{
"job_alert_statuses": {
"data": [
{
"id": "8e4b7d53-d007-4ea5-b524-573015298d22",
"name": "Reported",
"is_default": true,
"created_at": "2023-11-08T06:17:50.000000Z",
"updated_at": "2023-11-08T06:17:50.000000Z"
},
{
"id": "068bc1b9-96d4-4249-9e39-098dd8edd0e0",
"name": "In Progress",
"is_default": false,
"created_at": "2023-11-08T06:17:50.000000Z",
"updated_at": "2023-11-08T06:17:50.000000Z"
},
{
"id": "ef9ada8e-79a0-4d6e-84cb-e52aca400720",
"name": "Actioned",
"is_default": false,
"created_at": "2023-11-08T06:17:50.000000Z",
"updated_at": "2023-11-08T06:17:50.000000Z"
}
]
}
}
This endpoint allows you to list all job alert statuses for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/alerts/statuses
Job Alert Types
List all job alert types
Response
{
"job_alert_types": {
"data": [
{
"id": "95ddb9a0-2469-49fd-949c-edcf2e86ec76",
"name": "Damaged Part",
"default_details": null,
"created_at": "2023-11-08T06:17:50.000000Z",
"updated_at": "2023-11-08T06:17:50.000000Z"
},
{
"id": "228f4d7e-0d96-4db9-ad9e-cc8f159d529b",
"name": "Damaged Stock",
"default_details": null,
"created_at": "2023-11-08T06:17:50.000000Z",
"updated_at": "2023-11-08T06:17:50.000000Z"
},
{
"id": "74e35762-91a0-453e-8fe1-ac552b199e17",
"name": "Incorrectly Drafted",
"default_details": null,
"created_at": "2023-11-08T06:17:50.000000Z",
"updated_at": "2023-11-08T06:17:50.000000Z"
}
]
}
}
This endpoint allows you to list all job alert types for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/alerts/types
Job Items
List Job Items
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId}/items
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
This endpoint allows you to list the contents of a folder or return a file resource at a given path.
Response
{
"job_items": {
"data": [
{
"id": "d0c9b539-494e-4fa6-9d05-341d16c1fdfd",
"name": "Kitchen",
"item_type_id": null,
"quantity": 1,
"item_specifications": [],
"lead_id": "d9882115-08d2-4be8-9525-ab146142ae18",
"created_at": "2023-09-07T07:19:16.000000Z",
"updated_at": "2023-09-11T00:22:52.000000Z"
},
{
"id": "08d63299-5e4f-4b8e-bcef-0661a65af762",
"name": "Bathroom",
"item_type_id": "03723154-22c2-4b3e-b854-61a07662beff",
"quantity": 2,
"item_specifications": [],
"lead_id": null,
"created_at": "2023-09-11T00:11:48.000000Z",
"updated_at": "2023-09-11T00:23:23.000000Z"
}
]
}
}
Get a Job Item
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId}/items/{jobItemId}
This endpoint retrieves a specific job item.
Response
{
"job_item": {
"id": "08d63299-5e4f-4b8e-bcef-0661a65af762",
"name": "Bathroom",
"item_type_id": "03723154-22c2-4b3e-b854-61a07662beff",
"quantity": 2,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"lead_id": "3bbdffd7-bd93-450f-a478-56f9bfdedfd2",
"job_id": "40eee117-7a8a-436b-babb-3d83df7b7198",
"created_at": "2023-09-11T00:11:48.000000Z",
"updated_at": "2023-09-11T00:23:23.000000Z"
}
}
Add a Job Item
Response
{
"job_item": {
"id": "08d63299-5e4f-4b8e-bcef-0661a65af762",
"name": "Bathroom",
"item_type_id": "03723154-22c2-4b3e-b854-61a07662beff",
"quantity": 2,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"lead_id": "3bbdffd7-bd93-450f-a478-56f9bfdedfd2",
"job_id": "40eee117-7a8a-436b-babb-3d83df7b7198",
"created_at": "2023-09-11T00:11:48.000000Z",
"updated_at": "2023-09-11T00:23:23.000000Z"
}
}
This endpoint adds a new job item for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/items
Parameter | Description | Required |
---|---|---|
name | Job item's name | Yes |
item_type_id | UUID for the item type | No |
quantity | The amount of items | No |
specifications | Array of specification questions/values | No |
Specifications Array Parameters
Parameter | Description | Required |
---|---|---|
item_specification_group_id | UUID for the Item Specification Group | Yes |
item_specification_question_id | UUID for the Item Specification Question | Yes |
repeating_index | The index of the repeated Item Specification | No |
value | The answer/value for the Specification Question | No |
Update a Job Item
Response
{
"job_item": {
"id": "08d63299-5e4f-4b8e-bcef-0661a65af762",
"name": "Bathroom",
"item_type_id": "03723154-22c2-4b3e-b854-61a07662beff",
"quantity": 2,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"lead_id": "3bbdffd7-bd93-450f-a478-56f9bfdedfd2",
"job_id": "40eee117-7a8a-436b-babb-3d83df7b7198",
"created_at": "2023-09-11T00:11:48.000000Z",
"updated_at": "2023-09-11T00:23:23.000000Z"
}
}
This endpoint modifies an existing job item.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/items/{jobItemId}
Parameter | Description | Required |
---|---|---|
name | Job item's name | No |
item_type_id | UUID for the item type | No |
quantity | The amount of items | No |
specifications | Array of specification questions/values | No |
Specifications Array Parameters
Parameter | Description | Required |
---|---|---|
item_specification_group_id | UUID for the Item Specification Group | Yes |
item_specification_question_id | UUID for the Item Specification Question | Yes |
repeating_index | The index of the repeated Item Specification | No |
value | The answer/value for the Specification Question | No |
Delete a Job Item
Response
204 | No content
This endpoint deletes a specific job item.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}/items/{jobItemId}
Delete multiple Job Items
Response
204 | No content
This endpoint deletes multiple job items.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/items/delete
Parameter | Description | Required |
---|---|---|
ids | An array of job item Ids | Yes |
Restore multiple Job Items
Response
204 | No content
This endpoint restores multiple job items.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/items/restore
Parameter | Description | Required |
---|---|---|
ids | An array of job item Ids | Yes |
Sort Job Items
Response
204 | No content
This endpoint sets the default order for job item
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/items/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Copy a job item
Response
{
"job_item": {
"id": "08d63299-5e4f-4b8e-bcef-0661a65af762",
"name": "Bathroom",
"item_type_id": "03723154-22c2-4b3e-b854-61a07662beff",
"quantity": 2,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"lead_id": "3bbdffd7-bd93-450f-a478-56f9bfdedfd2",
"job_id": "40eee117-7a8a-436b-babb-3d83df7b7198",
"created_at": "2023-09-11T00:11:48.000000Z",
"updated_at": "2023-09-11T00:23:23.000000Z"
}
}
This endpoint duplicates a specific job item within a job.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/items/{itemId}/copy
Job Files
List Job files
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId}/files/{path}
This endpoint allows you to list the contents of a folder or return a file resource at a given path.
Response
{
"files": [
{
"name": "Images",
"path": "Images",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Videos",
"path": "Videos",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Photo.png",
"path": "Photo.png",
"type": "file",
"size": 164847,
"url": "https://jobmanapp.com/storage/files/Organisation%2FImages%2FCabinets%2FImage.png?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca&signature=e5a4bfe6cdfe78cf04afe016f082270847709144adb757ea439a686f5c24bb76",
"last_modified": 1643961457,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
]
}
Store Job files
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/files/{path}
This endpoint allows you to store uploaded files.
Parameter | Description | Required |
---|---|---|
files | An array of upload resources, see Uploads | Yes |
Response
{}
Create a Job folder
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/files/{path}
This endpoint allows you to create a folder.
Parameter | Description | Required |
---|---|---|
folder_name | The folder's name | Yes |
Response
{}
Delete a Job file or folder
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}/files/{path}
This endpoint allows you to delete a job file or folder.
Response
{}
Rename a Job file
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/files/{path}
This endpoint allows you to rename the file specified by the path using the file_name
parameter.
Parameter | Description | Required |
---|---|---|
file_name | The new file name | Yes |
Response
{}
Rename a Job folder
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/files/{path}
This endpoint allows you to rename the folder specified by the path using the folder_name
parameter.
Parameter | Description | Required |
---|---|---|
folder_name | The new folder name | Yes |
Response
{}
Move a Job file or folder
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/files/move
This endpoint allows you to move a file or folder to a different location within job's directory.
Parameter | Description | Required |
---|---|---|
source | The source path in url-encoded format | Yes |
destination | The destination path in url-encoded format | Yes, empty path implies the job's root folder |
Response
{}
Job Steps
List all Job Steps
Response
{
"steps": [
{
"id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"name": "Pre Sale",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Create CNC Code",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f1d88b56-3367-4af1-8f6e-3db232bb6aa0",
"name": "Machining",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "844f8e59-cdbc-4b54-9e3d-0c8b804ed3b9",
"estimated_time": 7200,
"actual_time": 0,
"target_date_calculation": 4,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "16a4e88b-bd88-4332-b984-2ec2472d090d",
"name": "Receive Painted Parts",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "47f36ea0-e13f-4e70-ab6a-6ace6c813b70",
"name": "Job Specs Complete",
"step_id": "16a4e88b-bd88-4332-b984-2ec2472d090d",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "9f0184f7-fa1c-446c-9181-8413592a5f0a",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
This endpoint retrieves all the steps for a job.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId)/steps
Get a Job Step
Response
{
"step": {
"id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"name": "Receive Painted Parts",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Job Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f1d88b56-3367-4af1-8f6e-3db232bb6aa0",
"name": "Showroom Consultation Complete",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "844f8e59-cdbc-4b54-9e3d-0c8b804ed3b9",
"estimated_time": 7200,
"actual_time": 0,
"target_date_calculation": 4,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "1eed505f-8d93-481a-9856-f0ecb4d2484e",
"name": "Booked Site Visit",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "25a2054b-1051-4023-9c08-3c35868e1ba9",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 1,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a step from a job.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId)/steps/{stepId}
Add a Job Step
Response
{
"step": {
"id": "ec2be2e5-1330-4180-b2b8-4be0bd68b676",
"name": "Painting",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-20T03:58:25.000000Z",
"updated_at": "2022-10-20T03:58:25.000000Z"
}
}
This endpoint adds a step to job.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/steps
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Delete a Job Step
Response
204 | No content
This endpoint deletes a step from a job.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}/steps/{stepId}
Update a Job Step
Response
{
"step": {
"id": "39e11519-006b-4cdd-a055-feb4e51ac243",
"name": "Receive Painted Parts",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-20T01:57:51.000000Z",
"updated_at": "2022-10-20T01:57:51.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/steps/{stepId}
This endpoint allows you to update the details of a step in a job.
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Sort Job Steps
Response
204 | No content
This endpoint sets the default order for job steps.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/steps/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Job Tasks
List all job Tasks
Response
{
"tasks": {
"data": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Job Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f3dad1c8-5a81-47d6-829e-528dc690dc12",
"name": "Final Drafting",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "31e3dab7-a65d-4458-a3ed-c205dcebd1d2",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
}
This endpoint retrieves all the tasks for a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId)/tasks
Get a job Task
Response
{
"task": {
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Job Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a task from a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId)/tasks/{taskId}
Add a Job Task
Response
{
"task": {
"id": "0f18a3c2-8baf-47a0-8a7a-6ad0c6853423",
"name": "Final Inspection",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": "2",
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": "3600",
"actual_time": 0,
"target_date_calculation": "5",
"estimated_day": null,
"status": "not_started",
"progress": null,
"start_date": null,
"target_date": null,
"target_date_locked": null,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:10:54.000000Z",
"updated_at": "2022-10-20T02:10:54.000000Z"
}
}
}
This endpoint adds a task to a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks
Parameter | Description | Required |
---|---|---|
name | The name of the task | Yes |
step_id | The id of step for the task | Yes |
description | The description of the task | No |
staff_qty | The estimated number of staff members involved in the task | Yes |
operation_id | The id of operation for the task | Yes |
estimated_time | The total time for the task in seconds | Yes |
target_date_calculation | The number of days to be scheduled for the task | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' job types | No |
types_selection_ids | An array of job type IDs | if selection = 'selected' |
Update a Job Task
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:41:32.000000Z"
}
}
This endpoint updates a task in a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}
Parameter | Description | Required |
---|---|---|
name | The name of the task | No |
step_id | The id of step for the task | No |
description | The description of the task | No |
staff_qty | The estimated number of staff members involved in the task | No |
operation_id | The id of operation for the task | No |
estimated_time | The total time for the task in seconds | No |
target_date_calculation | The number of days to be scheduled for the task | No |
progress | An integer between 0 and 100 | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' job types | No |
types_selection_ids | An array of job type IDs | if selection = 'selected' |
Update a Job Task Progress
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": "50",
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:53:26.000000Z"
}
}
This endpoint set the task's progress.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/progress
Parameter | Description | Required |
---|---|---|
progress | An integer between 0 and 100 | Yes |
Update a Job Task Start Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:54:57.000000Z"
}
}
This endpoint set the task's start date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/start-date
Parameter | Description | Required |
---|---|---|
start_date | The start date formatted as "YYYY-MM-DD" | Yes |
recalculate_target_dates | Recalculate target date. Accepted values are 'all', 'after', 'before', 'none' | Yes |
Update a Job Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:54:57.000000Z"
}
}
This endpoint set the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/target-date
Parameter | Description | Required |
---|---|---|
target_date | The target date formatted as "YYYY-MM-DD" | Yes |
recalculate_target_dates | Recalculate target date. Accepted values are 'all', 'after', 'before', 'none' | Yes |
Lock a Job Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": true,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:55:42.000000Z"
}
}
This endpoint locks the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/lock-target-date
Unlock a Job task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:06.000000Z"
}
}
This endpoint unlocks the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/unlock-target-date
Set Job Task Labour Centre
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint sets the task's labour centre.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/labour-centre
Parameter | Description | Required |
---|---|---|
labour_centre_id | A labour centre ID belonging to the tasks operation | Yes |
Mark a Job Task as Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint marks a single task as applicable.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/applicable
Mark a Job Tasks as Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint marks a single task as applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/applicable
Mark a Job Task as Not Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_applicable",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:57:39.000000Z"
}
}
This endpoint marks a single task as not applicable.
HTTP Request
PUT /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/not-applicable
Delete a job Task
Response
204 | No content
This endpoint deletes a task from a step.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}
Sort Job Tasks
Response
204 | No content
This endpoint sets the default order for job tasks.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/sort
Parameter | Description | Required |
---|---|---|
step_id | The id of the step containing the tasks | Yes |
ids | Sorted in the preferred order | Yes |
List Job Task Members
Response
{
"task_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a task.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/members
Add a Job Task Member
Response
204 | No content
This endpoint adds a Staff Member to a Task.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Job Task Member
Response
204 | No content
This endpoint removes a Staff Member from a Task.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/{taskId}/members/{taskMemberId}
Mark Job Tasks as Applicable
Response
204 | No content
This endpoint marks multiple tasks as not applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/applicable
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Mark Job Tasks as Not Applicable
Response
204 | No content
This endpoint marks multiple tasks as not applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/not-applicable
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Mark Job Tasks as Completed
Response
204 | No content
This endpoint marks multiple tasks as completed.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/tasks/completed
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Job Statuses
List Job Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/statuses
This endpoint allows you to list all active job statuses for an organisation.
For more see Settings > Job Statuses.
Response
{
"job_statuses": [
{
"id": "a1cc068e-6338-4f2d-a8ed-d0a2e172577d",
"name": "Production",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "a2855694-4b76-4806-8921-86684da6b96d",
"name": "Machining",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
]
}
Job Types
List Job Types
This endpoint allows you to list all active job types for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/types
For more see Settings > Job Types.
Response
{
"job_types": [
{
"id": "2956de94-fbcc-4159-8dc9-0ca145628d12",
"name": "Internal",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "d5123250-fdcc-4e34-8a32-425a2a9aa7e9",
"name": "Trades",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
]
}
Add new Job Type
Response
{
"job_type": {
"id": "9a0f0c7a-a26d-4edb-8fd8-5255fc5c151f",
"name": "Remote Installation",
"created_at": "2022-03-04T05:24:57.000000Z",
"updated_at": "2022-03-04T05:24:57.000000Z"
}
}
This endpoint adds a new job type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/types
Parameter | Description | Required |
---|---|---|
name | Job type's name | Yes |
For more see Settings > Job Types.
Job Members
List Job Members
Response
{
"job_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a Job.
HTTP Request
GET /api/v1/organisations/{organisationId}/jobs/{jobId}/members
Add a Job Member
Response
204 | No content
This endpoint adds a Staff Member to a Job.
HTTP Request
POST /api/v1/organisations/{organisationId}/jobs/{jobId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Job Member
Response
204 | No content
This endpoint removes a Staff Member from a Job.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/jobs/{jobId}/members/{jobMemberId}
Languages
List Languages
Response
{
"languages": [
{
"id": "en_AU",
"name": "English (Australia)"
},
{
"id": "en_US",
"name": "English (United States)"
},
{
"id": "es",
"name": "Spanish"
}
]
}
This endpoint retrieves the languages in Jobman.
HTTP Request
GET /api/v1/languages
Leads
List all leads
HTTP Request
GET /api/v1/organisations/{organisationId}/leads
This endpoint allows you to list all leads for an organisation.
Response
{
"leads": {
"data": [
{
"id": "d2647dff-47e2-426d-946d-1a0bd1e7b3b5",
"number": "2210-001",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"lead_status_id": "ee6908a2-cbe5-41b7-829b-7db8220c3477",
"contact_id": "779dc961-1ff8-4a29-aa9a-f27f5112572b",
"workflow_id": "f93d0e79-398a-40fc-89cc-fa984faae842",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:49:37.000000Z",
"updated_at": "2022-10-04T07:49:39.000000Z",
"trashed_at": null
},
{
"id": "d2647dff-47e2-426d-946d-1a0bd1e7b3b5",
"number": "2210-001",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"lead_status_id": "ee6908a2-cbe5-41b7-829b-7db8220c3477",
"contact_id": "779dc961-1ff8-4a29-aa9a-f27f5112572b",
"workflow_id": "f93d0e79-398a-40fc-89cc-fa984faae842",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:49:37.000000Z",
"updated_at": "2022-10-04T07:49:39.000000Z",
"trashed_at": null
}
]
}
}
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Lead
HTTP Request
GET /api/v1/organisations/{organisationId}/lead/{leadId}
This endpoint retrieves a specific lead for an organisation.
Response
{
"lead": {
"id": "d2647dff-47e2-426d-946d-1a0bd1e7b3b5",
"number": "2210-001",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"lead_status_id": "ee6908a2-cbe5-41b7-829b-7db8220c3477",
"contact_id": "779dc961-1ff8-4a29-aa9a-f27f5112572b",
"workflow_id": "f93d0e79-398a-40fc-89cc-fa984faae842",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:49:37.000000Z",
"updated_at": "2022-10-04T07:49:39.000000Z",
"trashed_at": null
}
}
Add a Lead
Response
{
"lead": {
"id": "73fc86ff-91d1-4a6f-a057-1588942ad220",
"number": "2206-002",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "d7a0ce4a-5e50-464b-95f6-4f237eb580bd",
"name": "Builder"
}
],
"lead_status_id": "ee6908a2-cbe5-41b7-829b-7db8220c3477",
"contact_id": "779dc961-1ff8-4a29-aa9a-f27f5112572b",
"workflow_id": "f93d0e79-398a-40fc-89cc-fa984faae842",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:49:37.000000Z",
"updated_at": "2022-10-04T07:49:39.000000Z",
"trashed_at": null
}
}
This endpoint adds a new lead to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads
Parameter | Description | Required |
---|---|---|
contact_id | The contact's id this lead is assigned to | Yes |
types | An array with lead type Ids | Yes |
description | A short descriptive label | No |
workflow_id | The Id for this leads workflow | No |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
notes | Additional information about the lead | No |
Update a Lead
Response
{
"lead": {
"id": "73fc86ff-91d1-4a6f-a057-1588942ad220",
"number": "2206-002",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "d7a0ce4a-5e50-464b-95f6-4f237eb580bd",
"name": "Builder"
}
],
"lead_status_id": "c9f7d503-b38e-451b-8f63-9b187451b9a3",
"contact_id": "dbaf5e4a-cd6a-4b43-8e95-214eb173f6ba",
"workflow_id": "a0154cb2-299c-44e5-9cc9-327cc8843324",
"address": "102 South St, \nFremantle, Western Australia Australia 6160",
"address_line1": "100 South St",
"address_line2": null,
"address_city": "Fremantle",
"address_region": "Western Australia",
"address_postal_code": "6160",
"address_country_id": "AU",
"created_at": "2022-06-15T05:58:17.000000Z",
"updated_at": "2022-06-15T05:58:19.000000Z",
"trashed_at": null
}
}
This endpoint modifies an existing lead for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}
Parameter | Description | Required |
---|---|---|
contact_id | The contact's id this lead is assigned to | No |
number | The lead's number | No |
types | An array with lead type Ids | No |
description | A short descriptive label | No |
workflow_id | The Id for this leads workflow | No |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
notes | Additional information about the lead | No |
Update a Lead Status
Response
{
"lead": {
"id": "73fc86ff-91d1-4a6f-a057-1588942ad220",
"number": "2206-002",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "d7a0ce4a-5e50-464b-95f6-4f237eb580bd",
"name": "Builder"
}
],
"lead_status_id": "c9f7d503-b38e-451b-8f63-9b187451b9a3",
"contact_id": "dbaf5e4a-cd6a-4b43-8e95-214eb173f6ba",
"created_at": "2022-06-15T05:58:17.000000Z",
"updated_at": "2022-06-15T05:58:19.000000Z",
"trashed_at": null
}
}
This endpoint updates the status of a specific lead for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/status
Parameter | Description | Required |
---|---|---|
lead_status_id | The ID for the status of the lead | Yes |
Delete a Lead
Response
204 | No content
This endpoint deletes a specific lead.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}
Delete multiple Leads
Response
204 | No content
This endpoint deletes multiple leads.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/delete
Parameter | Description | Required |
---|---|---|
ids | An array of lead Ids | Yes |
Restore leads
Response
204 | No content
This endpoint restores one or multiple leads.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/restore
Parameter | Description | Required |
---|---|---|
ids | An array of lead Ids | Yes |
Add a new Job from a Lead
Response
{
"job": {
"id": "bae654b6-10c6-4a73-bf1e-3b28c63a4bcf",
"number": "00002",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "18b09b0b-ed12-4ec0-b085-730025bb783e",
"name": "Builder"
}
],
"job_status_id": "67a60163-9f58-40e3-909d-76c662c62862",
"contact_id": "dbaf5e4a-cd6a-4b43-8e95-214eb173f6ba",
"created_at": "2022-06-15T05:33:58.000000Z",
"updated_at": "2022-06-15T05:33:58.000000Z",
"trashed_at": null
}
}
This endpoint generates a new Job based on a Lead.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/job
Parameter | Description | Required |
---|---|---|
types | An array with Job type Ids | Yes |
Add a new Quote from a Lead
Response
{
"quote": {
"id": "c3786d1a-6282-42d9-a8ea-5ddbb05e53c7",
"number": "2208-001/03",
"description": "Apartment Kitchen",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "89836449-8e90-41ee-9bb1-8c326de2b8a7",
"contact_id": "fb1f5aee-c5d4-4b67-b25c-7e7eddb97cd5",
"template_id": "09a55080-9c06-470b-8b5e-702d234f8007",
"contact_person_id": null,
"date": "2022-08-25T00:48:20.000000Z",
"expiry_date": "2022-09-24T00:48:20.000000Z",
"created_at": "2022-08-25T00:48:20.000000Z",
"updated_at": "2022-08-25T00:48:20.000000Z"
}
}
This endpoint generates a new Quote based on a Lead.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/quote
List all Lead Workflows
Response
{
"workflows": {
"data": [
{
"id": "750eb0fe-5f53-4bf0-a8a2-eb7fe69ff966",
"name": "Default Lead Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"is_default": false,
"created_at": "2022-02-09T02:57:28.000000Z",
"updated_at": "2022-02-09T02:57:28.000000Z"
}
]
}
}
This endpoint retrieves all active Lead Workflows for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/workflows
Lead Files
List Lead files
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId}/files/{path}
This endpoint allows you to list the contents of a folder or return a file resource at a given path.
Response
{
"files": [
{
"name": "Images",
"path": "Images",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Videos",
"path": "Videos",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Photo.png",
"path": "Photo.png",
"type": "file",
"size": 164847,
"url": "https://jobmanapp.com/storage/files/Organisation%2FImages%2FCabinets%2FImage.png?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca&signature=e5a4bfe6cdfe78cf04afe016f082270847709144adb757ea439a686f5c24bb76",
"last_modified": 1643961457,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
]
}
Store Lead files
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/files/{path}
This endpoint allows you to store uploaded files.
Parameter | Description | Required |
---|---|---|
files | An array of upload resources, see Uploads | Yes |
Response
{}
Create a Lead folder
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/files/{path}
This endpoint allows you to create a folder.
Parameter | Description | Required |
---|---|---|
folder_name | The folder's name | Yes |
Response
{}
Delete a Lead file or folder
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}/files/{path}
This endpoint allows you to delete a lead file or folder.
Response
{}
Rename a file
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/files/{path}
This endpoint allows you to rename the file specified by the path using the file_name
parameter.
Parameter | Description | Required |
---|---|---|
file_name | The new file name | Yes, if no folder_name is provided |
Response
{}
Rename a Lead folder
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/files/{path}
This endpoint allows you to rename the folder specified by the path using the folder_name
parameter.
Parameter | Description | Required |
---|---|---|
folder_name | The new folder name | Yes |
Response
{}
Move a Lead file or folder
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/files/move
This endpoint allows you to move a file or folder to a different location within lead's directory.
Parameter | Description | Required |
---|---|---|
source | The source path in url-encoded format | Yes |
destination | The destination path in url-encoded format | Yes, empty path implies the lead's root folder |
Response
{}
Lead Items
List Lead Items
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId}/items
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
This endpoint allows you to list all lead items for an organisation.
Response
{
"lead_items": [
{
"id": "ff4fb24b-9a67-4e97-9c51-029910c37384",
"name": "Kitchen",
"item_type_id": null,
"quantity": 1,
"item_specifications": [],
"created_at": "2023-08-30T07:38:21.000000Z",
"updated_at": "2023-08-30T07:38:21.000000Z"
},
{
"id": "89a0d26f-b63f-426e-8fc6-b09f7b2760e0",
"name": "Bathroom",
"item_type_id": null,
"quantity": 1,
"item_specifications": [],
"created_at": "2022-07-07T01:16:21.000000Z",
"updated_at": "2022-07-07T02:52:21.000000Z"
}
]
}
Get a Lead Item
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId}/items/{leadItemId}
This endpoint retrieves a specific lead item.
Response
{
"lead_item": {
"id": "ff4fb24b-9a67-4e97-9c51-029910c37384",
"name": "Kitchen",
"item_type_id": null,
"quantity": 1,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"created_at": "2023-08-30T07:38:21.000000Z",
"updated_at": "2023-08-30T07:38:21.000000Z"
}
}
Add a Lead Item
Response
{
"lead_item": {
"id": "ff4fb24b-9a67-4e97-9c51-029910c37384",
"name": "Kitchen",
"item_type_id": null,
"quantity": 1,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"created_at": "2023-08-30T07:38:21.000000Z",
"updated_at": "2023-08-30T07:38:21.000000Z"
}
}
This endpoint adds a new lead item for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/items
Parameter | Description | Required |
---|---|---|
name | Lead item's name | Yes |
item_type_id | UUID for the item type | No |
quantity | The amount of items | No |
specifications | Array of specification questions/values | No |
Specifications Array Parameters
Parameter | Description | Required |
---|---|---|
item_specification_group_id | UUID for the Item Specification Group | Yes |
item_specification_question_id | UUID for the Item Specification Question | Yes |
repeating_index | The index of the repeated Item Specification | No |
value | The answer/value for the Specification Question | No |
Update a Lead Item
Response
{
"lead_item": {
"id": "ff4fb24b-9a67-4e97-9c51-029910c37384",
"name": "Kitchen",
"item_type_id": null,
"quantity": 1,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"created_at": "2023-08-30T07:38:21.000000Z",
"updated_at": "2023-08-30T07:38:21.000000Z"
}
}
This endpoint modifies an existing lead item.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/items/{leadItemId}
Parameter | Description | Required |
---|---|---|
name | Lead item's name | Yes |
item_type_id | UUID for the item type | No |
quantity | The amount of items | No |
specifications | Array of specification questions/values | No |
Specifications Array Parameters
Parameter | Description | Required |
---|---|---|
item_specification_group_id | UUID for the Item Specification Group | Yes |
item_specification_question_id | UUID for the Item Specification Question | Yes |
repeating_index | The index of the repeated Item Specification | No |
value | The answer/value for the Specification Question | No |
Delete a Lead Item
Response
204 | No content
This endpoint deletes a specific lead item.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}/items/{leadItemId}
Delete multiple Lead Items
Response
204 | No content
This endpoint deletes multiple lead items.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/items/delete
Parameter | Description | Required |
---|---|---|
ids | An array of lead item Ids | Yes |
Restore multiple Lead Items
Response
204 | No content
This endpoint restores multiple lead items.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/items/restore
Parameter | Description | Required |
---|---|---|
ids | An array of lead item Ids | Yes |
Sort Lead Items
Response
204 | No content
This endpoint sets the default order for lead item
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/items/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Copy a lead item
Response
{
"lead_item": {
"id": "ff4fb24b-9a67-4e97-9c51-029910c37384",
"name": "Kitchen",
"item_type_id": null,
"quantity": 1,
"item_specifications": [
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "c3d3bf1d-858c-4a5b-9461-aeda44646df3",
"repeating_index": 0,
"value": "value"
},
{
"item_specification_group_id": "aa977931-a55e-4729-9fa0-ced824e03c86",
"item_specification_question_id": "0f18a00f-03c9-4d4f-8940-871c3a216d26",
"repeating_index": 0,
"value": "1"
}
],
"created_at": "2023-08-30T07:38:21.000000Z",
"updated_at": "2023-08-30T07:38:21.000000Z"
}
}
This endpoint duplicates a specific lead item within a lead.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/items/{itemId}/copy
Lead Item Specification Question Types
List Lead Item Specification Question Types
Response
{
"question_types": [
{
"id": "text",
"name": "Text"
},
{
"id": "paragraph_text",
"name": "Paragraph Text"
},
{
"id": "email",
"name": "Email Address"
},
{
"id": "url",
"name": "URL"
},
{
"id": "number",
"name": "Number"
},
{
"id": "dropdown",
"name": "Dropdown"
},
{
"id": "checkbox",
"name": "Checkbox"
}
]
}
This endpoint retrieves the lead item specification question types in Jobman.
HTTP Request
GET /api/v1/lead-item-specification-question-types
Lead Members
List Lead Members
Response
{
"lead_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a Lead.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId}/members
Add a Lead Member
Response
204 | No content
This endpoint adds a Staff Member to a Lead.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Lead Member
Response
204 | No content
This endpoint removes a Staff Member from a Lead.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}/members/{leadMemberId}
Lead Statuses
List Lead Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/statuses
This endpoint allows you to list all lead active statuses for an organisation.
For more see Settings > Lead Statuses.
Response
{
"lead_statuses": [
{
"id": "3fcaba85-9823-4805-8897-103bfb825937",
"name": "Pre Sale",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
},
{
"id": "094b64c5-3760-4d59-a86f-c95dbd51fc05",
"name": "Estimating",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
]
}
Lead Steps
List all Lead Steps
Response
{
"steps": [
{
"id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"name": "Pre Sale",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Lead Entered",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f1d88b56-3367-4af1-8f6e-3db232bb6aa0",
"name": "Showroom Consultation Complete",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "844f8e59-cdbc-4b54-9e3d-0c8b804ed3b9",
"estimated_time": 7200,
"actual_time": 0,
"target_date_calculation": 4,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "16a4e88b-bd88-4332-b984-2ec2472d090d",
"name": "Estimating",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "47f36ea0-e13f-4e70-ab6a-6ace6c813b70",
"name": "Job Specs Complete",
"step_id": "16a4e88b-bd88-4332-b984-2ec2472d090d",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "9f0184f7-fa1c-446c-9181-8413592a5f0a",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "8763199d-55b3-4269-9a4d-e3d3f1644acb",
"name": "Machining",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
This endpoint retrieves all the steps for a lead.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId)/steps
Get a Lead Step
Response
{
"step": {
"id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"name": "Pre Sale",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Lead Entered",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f1d88b56-3367-4af1-8f6e-3db232bb6aa0",
"name": "Showroom Consultation Complete",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "844f8e59-cdbc-4b54-9e3d-0c8b804ed3b9",
"estimated_time": 7200,
"actual_time": 0,
"target_date_calculation": 4,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "1eed505f-8d93-481a-9856-f0ecb4d2484e",
"name": "Booked Site Visit",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "25a2054b-1051-4023-9c08-3c35868e1ba9",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 1,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a step from a lead.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId)/steps/{stepId}
Add a Lead Step
Response
{
"step": {
"id": "39e11519-006b-4cdd-a055-feb4e51ac243",
"name": "Quotation Review process",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-20T01:57:51.000000Z",
"updated_at": "2022-10-20T01:57:51.000000Z"
}
}
This endpoint adds a step to lead.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/steps
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Delete a Lead Step
Response
204 | No content
This endpoint deletes a step from a lead.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}/steps/{stepId}
Update a Lead Step
Response
{
"step": {
"id": "39e11519-006b-4cdd-a055-feb4e51ac243",
"name": "Quotation Review Process Commercial",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-20T01:57:51.000000Z",
"updated_at": "2022-10-20T01:57:51.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/steps/{stepId}
This endpoint allows you to update the details of a step in a lead.
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Sort Lead Steps
Response
204 | No content
This endpoint sets the default order for lead steps.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/steps/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Lead Tasks
List all Lead Tasks
Response
{
"tasks": {
"data": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Lead Entered",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f3dad1c8-5a81-47d6-829e-528dc690dc12",
"name": "Booked Showroom Consultation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "31e3dab7-a65d-4458-a3ed-c205dcebd1d2",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
}
This endpoint retrieves all the tasks for a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId)/tasks
Get a Lead Task
Response
{
"task": {
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Lead Entered",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a task from a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId)/tasks/{taskId}
Add a Lead Task
Response
{
"task": {
"id": "0f18a3c2-8baf-47a0-8a7a-6ad0c6853423",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": "2",
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": "3600",
"actual_time": 0,
"target_date_calculation": "5",
"estimated_day": null,
"status": "not_started",
"progress": null,
"start_date": null,
"target_date": null,
"target_date_locked": null,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:10:54.000000Z",
"updated_at": "2022-10-20T02:10:54.000000Z"
}
}
}
This endpoint adds a task to a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks
Parameter | Description | Required |
---|---|---|
name | The name of the task | Yes |
step_id | The id of step for the task | Yes |
description | The description of the task | No |
staff_qty | The estimated number of staff members involved in the task | Yes |
operation_id | The id of operation for the task | Yes |
estimated_time | The total time for the task in seconds | Yes |
target_date_calculation | The number of days to be scheduled for the task | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' lead types | No |
types_selection_ids | An array of lead type IDs | if selection = 'selected' |
Update a Lead Task
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:41:32.000000Z"
}
}
This endpoint updates a task in a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}
Parameter | Description | Required |
---|---|---|
name | The name of the task | No |
step_id | The id of step for the task | No |
description | The description of the task | No |
staff_qty | The estimated number of staff members involved in the task | No |
operation_id | The id of operation for the task | No |
estimated_time | The total time for the task in seconds | No |
target_date_calculation | The number of days to be scheduled for the task | No |
progress | An integer between 0 and 100 | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' lead types | No |
types_selection_ids | An array of lead type IDs | if selection = 'selected' |
Update a Lead Task Progress
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": "50",
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:53:26.000000Z"
}
}
This endpoint set the task's progress.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/progress
Parameter | Description | Required |
---|---|---|
progress | An integer between 0 and 100 | Yes |
Update a Lead Task Start Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:54:57.000000Z"
}
}
This endpoint set the task's start date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/start-date
Parameter | Description | Required |
---|---|---|
start_date | The start date formatted as "YYYY-MM-DD" | Yes |
recalculate_target_dates | Recalculate target date. Accepted values are 'all', 'after', 'before', 'none' | Yes |
Update a Lead Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:54:57.000000Z"
}
}
This endpoint set the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/target-date
Parameter | Description | Required |
---|---|---|
target_date | The target date formatted as "YYYY-MM-DD" | Yes |
recalculate_target_dates | Recalculate target date. Accepted values are 'all', 'after', 'before', 'none' | Yes |
Lock a Lead Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": true,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:55:42.000000Z"
}
}
This endpoint locks the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/lock-target-date
Unlock a Lead task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:06.000000Z"
}
}
This endpoint unlocks the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/unlock-target-date
Set Lead Task Labour Centre
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint sets the task's labour centre.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/labour-centre
Parameter | Description | Required |
---|---|---|
labour_centre_id | A labour centre ID belonging to the tasks operation | Yes |
Mark a Lead Task as Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint marks a single task as applicable.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/applicable
Mark a Lead Tasks as Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint marks a single task as applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/applicable
Mark a Lead Task as Not Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Send meeting confirmation",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_applicable",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:57:39.000000Z"
}
}
This endpoint marks a single task as not applicable.
HTTP Request
PUT /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/not-applicable
Delete a Lead Task
Response
204 | No content
This endpoint deletes a task from a step.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}
Sort Lead Tasks
Response
204 | No content
This endpoint sets the default order for lead tasks.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/sort
Parameter | Description | Required |
---|---|---|
step_id | The id of the step containing the tasks | Yes |
ids | Sorted in the preferred order | Yes |
List Lead Task Members
Response
{
"task_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a task.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/members
Add a Lead Task Member
Response
204 | No content
This endpoint adds a Staff Member to a Task.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Lead Task Member
Response
204 | No content
This endpoint removes a Staff Member from a Task.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/{taskId}/members/{taskMemberId}
Mark Lead Tasks as Applicable
Response
204 | No content
This endpoint marks multiple tasks as not applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/applicable
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Mark Lead Tasks as Not Applicable
Response
204 | No content
This endpoint marks multiple tasks as not applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/not-applicable
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Mark Lead Tasks as Completed
Response
204 | No content
This endpoint marks multiple tasks as completed.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/{leadId}/tasks/completed
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Lead Types
List Lead Types
Response
{
"lead_types": [
{
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Revision",
"job_types": [
{
"id": "8421f6f4-8883-4236-995b-66e94eaa373e",
"name": "Flat Pack"
}
],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
},
{
"id": "36c14aa5-a193-4bac-bb55-04e310bf7c44",
"name": "Commercial",
"job_types": [],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
]
}
This endpoint allows you to list all lead types for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/leads/types
For more see Settings > Lead Types.
Add a Lead Type
Response
{
"lead_type": {
"id": "7463ed73-0772-426e-a1d7-98d5ff45b62e",
"name": "Residential",
"job_types": [],
"created_at": "2022-08-24T02:13:32.000000Z",
"updated_at": "2022-08-24T02:13:32.000000Z"
}
}
This endpoint adds a new lead type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/leads/types
Parameter | Description | Required |
---|---|---|
name | The name of the type | Yes |
For more see Settings > Lead Types.
Locations
List all Locations
Response
{
"locations": {
"data": [
{
"id": "ba2914fd-dfaa-494c-8c69-6e00a7ac0b2e",
"name": "Head Office",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "16 Murphy St, \nO'Connor, Western Australia Australia 6163",
"address_line1": "16 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"created_at": "2022-10-26T01:03:50.000000Z",
"updated_at": "2022-10-26T01:03:50.000000Z",
"is_default": true
},
{
"id": "4f29d7dc-d4cf-4d5d-8ae1-3ec2d562a087",
"name": "Warehouse A",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"created_at": "2022-10-26T01:03:50.000000Z",
"updated_at": "2022-10-26T01:03:50.000000Z",
"is_default": false
}
]
}
}
This endpoint retrieves all the active locations for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/locations
For more see Settings > Locations.
Operations
List all Operations
Response
{
"operations": [
{
"id": "3b9856af-7871-4f4b-8039-1ea4b45add2c",
"name": "Assemble",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
},
{
"id": "067b7248-272c-4c11-86d4-2aab79070618",
"name": "Book Trades",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"created_at": "2022-10-26T01:02:44.000000Z",
"updated_at": "2022-10-26T01:02:44.000000Z"
},
{
"id": "38fc3cf2-79a5-40ee-9de1-3bbd2c2f1b2c",
"name": "Check Measure",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
},
{
"id": "44a5e3a6-52c9-4d7e-8d7a-9d8ed8d667a3",
"name": "Check Variations",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"created_at": "2022-10-26T01:02:44.000000Z",
"updated_at": "2022-10-26T01:02:44.000000Z"
}
]
}
This following endpoint retrieves all operations for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/operations
For more see Settings > Operations.
Optimisations
List Optimisations
List the available catalogue item optimisations.
HTTP Request
GET /api/v1/optimisations
Response
{
"optimisations": [
{
"id": "square_metre",
"name": "Square Metre"
},
{
"id": "lineal_metre",
"name": "Lineal Metre"
}
]
}
Organisations
List Organisations
Response
{
"organisations": {
"data": [
{
"id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Finesse Cabinets",
"email": "sales@finessecabinets.com.au",
"email_verified_at": "2021-09-07T02:43:05.000000Z",
"language": "en_AU",
"timezone": "Australia/Perth",
"currency": "AUD",
"date_format": "DD-MM-YYYY",
"created_at": "2021-09-07T02:43:05.000000Z",
"updated_at": "2021-09-07T02:45:35.000000Z",
"discount_percent": "0.00",
"website": "https://www.finessecabinets.com",
"tax_number": "2343433455",
"logo": {
"name": "logo.png",
"path": "430ca338-bdd5-4768-a0b2-0f07ec0b036e/logo.png",
"type": "image/png",
"size": 128978,
"size_formatted": "126 KB",
"url": "http://example.com/storage/main/430ca338-bdd5-4768-a0b2-0f07ec0b036e/logo.png",
"modified_at": 1648015282
},
"created_at": "2023-06-06T07:10:30.000000Z",
"updated_at": "2023-06-06T07:10:30.000000Z"
},
{
"id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Finesse Cabinets",
"email": "sales@finessecabinets.com.au",
"email_verified_at": "2021-09-07T02:43:05.000000Z",
"language": "en_AU",
"timezone": "Australia/Perth",
"currency": "AUD",
"date_format": "DD-MM-YYYY",
"created_at": "2021-09-07T02:43:05.000000Z",
"updated_at": "2021-09-07T02:45:35.000000Z",
"discount_percent": "0.00",
"tax_number": "2343433455",
"website": "https://www.finessecabinets.com",
"logo": null,
"created_at": "2023-06-06T07:10:30.000000Z",
"updated_at": "2023-06-06T07:10:30.000000Z"
}
]
}
}
This endpoint retrieves all the organisations you have been granted access to.
HTTP Request
GET /api/v1/organisations
Get a specific Organisation
Response
{
"organisation": {
"id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Finesse Cabinets",
"email": "sales@finessecabinets.com.au",
"email_verified_at": "2021-09-07T02:43:05.000000Z",
"language": "en_AU",
"timezone": "Australia/Perth",
"currency": "AUD",
"date_format": "DD-MM-YYYY",
"created_at": "2021-09-07T02:43:05.000000Z",
"updated_at": "2021-09-07T02:45:35.000000Z",
"discount_percent": "0.00",
"website": "https://www.finessecabinets.com",
"tax_number": "2343433455",
"logo": {
"name": "logo.png",
"path": "430ca338-bdd5-4768-a0b2-0f07ec0b036e/logo.png",
"type": "image/png",
"size": 128978,
"size_formatted": "126 KB",
"url": "http://example.com/storage/main/430ca338-bdd5-4768-a0b2-0f07ec0b036e/logo.png",
"modified_at": 1648015282
},
"created_at": "2023-06-06T07:10:30.000000Z",
"updated_at": "2023-06-06T07:10:30.000000Z"
}
}
This endpoint retrieves a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}
Organisation Files
List files
HTTP Request
GET /api/v1/organisations/{organisationId}/files/{path}
This endpoint allows you to list the contents of a folder or return a file resource at a given path.
Response
{
"files": [
{
"name": "Images",
"path": "Images",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Videos",
"path": "Videos",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Photo.png",
"path": "Photo.png",
"type": "file",
"size": 164847,
"url": "https://jobmanapp.com/storage/files/Organisation%2FImages%2FCabinets%2FImage.png?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca&signature=e5a4bfe6cdfe78cf04afe016f082270847709144adb757ea439a686f5c24bb76",
"last_modified": 1643961457,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
]
}
Store files
HTTP Request
POST /api/v1/organisations/{organisationId}/files/{path}
This endpoint allows you to store uploaded files.
Parameter | Description | Required |
---|---|---|
files | An array of upload resources, see Uploads | Yes |
Response
{}
Create a folder
HTTP Request
POST /api/v1/organisations/{organisationId}/files/{path}
This endpoint allows you to create a folder.
Parameter | Description | Required |
---|---|---|
folder_name | The folder's name | Yes |
Response
{}
Delete a file
HTTP Request
DELETE /api/v1/organisations/{organisationId}/files/{path}
This endpoint allows you to delete an organisation's file.
Response
{}
Rename a file
HTTP Request
PUT /api/v1/organisations/{organisationId}/files/{path}
This endpoint allows you to rename the file specified by the path.
Parameter | Description | Required |
---|---|---|
file_name | The new file name | Yes |
Response
{}
Rename a folder
HTTP Request
PUT /api/v1/organisations/{organisationId}/files/{path}
This endpoint allows you to rename the folder specified by the path.
Parameter | Description | Required |
---|---|---|
folder_name | The new folder name | Yes |
Response
{}
Move a file or folder
HTTP Request
POST /api/v1/organisations/{organisationId}/files/move
This endpoint allows you to move a file or folder to a different location within the organisation's directory.
Parameter | Description | Required |
---|---|---|
source | The source path in url-encoded format | Yes |
destination | The destination path in url-encoded format | Yes, empty path implies the organisation's root folder |
Response
{}
Payment Terms
List Payment Terms
Response
{
"payment_terms": [
{
"id": "OFFOLLOWINGMONTH",
"name": "of the following month"
},
{
"id": "DAYSAFTERBILLDATE",
"name": "day(s) after bill date"
},
{
"id": "DAYSAFTERBILLMONTH",
"name": "day(s) after the end of the bill month"
},
{
"id": "OFCURRENTMONTH",
"name": "of the current month"
}
]
}
This endpoint retrieves the payment terms in Jobman.
HTTP Request
GET /api/v1/payment-terms
Profile
Get your Organisation Profile
Response
{
"profile": {
"id": "5f9b75e7-907d-4314-ba76-d92bdf14aba2",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"user_id": "0e433300-1159-4627-91cd-31e9c9706e03",
"first_name": "John",
"last_name": "Smith",
"email": "demo@example.com",
"language": "en_AU",
"timezone": "Australia/Perth",
"date_format": "DD-MM-YYYY",
"created_at": "2030-01-01T00:00:00.000000Z",
"updated_at": "2030-01-01T00:00:00.000000Z"
}
}
This endpoint retrieves your staff profile information related to a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile
Update your Organisation Profile
Response
{
"profile": {
"id": "5f9b75e7-907d-4314-ba76-d92bdf14aba2",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"first_name": "John",
"last_name": "Smith",
"email": "example@example.com",
"language": "en_AU",
"timezone": "Australia/Perth",
"date_format": "DD-MM-YYYY",
"created_at": "2030-01-01T00:00:00.000000Z",
"updated_at": "2030-01-01T00:00:00.000000Z"
}
}
This endpoint allows you to update your profile information for a specific organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/profile
Parameter | Description | Required |
---|---|---|
first_name | Your first name | No |
last_name | Your surname | No |
Your email address | No | |
language | Your preferred language | No |
timezone | Your timezone | No |
date_format | Your date format | No |
Profile > Activity Screens
List all Profile Activity Screens
Response
{
"activity_screens": {
"data": [
{
"id": "f19c838c-1718-4640-8b16-eb8c87bec27d",
"name": "Staff"
}
]
}
}
This endpoint retrieves all the activity screens for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/activity-screens
Get a Profile Activity Screen.
Response
{
"activity_screen": {
"id": "3531b9e3-bd9d-491c-9685-8404696103ef",
"name": "Staff"
}
}
This endpoint retrieves a specific activity screen for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/activity-screens/{activityScreenId}
Profile > Agenda Screens
List all Profile Agenda Screens
Response
{
"agenda_screens": {
"data": [
{
"id": "f19c838c-1718-4640-8b16-eb8c87bec27d",
"name": "Residential Lead Agenda Screen"
},
{
"id": "dd8df7c0-4f14-4cc7-ada0-8f85028f7073",
"name": "Commercial Lead Agenda Screen"
}
]
}
}
This endpoint retrieves all the agenda screens for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/agenda-screens
Get a Profile Agenda Screen.
Response
{
"agenda_screen": {
"id": "f19c838c-1718-4640-8b16-eb8c87bec27d",
"name": "Commercial Lead Agenda Screen"
}
}
This endpoint retrieves a specific agenda screen for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/agenda-screens/{agendaScreenId}
List Profile Agenda Screen Tasks
Response
{
"tasks": {
"data": [
{
"id": "bc65501d-709b-4df4-a1e0-88064f716870",
"name": "Contact client",
"step_id": "154ee64c-d2aa-498e-acb1-bdc70f0d8005",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 900,
"target_date_calculation": 0,
"created_at": "2022-03-01T05:23:31.000000Z",
"updated_at": "2022-03-01T05:23:31.000000Z"
},
{
"id": "40fa0075-914e-441f-9477-9b5fd31c17f3",
"name": "Arrange Meeting",
"step_id": "08137fcf-83d1-47a9-937e-9146f4a7bb62",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 7200,
"target_date_calculation": 0,
"created_at": "2022-03-01T05:23:31.000000Z",
"updated_at": "2022-03-01T05:53:36.000000Z"
},
{
"id": "7dcc7dd4-9d5c-4cbd-9314-df4aa12e2c96",
"name": "Follow Up Call",
"step_id": "e62316e0-d7db-44c5-a706-8310a9d276c9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 900,
"target_date_calculation": 0,
"created_at": "2022-03-01T05:26:27.000000Z",
"updated_at": "2022-03-01T05:51:38.000000Z"
}
]
}
}
This endpoint retrieves all tasks for a specific agenda screen.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/agenda-screens/{agendaScreenId}/tasks
Profile > Tasks
List all Profile Recent Tasks
Response
{
"tasks": {
"data": [
{
"id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"name": "Showroom Consultation Complete",
"step_id": "2cd11584-1179-4f2a-993b-86b3ed44875e",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 7200,
"target_date_calculation": 4,
"created_at": "2022-09-09T06:23:00.000000Z",
"updated_at": "2022-09-09T07:27:14.000000Z"
},
{
"id": "7c5294c7-831f-427f-aba5-31e86e3dd044",
"name": "Revise Quote",
"step_id": "2c7dd580-ae01-4023-8edf-f6d353c9d993",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 1800,
"target_date_calculation": 0,
"created_at": "2022-09-09T06:22:59.000000Z",
"updated_at": "2022-09-09T07:11:48.000000Z"
}
]
}
}
This endpoint retrieves all the recent tasks for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/tasks/recent
Profile > Timesheet
List all Profile Timesheet Entries
Response
{
"timesheet_entries": {
"data": [
{
"id": "9bfdf076-a040-4fa5-bf55-4a1f783d6cdb",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T06:24:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-09T06:29:00.000000Z"
}
],
}
}
This endpoint retrieves all the timesheet entries for your organisation staff profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/timesheet
Get a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "9bfdf076-a040-4fa5-bf55-4a1f783d6cdb",
"created_at": "2022-09-09T06:24:13.000000Z",
"updated_at": "2022-09-09T06:24:13.000000Z",
"deleted_at": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T06:24:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-09T06:29:00.000000Z",
"created_by": null,
"description": null
}
}
This endpoint retrieves a specific timesheet entry for your staff profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/profile/timesheet/{timesheetEntryId}
Add a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "524ea530-a372-4896-9cc7-5ec406bffb5c",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T04:15:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-12T04:15:00.000000Z"
}
}
This endpoint adds a timesheet entry to your staff profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/profile/timesheet
Parameter | Description | Required |
---|---|---|
task_id | The id of the task | Yes |
started_at | The start date and time | Yes |
ended_at | The end date and time | Yes |
description | A short descriptive label | No |
Update a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "524ea530-a372-4896-9cc7-5ec406bffb5c",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-12T04:15:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-14T04:15:00.000000Z"
}
}
This endpoint updates a timesheet entry for your staff profile.
HTTP Request
PUT /api/v1/organisations/{organisationId}/profile/timesheet/{timesheetEntryId}
Parameter | Description | Required |
---|---|---|
started_at | The start date and time | No |
ended_at | The end date and time | No |
description | A short descriptive label | No |
Start a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "524ea530-a372-4896-9cc7-5ec406bffb5c",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-12T04:15:00.000000Z",
"paused_at": null,
"ended_at": null
}
}
This endpoint starts a timesheet entry to record time spent completing a task for your staff profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/profile/timesheet/start
Parameter | Description | Required |
---|---|---|
task_id | The id of the task | Yes |
description | A short descriptive label | No |
Stop a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "9bfdf076-a040-4fa5-bf55-4a1f783d6cdb",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T06:24:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-09T07:27:13.000000Z"
}
}
This endpoint stops recording time on a timesheet entry for your staff profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/profile/timesheet/{timesheetEntryId}/stop
Parameter | Description | Required |
---|---|---|
progress | An integer between 0 and 100 | Yes |
Pause a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "9bfdf076-a040-4fa5-bf55-4a1f783d6cdb",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T06:24:00.000000Z",
"paused_at": "2022-09-09T07:27:13.000000Z",
"ended_at": "2022-09-09T07:27:13.000000Z"
}
}
This endpoint pauses the time recording on a timesheet entry for your staff profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/profile/timesheet/{timesheetEntryId}/pause
Parameter | Description | Required |
---|---|---|
progress | An integer between 0 and 100 | Yes |
Resume a Profile Timesheet Entry
Response
{
"timesheet_entry": {
"id": "875bb3d4-2c15-4148-b47c-83ce5ba3f658",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T07:31:59.000000Z",
"paused_at": null,
"ended_at": null
}
}
This endpoint resumes time recording on a timesheet entry for your staff profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/profile/timesheet/{timesheetEntryId}/resume
Parameter | Description | Required |
---|---|---|
progress | An integer between 0 and 100 | Yes |
Projects
List all projects
HTTP Request
GET /api/v1/organisations/{organisationId}/projects
This endpoint allows you to list all projects for an organisation.
Response
{
"projects": {
"data": [
{
"id": "fb128722-4964-4233-9466-e667d8a0188e",
"name": "Multisite Project",
"number": "PR22-0001",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"workflow_id": "42da1a16-fb66-4c67-9325-169ae8d48be6",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:48:35.000000Z",
"updated_at": "2022-10-04T07:48:36.000000Z",
"trashed_at": null
},
{
"id": "4cg28722-4964-4233-9466-e667d8a0188e",
"name": "Single Storey Project",
"number": "PR22-0002",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"workflow_id": "42da1a16-fb66-4c67-9325-169ae8d48be6",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:48:35.000000Z",
"updated_at": "2022-10-04T07:48:36.000000Z",
"trashed_at": null
}
]
}
}
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Project
Response
{
"project": {
"id": "fb128722-4964-4233-9466-e667d8a0188e",
"name": "Multisite Project",
"number": "PR22-0001",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"workflow_id": "42da1a16-fb66-4c67-9325-169ae8d48be6",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:48:35.000000Z",
"updated_at": "2022-10-04T07:48:36.000000Z",
"trashed_at": null
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/project/{projectId}
This endpoint retrieves a specific project for an organisation.
Add a Project
Response
{
"project": {
"id": "fb128722-4964-4233-9466-e667d8a0188e",
"name": "Multisite Project",
"number": "PR22-0001",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"workflow_id": "42da1a16-fb66-4c67-9325-169ae8d48be6",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:48:35.000000Z",
"updated_at": "2022-10-04T07:48:36.000000Z",
"trashed_at": null
}
}
This endpoint adds a new project to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects
Parameter | Description | Required |
---|---|---|
name | Project's name | Yes |
types | Array of project types | No |
workflow_id | The Id for this project's workflow | No |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
notes | Additional information about the project | No |
Update a project
Response
{
"project": {
"id": "fb128722-4964-4233-9466-e667d8a0188e",
"name": "Multisite Project",
"number": "PR22-0001",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [],
"workflow_id": "42da1a16-fb66-4c67-9325-169ae8d48be6",
"address": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"notes": null,
"created_at": "2022-10-04T07:48:35.000000Z",
"updated_at": "2022-10-04T07:48:36.000000Z",
"trashed_at": null
}
}
This endpoint modifies an existing project for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}
Parameter | Description | Required |
---|---|---|
name | Project's name | No |
number | Project's number | No |
types | Array of project types | No |
workflow_id | The Id for this project's workflow | No |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
notes | Additional information about the project | No |
Update a Project Status
Response
{
"project": {
"id": "3fe2e41b-ddd7-49dc-96d6-7de648585b35",
"name": "Multistorey Block",
"number": "3442",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "4f23e6dd-ff8b-4a52-8311-5eb6448798d1",
"name": "Multisite Project"
}
],
"created_at": "2022-06-15T05:44:26.000000Z",
"updated_at": "2022-06-15T05:50:30.000000Z"
}
}
This endpoint updates the status of a specific project for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/status
Parameter | Description | Required |
---|---|---|
project_status_id | The ID for the status of the project | Yes |
Delete a project
Response
204 | No content
This endpoint deletes a specific project.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/projects/{projectId}
Delete multiple projects
Response
204 | No content
This endpoint deletes multiple projects.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/delete
Parameter | Description | Required |
---|---|---|
ids | An array of project Ids | Yes |
Restore projects
Response
204 | No content
This endpoint restores one or multiple projects.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/restore
Parameter | Description | Required |
---|---|---|
ids | An array of project Ids | Yes |
List all Project Workflows
Response
{
"workflows": {
"data": [
{
"id": "750eb0fe-5f53-4bf0-a8a2-eb7fe69ff966",
"name": "Default Project Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "project",
"is_default": false,
"created_at": "2022-02-09T02:57:28.000000Z",
"updated_at": "2022-02-09T02:57:28.000000Z"
}
]
}
}
This endpoint retrieves all active the Project Workflows for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/workflows
Project Files
List Project files
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId}/files/{path}
This endpoint allows you to list the contents of a folder or return a file resource at a given path.
Response
{
"files": [
{
"name": "Images",
"path": "Images",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Videos",
"path": "Videos",
"type": "dir",
"size": 0,
"url": "",
"last_modified": ""
},
{
"name": "Photo.png",
"path": "Photo.png",
"type": "file",
"size": 164847,
"url": "https://jobmanapp.com/storage/files/Organisation%2FImages%2FCabinets%2FImage.png?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca&signature=e5a4bfe6cdfe78cf04afe016f082270847709144adb757ea439a686f5c24bb76",
"last_modified": 1643961457,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
]
}
Store Project files
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/files/{path}
This endpoint allows you to store uploaded files.
Parameter | Description | Required |
---|---|---|
files | An array of upload resources, see Uploads | Yes |
Response
{}
Create a Project folder
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/files/{path}
This endpoint allows you to create a folder.
Parameter | Description | Required |
---|---|---|
folder_name | The folder name to be created | Yes |
Response
{}
Delete a Project file or folder
HTTP Request
DELETE /api/v1/organisations/{organisationId}/projects/{projectId}/files/{path}
This endpoint allows you to delete a project's file or folder.
Response
{}
Rename a Project file
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/files/{path}
This endpoint allows you to rename the file specified by the path using the file_name
parameter.
Parameter | Description | Required |
---|---|---|
file_name | The new file name | Yes |
Response
{}
Rename a Project folder
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/files/{path}
This endpoint allows you to rename the folder specified by the path using the folder_name
parameter.
Parameter | Description | Required |
---|---|---|
folder_name | The new folder name | Yes |
Response
{}
Move a Project file or folder
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/files/move
This endpoint allows you to move a file or folder to a different location within project's directory.
Parameter | Description | Required |
---|---|---|
source | The source path in url-encoded format | Yes |
destination | The destination path in url-encoded format | Yes, empty path implies the project's root folder |
Response
{}
Project Members
List Project Members
Response
{
"project_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a Project.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId}/members
Add a Project Member
Response
204 | No content
This endpoint adds a Staff Member to a Project.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Project Member
Response
204 | No content
This endpoint removes a Staff Member from a Project.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/projects/{projectId}/members/{projectMemberId}
Project Statuses
List project statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/statuses
This endpoint allows you to list all active project statuses for an organisation.
For more see Settings > Project Statuses.
Response
{
"project_statuses": [
{
"id": "19e4b979-43a7-46f3-8d82-8e2377563742",
"name": "Draft",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "21375e49-2a46-4f0e-850b-ba7b4b74cca1",
"name": "In Progress",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "0bd199d7-8559-4f3b-83e6-95fa701f0249",
"name": "Closed",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
]
}
Project Steps
List all Project Steps
Response
{
"steps": [
{
"id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"name": "Pre Sale",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Create CNC Code",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f1d88b56-3367-4af1-8f6e-3db232bb6aa0",
"name": "Machining",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "844f8e59-cdbc-4b54-9e3d-0c8b804ed3b9",
"estimated_time": 7200,
"actual_time": 0,
"target_date_calculation": 4,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "16a4e88b-bd88-4332-b984-2ec2472d090d",
"name": "Receive Painted Parts",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "47f36ea0-e13f-4e70-ab6a-6ace6c813b70",
"name": "project Specs Complete",
"step_id": "16a4e88b-bd88-4332-b984-2ec2472d090d",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "9f0184f7-fa1c-446c-9181-8413592a5f0a",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
This endpoint retrieves all the steps for a project.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId)/steps
Get a Project Step
Response
{
"step": {
"id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"name": "Receive Painted Parts",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "project Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f1d88b56-3367-4af1-8f6e-3db232bb6aa0",
"name": "Showroom Consultation Complete",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "844f8e59-cdbc-4b54-9e3d-0c8b804ed3b9",
"estimated_time": 7200,
"actual_time": 0,
"target_date_calculation": 4,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "1eed505f-8d93-481a-9856-f0ecb4d2484e",
"name": "Booked Site Visit",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "25a2054b-1051-4023-9c08-3c35868e1ba9",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 1,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a step from a project.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId)/steps/{stepId}
Add a Project Step
Response
{
"step": {
"id": "ec2be2e5-1330-4180-b2b8-4be0bd68b676",
"name": "Painting",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-20T03:58:25.000000Z",
"updated_at": "2022-10-20T03:58:25.000000Z"
}
}
This endpoint adds a step to project.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/steps
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Delete a Project Step
Response
204 | No content
This endpoint deletes a step from a project.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/projects/{projectId}/steps/{stepId}
Update a Project Step
Response
{
"step": {
"id": "39e11519-006b-4cdd-a055-feb4e51ac243",
"name": "Receive Painted Parts",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-20T01:57:51.000000Z",
"updated_at": "2022-10-20T01:57:51.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/steps/{stepId}
This endpoint allows you to update the details of a step in a project.
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Sort Project Steps
Response
204 | No content
This endpoint sets the default order for project steps.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/steps/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Project Tasks
List all Project Tasks
Response
{
"tasks": {
"data": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Project Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f3dad1c8-5a81-47d6-829e-528dc690dc12",
"name": "Final Drafting",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "31e3dab7-a65d-4458-a3ed-c205dcebd1d2",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
}
This endpoint retrieves all the tasks for a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId)/tasks
Get a Project Task
Response
{
"task": {
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "project Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a task from a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId)/tasks/{taskId}
Add a Project Task
Response
{
"task": {
"id": "0f18a3c2-8baf-47a0-8a7a-6ad0c6853423",
"name": "Final Inspection",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": "2",
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": "3600",
"actual_time": 0,
"target_date_calculation": "5",
"estimated_day": null,
"status": "not_started",
"progress": null,
"start_date": null,
"target_date": null,
"target_date_locked": null,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:10:54.000000Z",
"updated_at": "2022-10-20T02:10:54.000000Z"
}
}
}
This endpoint adds a task to a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks
Parameter | Description | Required |
---|---|---|
name | The name of the task | Yes |
step_id | The id of step for the task | Yes |
description | The description of the task | No |
staff_qty | The estimated number of staff members involved in the task | Yes |
operation_id | The id of operation for the task | Yes |
estimated_time | The total time for the task in seconds | Yes |
target_date_calculation | The number of days to be scheduled for the task | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' project types | No |
types_selection_ids | An array of project type IDs | if selection = 'selected' |
Update a Project Task
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "32d6940d-0eb4-4166-863f-06a1c41cee1d",
"name": "Installation",
"selected": false
},
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:41:32.000000Z"
}
}
This endpoint updates a task in a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}
Parameter | Description | Required |
---|---|---|
name | The name of the task | No |
step_id | The id of step for the task | No |
description | The description of the task | No |
staff_qty | The estimated number of staff members involved in the task | No |
operation_id | The id of operation for the task | No |
estimated_time | The total time for the task in seconds | No |
target_date_calculation | The number of days to be scheduled for the task | No |
progress | An integer between 0 and 100 | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' project types | No |
types_selection_ids | An array of project type IDs | if selection = 'selected' |
Update a Project Task Progress
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": "50",
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:53:26.000000Z"
}
}
This endpoint set the task's progress.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/progress
Parameter | Description | Required |
---|---|---|
progress | An integer between 0 and 100 | Yes |
Update a Project Task Start Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:54:57.000000Z"
}
}
This endpoint set the task's start date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/start-date
Parameter | Description | Required |
---|---|---|
start_date | The start date formatted as "YYYY-MM-DD" | Yes |
recalculate_target_dates | Recalculate target date. Accepted values are 'all', 'after', 'before', 'none' | Yes |
Update a Project Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "5704df3e-c651-4e80-811d-f9e70c2b4ff4",
"name": "Manufacture",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:54:57.000000Z"
}
}
This endpoint set the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/target-date
Parameter | Description | Required |
---|---|---|
target_date | The target date formatted as "YYYY-MM-DD" | Yes |
recalculate_target_dates | Recalculate target date. Accepted values are 'all', 'after', 'before', 'none' | Yes |
Lock a Project Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": true,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:55:42.000000Z"
}
}
This endpoint locks the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/lock-target-date
Unlock a Project Task Target Date
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:06.000000Z"
}
}
This endpoint unlocks the task's target date.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/unlock-target-date
Set Project Task Labour Centre
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint sets the task's labour centre.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/labour-centre
Parameter | Description | Required |
---|---|---|
labour_centre_id | A labour centre ID belonging to the tasks operation | Yes |
Mark a Project Task as Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint marks a single task as applicable.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/applicable
Mark a Project Tasks as Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "in_progress",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:56:22.000000Z"
}
}
This endpoint marks a single task as applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/applicable
Mark a Project Task as Not Applicable
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_applicable",
"progress": 50,
"start_date": "2024-11-20T16:00:00.000000Z",
"target_date": "2024-11-20T16:00:00.000000Z",
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:57:39.000000Z"
}
}
This endpoint marks a single task as not applicable.
HTTP Request
PUT /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/not-applicable
Delete a Project Task
Response
204 | No content
This endpoint deletes a task from a step.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}
Sort Project Tasks
Response
204 | No content
This endpoint sets the default order for project tasks.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/sort
Parameter | Description | Required |
---|---|---|
step_id | The id of the step containing the tasks | Yes |
ids | Sorted in the preferred order | Yes |
List Project Task Members
Response
{
"task_members": {
"data": [
{
"id": "f518f3ed-d8cb-431b-964c-7b1cc0669931",
"staff_id": "c91c6de9-863b-4a07-8b64-00186bf4eadf"
},
{
"id": "64522a64-5b07-48f0-843a-e796e881d83a",
"staff_id": "d9cee972-4d35-4a90-a8b6-45ac88534eeb"
}
]
}
}
This endpoint retrieves all the members of a task.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/members
Add a Project Task Member
Response
204 | No content
This endpoint adds a Staff Member to a Task.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the Staff Member | Yes |
Delete a Project Task Member
Response
204 | No content
This endpoint removes a Staff Member from a Task.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/{taskId}/members/{taskMemberId}
Mark Project Tasks as Applicable
Response
204 | No content
This endpoint marks multiple tasks as not applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/applicable
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Mark Project Tasks as Not Applicable
Response
204 | No content
This endpoint marks multiple tasks as not applicable.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/not-applicable
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Mark Project Tasks as Completed
Response
204 | No content
This endpoint marks multiple tasks as completed.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/{projectId}/tasks/completed
Parameter | Description | Required |
---|---|---|
ids | An array of task IDs | Yes |
Project Types
List Project Types
Response
{
"project_types": [
{
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Revision",
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
},
{
"id": "36c14aa5-a193-4bac-bb55-04e310bf7c44",
"name": "Commercial",
"job_types": [],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
]
}
This endpoint allows you to list all project types for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/projects/types
For more see Settings > Project Types.
Add new Project Type
Response
{
"project_type": {
"id": "36c14aa5-a193-4bac-bb55-04e310bf7c44",
"name": "Commercial",
"job_types": [],
"created_at": "2022-08-24T02:13:32.000000Z",
"updated_at": "2022-08-24T02:13:32.000000Z"
}
}
This endpoint adds a new project type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/projects/types
Parameter | Description | Required |
---|---|---|
name | The name of the type | Yes |
For more see Settings > Project Types.
Purchase Orders
List all Purchase Orders
HTTP Request
GET /api/v1/organisations/{organisationId}/purchase-orders
This endpoint allows you to list all purchase orders for an organisation.
Response
{
"purchase_orders": {
"data": [
{
"id": "528662e2-863e-4464-ac7e-9beaccac0bd1",
"number": "PO0001",
"contact_id": "219f9c79-c976-4703-b6c4-808042aef5cb",
"contact_name": "Adams and Sons",
"location_id": "72ff3049-0136-4175-9527-0a85131851d5",
"delivery_address": "16 Murphy St, \nO'Connor, Western Australia Australia 6163",
"purchase_order_status_id": "8b450ae8-5bf3-41b9-a469-0a29e3e86fef",
"purchase_order_type_id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"reference": "First installment",
"date": "2022-08-05T00:00:00.000000Z",
"delivery_date": "2022-09-04T00:00:00.000000Z",
"template_id": "4791d684-f625-4a60-b2d8-765fde336419",
"created_at": "2022-08-05T06:33:44.000000Z",
"updated_at": "2022-08-05T06:33:45.000000Z"
},
{
"id": "528662e2-863e-4464-ac7e-9beaccac0bd1",
"number": "PO0002",
"contact_id": "219f9c79-c976-4703-b6c4-808042aef5cb",
"contact_name": "Adams and Sons",
"location_id": "72ff3049-0136-4175-9527-0a85131851d5",
"delivery_address": "16 Murphy St, \nO'Connor, Western Australia Australia 6163",
"purchase_order_status_id": "8b450ae8-5bf3-41b9-a469-0a29e3e86fef",
"purchase_order_type_id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"reference": "Second delivery",
"date": "2022-08-05T00:00:00.000000Z",
"delivery_date": "2022-09-04T00:00:00.000000Z",
"template_id": "4791d684-f625-4a60-b2d8-765fde336419",
"created_at": "2022-08-05T06:33:44.000000Z",
"updated_at": "2022-08-05T06:33:45.000000Z"
}
]
}
}
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific purchase order
HTTP Request
GET /api/v1/organisations/{organisationId}/purchase-orders/{purchaseOrderId}
This endpoint retrieves a specific purchase order for an organisation.
Response
{
"purchase_order": {
"id": "528662e2-863e-4464-ac7e-9beaccac0bd1",
"number": "PO0001",
"contact_id": "219f9c79-c976-4703-b6c4-808042aef5cb",
"contact_name": "Adams and Sons",
"location_id": "72ff3049-0136-4175-9527-0a85131851d5",
"delivery_address": "16 Murphy St, \nO'Connor, Western Australia Australia 6163",
"purchase_order_status_id": "8b450ae8-5bf3-41b9-a469-0a29e3e86fef",
"purchase_order_type_id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"reference": "First delivery",
"date": "2022-08-05T00:00:00.000000Z",
"delivery_date": "2022-09-04T00:00:00.000000Z",
"template_id": "4791d684-f625-4a60-b2d8-765fde336419",
"created_at": "2022-08-05T06:33:44.000000Z",
"updated_at": "2022-08-05T06:33:45.000000Z"
}
}
Add a new purchase order
Response
{
"purchase_order": {
"id": "528662e2-863e-4464-ac7e-9beaccac0bd1",
"number": "PO0002",
"contact_id": "219f9c79-c976-4703-b6c4-808042aef5cb",
"contact_name": "Adams and Sons",
"location_id": "72ff3049-0136-4175-9527-0a85131851d5",
"delivery_address": "16 Murphy St, \nO'Connor, Western Australia Australia 6163",
"purchase_order_status_id": "8b450ae8-5bf3-41b9-a469-0a29e3e86fef",
"purchase_order_type_id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"reference": "Second delivery",
"date": "2022-08-05T00:00:00.000000Z",
"delivery_date": "2022-09-04T00:00:00.000000Z",
"template_id": "4791d684-f625-4a60-b2d8-765fde336419",
"created_at": "2022-08-05T06:33:44.000000Z",
"updated_at": "2022-08-05T06:33:45.000000Z"
}
}
This endpoint adds a new purchase order to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/purchase-orders
Parameter | Description | Required |
---|---|---|
contact_id | The ID of the contact receiving the purchase order | Yes |
location_id | The ID of the Location the purchase order should be delivered to | No |
purchase_order_type_id | The ID for the type of the purchase order | Yes |
reference | A short descriptive label | No |
Update a purchase order
Response
{
"purchase_order": {
"id": "528662e2-863e-4464-ac7e-9beaccac0bd1",
"number": "PO0002",
"contact_id": "219f9c79-c976-4703-b6c4-808042aef5cb",
"contact_name": "Adams and Sons",
"location_id": "72ff3049-0136-4175-9527-0a85131851d5",
"delivery_address": "35 Murphy St, \nO'Connor, Western Australia Australia 6163",
"purchase_order_status_id": "8b450ae8-5bf3-41b9-a469-0a29e3e86fef",
"purchase_order_type_id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"reference": "Second delivery",
"date": "2022-08-05T00:00:00.000000Z",
"delivery_date": "2022-09-04T00:00:00.000000Z",
"template_id": "4791d684-f625-4a60-b2d8-765fde336419",
"created_at": "2022-08-05T06:33:44.000000Z",
"updated_at": "2022-08-05T06:33:45.000000Z"
}
}
This endpoint modifies an existing purchase_order for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/purchase-orders/{purchaseOrderId}
Parameter | Description | Required |
---|---|---|
number | The purchase_order's number | No |
reference | A short descriptive label | No |
contact_id | The ID of the contact receiving the purchase order | No |
location_id | The ID of the Location the purchase order should be delivered to | No |
template_id | The ID of the template used to create the purchase order | No |
date | Date of issue | No |
delivery_date | Date the purchase order is due for delivery | No |
Update a Purchase Order Status
Response
{
"purchase_order": {
"id": "528662e2-863e-4464-ac7e-9beaccac0bd1",
"number": "PO0002",
"contact_id": "219f9c79-c976-4703-b6c4-808042aef5cb",
"contact_name": "Adams and Sons",
"location_id": "72ff3049-0136-4175-9527-0a85131851d5",
"delivery_address": "35 Murphy St, \nO'Connor, Western Australia Australia 6163",
"purchase_order_status_id": "0d4210f2-dd9c-48c5-82b2-68efa33d44b4",
"purchase_order_type_id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"reference": "Second delivery",
"date": "2022-08-05T00:00:00.000000Z",
"delivery_date": "2022-09-04T00:00:00.000000Z",
"template_id": "4791d684-f625-4a60-b2d8-765fde336419",
"created_at": "2022-08-05T06:33:44.000000Z",
"updated_at": "2022-08-05T06:33:45.000000Z"
}
}
This endpoint updates the status of a specific purchase order for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/purchase-orders/{purchaseOrderId}/status
Parameter | Description | Required |
---|---|---|
purchase_order_status_id | The ID for the status of the purchase order | Yes |
Delete an Purchase Order
Response
204 | No content
This endpoint deletes a specific purchase order.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/purchase-orders/{purchaseOrderId}
Delete multiple purchase orders
Response
204 | No content
This endpoint deletes multiple purchase_orders.
HTTP Request
POST /api/v1/organisations/{organisationId}/purchase-orders/delete
Parameter | Description | Required |
---|---|---|
ids | An array of purchase order Ids | Yes |
Restore purchase orders
Response
204 | No content
This endpoint restores one or multiple purchase orders.
HTTP Request
POST /api/v1/organisations/{organisationId}/purchase-orders/restore
Parameter | Description | Required |
---|---|---|
ids | An array of purchase order Ids | Yes |
Generate an purchase order PDF
Response
{
"url": "http://jobmanappexample.com/storage/main/d1e008f9-1eb1-4571-980e-b7a70be4bf7d/purchase_order.pdf"
}
HTTP Request
GET /api/v1/organisations/{organisationId}/purchase-orders/{purchaseOrderId}/pdf
This endpoint generates a url to a pdf of a specific purchase order
Send a Purchase Order Email
Response
{
"email": {
"id": "3cb45da8-9400-4fd1-8dc3-81ea7fbd93ce",
"from": "john@finessecabinets.com.au",
"to": "example@example.com",
"reply_to": null,
"cc": ["sales@finessecabinets.com.auy"],
"bcc": ["info@finessacabinets.com.au"],
"subject": "Purchase Order 0000",
"body": "Please find attached the requested purchase order",
"attachments": [
{
"name": "purchase_order.pdf",
"path": "136c4602-6e67-4181-a88e-88769a5b32bc/purchase_order.pdf",
"type": "application/pdf",
"size": 60924,
"size_formatted": "59 KB",
"url": "http://identity.jobman.io/storage/main/136c4602-6e67-4181-a88e-88769a5b32bc/purchase_order.pdf",
"modified_at": 1660177025,
"extension": "pdf"
}
],
"template_id": "ac33b36c-94f3-4614-9003-832abaa3cc00",
"created_at": "2022-08-11T00:17:03.000000Z",
"updated_at": "2022-08-11T00:17:07.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/purchase-orders/{purchaseOrderId}/email/send
This endpoint allows you to send an email for a purchase order.
Parameter | Description | Required |
---|---|---|
template_id | The id for the template used | Yes |
to | The email address of the recipient | Yes |
cc | An array of valid email addresses | No |
bcc | An array of valid email addresses | No |
subject | Short descriptive label for the email | Yes |
body | Main content for the email | Yes |
attachments | An array of files | No |
Purchase Order Statuses
List Purchase Order Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/purchase-orders/statuses
This endpoint allows you to list all purchase order statuses for an organisation.
Response
{
"purchase_order_statuses": [
{
"id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"name": "Created",
"is_default": true,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "f4d38626-4cc2-483e-841c-717f13449e70",
"name": "Ordered",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "44fe8e30-72e7-418a-9ea0-92764f140516",
"name": "Partially Received",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "1568222a-66d6-4b0d-b622-31f3067fed38",
"name": "Fully Received",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
]
}
Purchase Order Types
List Purchase Order Types
HTTP Request
GET /api/v1/organisations/{organisationId}/purchase-orders/types
This endpoint allows you to list all purchase order types for an organisation.
Response
{
"purchase_order_types": [
{
"id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"name": "Supplier",
"created_at": "2022-08-08T06:05:47.000000Z",
"updated_at": "2022-08-08T06:10:04.000000Z"
}
]
}
Get a Purchase Order Type
HTTP Request
GET /api/v1/organisations/{organisationId}/purchase-orders/types/{purchaseOrderTypeId}
This endpoint retrieves a specific purchase order type.
Response
{
"purchase_order_type": {
"id": "8382c9c6-2066-4b89-93e3-15dba670355b",
"name": "Supplier",
"created_at": "2022-08-08T06:05:47.000000Z",
"updated_at": "2022-08-08T06:10:04.000000Z"
}
}
Add a Purchase Order Type
Response
{
"purchase_order_type": {
"id": "3e840af2-73d6-4825-8f88-5a793c500b8e",
"name": "Material",
"created_at": "2022-08-08T06:17:22.000000Z",
"updated_at": "2022-08-08T06:17:22.000000Z"
}
}
This endpoint adds a new purchase order type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/purchase-orders/types
Parameter | Description | Required |
---|---|---|
name | Purchase Order type's name | Yes |
Update a Purchase Order Type
Response
{
"purchase_order_type": {
"id": "3e840af2-73d6-4825-8f88-5a793c500b8e",
"name": "Services",
"created_at": "2022-08-08T06:17:22.000000Z",
"updated_at": "2022-08-08T06:17:22.000000Z"
}
}
This endpoint updates a purchase order type
HTTP Request
PUT /api/v1/organisations/{organisationId}/purchase-orders/types/{purchaseOrderTypeId}
Parameter | Description | Required |
---|---|---|
name | Purchase Order type's name | No |
Delete a Purchase Order Type
Response
204 | No content
This endpoint deletes a specific purchase order type, given there are no assigned purchase orders to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/purchase-orders/types/{purchaseOrderTypeId}
Delete multiple Purchase Order Types
Response
204 | No content
This endpoint deletes multiple purchase order types, given there are no assigned purchase orders to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/purchase-orders/types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Purchase Order type Ids | Yes |
Quotes
List Quotes
Response
{
"quotes": {
"data": [
{
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/01",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"totals_calculated": false,
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z",
}
{
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/02",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"totals_calculated": false,
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z",
}
]
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quotes
This endpoint allows you to list all quotes for an organisation.
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Quote
Response
{
"quote": {
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/01",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"totals_calculated": false,
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quote/{quoteId}
This endpoint retrieves a specific quote for an organisation.
Add a Quote
Response
{
"quote": {
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/01",
"description": "Updated Quote March",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"totals_calculated": false,
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z"
}
}
This endpoint adds a new quote to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes
Parameter | Description | Required |
---|---|---|
lead_id | An existing lead Id | Yes |
date | The date of issue for this quote. This field will be automatically set if blank | No |
quote_status_id | The current status of the quote | No |
style_id | Set the style for the quote, see Styles | No |
template_id | The id of the quote template | No |
custom_discount_percent | The item discount value | No |
labour_profit_percent | The labour profit percentage | No |
material_profit_percent | The material profit percentage | No |
service_profit_percent | The service profit percentage | No |
Update a Quote
Response
{
"quote": {
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/01",
"description": "Updated Quote March",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"totals_calculated": false,
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z"
}
}
This endpoint modifies an existing quote for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}
Parameter | Description | Required |
---|---|---|
date | The date of issue for this quote | No |
expiry_date | The expiry date for this quote | No |
style_id | The style id used for the quote, see Styles | No |
template_id | The id of the quote template | No |
contact_person_id | The id of the contact person receiving the quote | No |
custom_discount_percent | The item discount value | No |
labour_profit_percent | The labour profit percentage | No |
material_profit_percent | The material profit percentage | No |
service_profit_percent | The service profit percentage | No |
Any changes that affect pricing will require Total Calculation on the quote.
Calculate a Quote
Response
{
"quote": {
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/01",
"description": "Updated Quote March",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"totals_calculated": true,
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z"
}
}
This endpoint calculates the totals for a quote for an organisation.
When modifying a quote by adding sections, items, components or elements, the totals are not automatically calculated (due to the resource intensive nature of the calculation).
After you make changes to a quote this endpoint can be called to calculate the totals based on the changes made.
The totals_calculated
field will be updated to from false
to true
.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}/calculate
Preview a Quote
Response
{
"preview": {
"subject": null,
"body": null,
"content": "...",
"content_url": "http://identity.jobman.io/storage/main/templates/5d36a384-c62c-409b-b1f2-8b6b1c829f38/content.html"
}
}
This endpoint previews a quote for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/preview
Update a Quote Status
Response
{
"quote": {
"id": "54ee63e9-6ed0-4864-b06b-7325f1eb0d50",
"number": "2203-002/01",
"description": "Updated Quote March",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"quote_status_id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"contact_id": "8a0d7b5a-723a-4070-bdd1-13802b931cd7",
"template_id": "396618aa-5c15-4fae-b11b-8fd3cc4ea971",
"contact_person_id": "56ca3581-52ab-470c-af97-02ff92674d5e",
"date": "2022-03-04T00:00:00.000000Z",
"expiry_date": "2022-04-03T00:00:00.000000Z",
"created_at": "2022-03-04T06:32:27.000000Z",
"updated_at": "2022-03-04T06:32:27.000000Z"
}
}
This endpoint updates the status of a specific quote for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}/status
Parameter | Description | Required |
---|---|---|
quote_status_id | The ID for the status of the quote | Yes |
Delete a Quote
Response
204 | No content
This endpoint deletes a specific quote.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/quotes/{quoteId}
Delete multiple Quotes
Response
204 | No content
This endpoint deletes multiple quotes.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/delete
Parameter | Description | Required |
---|---|---|
ids | An array of quote Ids | Yes |
Restore multipleQuotes
Response
204 | No content
This endpoint restores one or multiple quotes.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/restore
Parameter | Description | Required |
---|---|---|
ids | An array of quote Ids | Yes |
Generate a Quote PDF
Response
{
"url": "http://jobmanappexample.com/storage/main/d1e008f9-1eb1-4571-980e-b7a70be4bf7d/quote.pdf"
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quote/{quoteId}/pdf
This endpoint generates a url to a pdf of a specific quote.
Preview a Quote Email
Response
{
"preview": {
"template_id": "c61496c5-0000-4d4d-a495-ee42edf5fb06",
"to": "client@example.com",
"subject": "Quote v2",
"body": "Please find attached the requested quoteation.",
"attachments": ["/quote.pdf"],
"content": ""
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/email/preview
This endpoint allows you to preview the details for a specific email for a quote.
Parameter | Description | Required |
---|---|---|
template_id | The id for the template used | Yes |
to | The email address of the recipient | Yes |
subject | Short descriptive subject | Yes |
body | The main content of the email | Yes |
Send a Quote Email
Response
{
"email": {
"id": "7bbd013c-bde4-4caf-bc5e-3ea4ab16d652",
"from": "john@finessecabinets.com.au",
"to": "johnjobman3@gmail.com",
"reply_to": null,
"cc": [""],
"bcc": [""],
"subject": "Quote v2",
"body": "Please find attached the requested quotation.",
"attachments": [
{
"name": "quote.pdf",
"path": "fca59a5b-bd9f-47d6-b3b6-aeea0080ca79/quote.pdf",
"type": "application/pdf",
"size": 32104,
"size_formatted": "31 KB",
"url": "http://identity.jobman.io/storage/main/fca59a5b-bd9f-47d6-b3b6-aeea0080ca79/quote.pdf",
"modified_at": 1656298586,
"extension": "pdf"
}
],
"template_id": "c61496c5-0000-4d4d-a495-ee42edf5fb06",
"created_at": "2022-06-27T02:56:24.000000Z",
"updated_at": "2022-06-27T02:56:28.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/email/send
This endpoint allows you to send an email for a quote.
Parameter | Description | Required |
---|---|---|
template_id | The id for the template used | Yes |
to | The email address of the recipient | Yes |
cc | An array of valid email addresses | No |
bcc | An array of valid email addresses | No |
subject | Short descriptive label for the email | Yes |
body | Main content for the email | Yes |
attachments | An array of files | No |
Add a new Job from a Quote
Response
{
"job": {
"id": "bae654b6-10c6-4a73-bf1e-3b28c63a4bcf",
"number": "00002",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"types": [
{
"id": "18b09b0b-ed12-4ec0-b085-730025bb783e",
"name": "Builder"
}
],
"job_status_id": "67a60163-9f58-40e3-909d-76c662c62862",
"contact_id": "dbaf5e4a-cd6a-4b43-8e95-214eb173f6ba",
"created_at": "2022-06-15T05:33:58.000000Z",
"updated_at": "2022-06-15T05:33:58.000000Z",
"trashed_at": null
}
}
This endpoint generates a new Job based on a Quote.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/job
Parameter | Description | Required |
---|---|---|
types | An array with Job type Ids | Yes |
Add a new Invoice from a Quote
Response
{
"invoice": {
"id": "90411368-8c3d-4a8a-84dd-b8a7c8966afd",
"number": "PR22-0002",
"contact_id": "1c09bbb5-c583-43b7-b065-a4c5072976a1",
"invoice_status_id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"invoice_type_id": "b92ee34a-1fd4-40e5-b4a9-34ebc916ef1b",
"date": "2022-07-19T00:00:00.000000Z",
"due_date": "2022-08-18T00:00:00.000000Z",
"template_id": "f5ee1fdd-b66e-4f06-b874-cf92a59e59a8",
"created_at": "2022-07-19T05:15:47.000000Z",
"updated_at": "2022-07-19T05:15:47.000000Z"
}
}
This endpoint generates a new Invoice based on a Quote.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/invoice
Parameter | Description | Required |
---|---|---|
invoice_type_id | The ID for the type of the invoice | Yes |
List Quote Presets
Response
{
"quote_presets": [
{
"id": "c1251f22-450b-4d6d-a656-6441c638b763",
"name": "Quote Preset 1",
"created_at": "2022-10-31T02:39:14.000000Z",
"updated_at": "2022-10-31T02:39:46.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quotes/presets
This endpoint allows you to list all active quote presets for an organisation.
Quotes Sections
List Quote Sections
Response
{
"quote_sections": [
{
"id": "9eeca875-832e-4e96-bf54-c2f1ebccd2d0",
"name": "Section 1",
"cost": "1407.5200",
"overhead": "140.7520",
"overhead_percent": "10.0000",
"wastage": "70.3760",
"wastage_percent": "5.0000",
"profit": "179.8500",
"profit_percent": "10.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "1798.4980",
"tax": "179.8499",
"total": "1978.3479",
"created_at": "2023-10-11T05:26:14.000000Z",
"updated_at": "2023-10-11T06:03:01.000000Z"
},
{
"id": "34bdb391-4e91-4339-8fc7-78e4001246f5",
"name": "Section 2",
"cost": "0.0000",
"overhead": "0.0000",
"overhead_percent": "0.0000",
"wastage": "0.0000",
"wastage_percent": "0.0000",
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-11T05:54:42.000000Z",
"updated_at": "2023-10-11T05:54:42.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quotes/{quoteId}/sections
This endpoint allows you to list all sections in a quote.
Add Quote Section
Response
{
"quote_section": {
"id": "604f694b-8be8-4494-a499-919e4a40ef5f",
"name": "Lounge",
"cost": "0.0000",
"overhead": "0.0000",
"overhead_percent": "0.0000",
"wastage": "0.0000",
"wastage_percent": "0.0000",
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-11T06:30:43.000000Z",
"updated_at": "2023-10-11T06:30:44.000000Z"
}
}
This endpoint adds a new section to a quote.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/sections
Parameter | Description | Required |
---|---|---|
name | Name of the section | Yes |
style_id | Set the style for the section, see Styles | No |
custom_discount_percent | Set the discount percentage | No |
Any changes that affect pricing will require Total Calculation on the quote.
Update Quote Section
Response
{
"quote_section": {
"id": "6aaf7094-4910-41bf-9bbf-b7ff616394ed",
"name": "Bathroom 2",
"cost": "0.0000",
"overhead": "0.0000",
"overhead_percent": "0.0000",
"wastage": "0.0000",
"wastage_percent": "0.0000",
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-12T01:08:16.000000Z",
"updated_at": "2023-10-12T01:10:26.000000Z"
}
}
This endpoint modifies an existing quote section.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}/sections/{quoteSectionId}
Parameter | Description | Required |
---|---|---|
name | Name of Section | Yes |
style_id | Set the style for the section, see Styles | No |
tax_type_id | The tax type to be applied to the quote section, see Tax Types | No |
custom_discount_percent | Set the discount percentage | No |
Any changes that affect pricing will require Total Calculation on the quote.
Delete Quote Section
Response
204 | No content
This endpoint deletes a specific quote.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/quotes/{quoteId}/sections/{quoteSectionId}
Any changes that affect pricing will require Total Calculation on the quote.
Sort Quote Sections
Response
204 | No content
This endpoint sort sections in a quote.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/sections/sort
Parameter | Description | Required |
---|---|---|
ids | An array of quote section Ids | Yes |
Quotes Section Items
Add Quote Section Item
Response
{
"quote_section_item": {
"id": "7b427727-d2eb-41cc-a1a2-071f3cf18cce",
"name": "Hinges",
"quantity": 8,
"cost": "0.0000",
"overhead": "0.0000",
"overhead_percent": "0.0000",
"wastage": "0.0000",
"wastage_percent": "0.0000",
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-12T01:36:45.000000Z",
"updated_at": "2023-10-12T01:36:46.000000Z"
}
}
This endpoint adds a new item to a quote section.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/items
Parameter | Description | Required |
---|---|---|
name | Name of the item | Yes |
quote_section_id | The quote section id | Yes |
description | A description of the item | No |
lead_item_id | The item ids from the lead, see Lead Items | No |
style_id | Set the style of the item, see Styles | No |
custom_discount_percent | The item discount value | No |
quantity | The amount of items to be added to the quote | No |
Any changes that affect pricing will require Total Calculation on the quote.
Update Quote Section Item
Response
{
"quote_section_item": {
"id": "7b427727-d2eb-41cc-a1a2-071f3cf18cce",
"name": "Aluminium Hinges",
"quantity": 120,
"cost": "0.0000",
"overhead": "0.0000",
"overhead_percent": "0.0000",
"wastage": "0.0000",
"wastage_percent": "0.0000",
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-12T01:36:45.000000Z",
"updated_at": "2023-10-12T01:37:03.000000Z"
}
}
This endpoint modifies an existing quote section item.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{quoteSectionItemId}
Parameter | Description | Required |
---|---|---|
name | Name of the item | Yes |
description | A description of the item | No |
lead_item_id | The item ids from the lead, see Lead Items | No |
style_id | Set the style of the item, see Styles | No |
tax_type_id | The tax type to apply to this section item, see Tax Types | No |
custom_discount_percent | The item discount value | No |
quantity | The amount of item to be ordered | No |
Any changes that affect pricing will require Total Calculation on the quote.
Delete Quote Section Item
Response
204 | No content
This endpoint deletes one or more quote section item.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/delete
Parameter | Description | Required |
---|---|---|
ids | Array of quote section item component ids to be deleted | Yes |
Any changes that affect pricing will require Total Calculation on the quote.
Sort Quote Section Item
Response
204 | No content
This endpoint sort items in a quote section.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/sort
Parameter | Description | Required |
---|---|---|
ids | An array of quote section item Ids | Yes |
section_id | The id for quote section | Yes |
Quotes Section Item Components
List Quote Section Item Components
Response
{
"quote_section_item_components": [
{
"id": "a83e6bfe-aac7-4450-bffd-955afb85dd53",
"name": "Component A",
"quantity": 1,
"cost": 12.9,
"overhead": "1.2900",
"overhead_percent": 10,
"wastage": "0.6450",
"wastage_percent": 5,
"profit": "1.6484",
"profit_percent": "10.0004",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "16.4834",
"tax": "1.6484",
"total": "18.1318",
"created_at": "2023-10-11T06:58:58.000000Z",
"updated_at": "2023-10-11T06:58:58.000000Z"
},
{
"id": "bba3cf3e-9fbe-4819-bb99-7c1f283360b7",
"name": "Component B",
"quantity": 1,
"cost": 12.9,
"overhead": "1.2900",
"overhead_percent": 10,
"wastage": "0.6450",
"wastage_percent": 5,
"profit": "1.6484",
"profit_percent": "10.0004",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "16.4834",
"tax": "1.6483",
"total": "18.1317",
"created_at": "2023-10-11T06:58:58.000000Z",
"updated_at": "2023-10-11T06:58:58.000000Z"
},
{
"id": "42cd8afe-80de-417d-937e-c94412736ba2",
"name": "Component C",
"quantity": 1,
"cost": 6.72,
"overhead": "0.6720",
"overhead_percent": 10,
"wastage": "0.3360",
"wastage_percent": 5,
"profit": "0.8587",
"profit_percent": "10.0003",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "8.5867",
"tax": "0.8587",
"total": "9.4454",
"created_at": "2023-10-11T06:58:58.000000Z",
"updated_at": "2023-10-11T06:58:58.000000Z"
}
]
}
HTTP Request
This endpoint allows you to list all components in a Section Item.
GET /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{quoteSectionItemId}/components
Add Section Item Component
Response
{
"quote_section_item_component": {
"id": "e678cc7a-10f0-41b5-ac0e-af33a9d8a678",
"name": "Screws",
"quantity": 8,
"cost": 0,
"overhead": "0.0000",
"overhead_percent": 0,
"wastage": "0.0000",
"wastage_percent": 0,
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-12T02:03:33.000000Z",
"updated_at": "2023-10-12T02:03:33.000000Z"
}
}
HTTP Request
This endpoint allows you to add a Component in a Section Item in a quote.
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{quoteSectionItemId}/components
Parameter | Description | Required |
---|---|---|
name | Name of the component | Yes |
type | The type of the component. Available options are: 'item', 'item_group', 'product', 'material', 'labour', 'service', 'appliance', 'sundry' | Yes |
style_id | Set the style of the item, see Styles | No |
labour_profit_percent | The labour profit percentage | No |
material_profit_percent | The material profit percentage | No |
service_profit_percent | The service profit percentage | No |
appliance_profit_percent | The appliance profit percentage | No |
sundry_profit_percent | The sundry profit percent | No |
quantity | The amount of components | No |
product_id | The product id of the component, see Catalogue Products | No |
catalogue_item_id | The catalogue item id, see either Catalogue Materials or Catalogue Service | No |
operation_id | The type of operation for this component, see Operations | No |
time | The time or duration of this component | No |
cost | The cost to produce the component | No |
overhead | The overhead value | No |
overhead_percent | The overhead percentage | No |
wastage | The wastage value | No |
wastage_percent | The wastage percentage | No |
profit | The profit value | No |
custom_profit_percent | Set the component profit percentage | No |
discount | The discount value | No |
custom_discount_percent | Set the discount percentage | No |
price | The price of the component | No |
custom_price | Set the price value | No |
size_length | The length value | No |
size_width | The width value | No |
size_depth | The depth value | No |
size_length_unit_id | The id for the size_length | No |
size_volume | The volume value | No |
size_volume_unit_id | The id for the size_volume | No |
size_mass | The mass value | No |
size_mass_unit_id | The id for the size_mass | No |
Any changes that affect pricing will require Total Calculation on the quote.
Update Quote Section Item Component
Response
{
"quote_section_item_component": {
"id": "e678cc7a-10f0-41b5-ac0e-af33a9d8a678",
"name": "Screws",
"quantity": 8,
"cost": 0,
"overhead": "0.0000",
"overhead_percent": 0,
"wastage": "0.0000",
"wastage_percent": 0,
"profit": "0.0000",
"profit_percent": "0.0000",
"discount": "0.0000",
"discount_percent": "0.0000",
"subtotal": "0.0000",
"tax": "0.0000",
"total": "0.0000",
"created_at": "2023-10-12T02:03:33.000000Z",
"updated_at": "2023-10-12T02:03:33.000000Z"
}
}
This endpoint update a component in a section item.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{quoteSectionItemId}/components/{quoteSectionItemComponentId}
Parameter | Description | Required |
---|---|---|
name | Name of the component | Yes |
type | The type of the component. Available options are: 'item', 'item_group', 'product', 'material', 'labour', 'service', 'appliance', 'sundry' | Yes |
style_id | Set the style of the item, see Styles | No |
tax_type_id | The tax type applied to this component, see Tax Types | No |
labour_profit_percent | The labour profit percentage | No |
material_profit_percent | The material profit percentage | No |
service_profit_percent | The service profit percentage | No |
appliance_profit_percent | The appliance profit percentage | No |
sundry_profit_percent | The sundry profit percentage | No |
quantity | The amount of components | No |
product_id | The product id of the component, see Catalogue Products | No |
catalogue_item_id | The catalogue item id, see either Catalogue Materials or Catalogue Service | No |
operation_id | The type of operation for this component, see Operations | No |
time | The time or duration of this component | No |
cost | The cost to produce the component | No |
overhead | The overhead value | No |
overhead_percent | The overhead percentage | No |
wastage | The wastage value | No |
wastage_percent | The wastage percentage | No |
custom_profit_percent | Set the component profit percentage | No |
custom_discount_percent | Set the discount percentage | No |
price | The price of the component | No |
custom_price | Set the price value | No |
size_length | The length value | No |
size_width | The width value | No |
size_depth | The depth value | No |
size_length_unit_id | The id for the size_length | No |
size_volume | The volume value | No |
size_volume_unit_id | The id for the size_volume | No |
size_mass | The mass value | No |
size_mass_unit_id | The id for the size_mass | No |
Any changes that affect pricing will require Total Calculation on the quote.
Delete Quote Section Item Component
Response
204 | No content
This endpoint delete one or more section item components.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{itemId}/components/delete
Parameter | Description | Required |
---|---|---|
ids | Array of quote section component ids to be deleted | Yes |
Any changes that affect pricing will require Total Calculation on the quote.
Quotes Section Item Component Elements
Add Quote Section Component Element
Response
{
"quote_section_item_component_element": {
"id": "d1d8e19a-590a-4bf6-a652-0dccb20939fe",
"name": "Blue Paint",
"quantity": 2,
"cost": 12,
"overhead": "1.2000",
"overhead_percent": 10,
"wastage": "0.6000",
"wastage_percent": 5,
"profit": "-3.1133",
"profit_percent": "-29.1325",
"discount": "9.9902",
"discount_percent": "31.8528",
"subtotal": "21.3734",
"tax": "2.1374",
"total": "23.5108",
"created_at": "2023-10-12T02:29:05.000000Z",
"updated_at": "2023-10-12T02:29:05.000000Z"
}
}
HTTP Request
This endpoint allows you to add an element to a section item component.
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{quoteSectionItemId}/components/{quoteSectionItemComponentId}/elements
Parameter | Description | Required |
---|---|---|
name | Name of the element | Yes |
type | Component element type. Available options: 'item', 'proportional_item', 'style_item', 'material', 'labour', 'service', 'appliance', 'sundry' | Yes |
quantity | The amount of elements | No |
cost | The cost of the element | No |
overhead | The overhead value | No |
overhead_percent | The overhead percentage | No |
wastage | The wastage value | No |
wastage_percent | The wastage percentage | No |
profit | The profit value | No |
custom_profit_percent | The profit value percentage | No |
discount | The discount value | No |
custom_discount_percent | The discount percentage | No |
custom_price | Set the price value | No |
style_item_id | The id for the style of the item, see Style Items | No |
catalogue_item_id | Set the catalogue item id, see either Catalogue Materials or Catalogue Service | No |
operation_id | Set the operation type, see Operations | No |
time | Set the time or duration if element is a service | No |
Any changes that affect pricing will require Total Calculation on the quote.
Update Quote Section Item Component Element
Response
{
"quote_section_item_component_element": {
"id": "d1d8e19a-590a-4bf6-a652-0dccb20939fe",
"name": "Blue Paint",
"quantity": 2,
"cost": 12,
"overhead": "1.2000",
"overhead_percent": 10,
"wastage": "0.6000",
"wastage_percent": 5,
"profit": "-3.1133",
"profit_percent": "-29.1325",
"discount": "9.9902",
"discount_percent": "31.8528",
"subtotal": "21.3734",
"tax": "2.1374",
"total": "23.5108",
"created_at": "2023-10-12T02:29:05.000000Z",
"updated_at": "2023-10-12T02:29:05.000000Z"
}
}
This endpoint update a element in a section item component.
HTTP Request
PUT /api/v1/organisations/{organisationId}/quotes/{quoteId}/items/{quoteSectionItemId}/components/{quoteSectionItemComponentId}/elements
Parameter | Description | Required |
---|---|---|
name | Name of the element | Yes |
type | Component element type. Available options: 'item', 'proportional_item', 'style_item', 'material', 'labour', 'service', 'appliance', 'sundry' | Yes |
quantity | The amount of elements | No |
tax_type_id | The element tax type, see Tax Types | No |
cost | The cost of the element | No |
overhead | The overhead value | No |
overhead_percent | The overhead percentage | No |
wastage | The wastage value | No |
wastage_percent | The wastage percentage | No |
profit | The profit value | No |
custom_profit_percent | The profit value percentage | No |
custom_discount_percent | The discount percentage | No |
custom_price | Set the price value | No |
style_item_id | The id for the style of the item, see Style Items | No |
catalogue_item_id | Set the catalogue item id, see either Catalogue Materials or Catalogue Service | No |
operation_id | Set the operation type, see Operations | No |
time | Set the time or duration if element is a service | No |
Any changes that affect pricing will require Total Calculation on the quote.
Delete Quote Section Item Component Element
Response
204 | No content
This endpoint delete one or more elements in a section item component.
HTTP Request
POST /api/v1/organisations/{organisationId}/quotes/{quoteId}/components/{quoteSectionItemComponentId}/elements/delete
Parameter | Description | Required |
---|---|---|
ids | Array of item component elements ids | Yes |
Any changes that affect pricing will require Total Calculation on the quote.
Quote Statuses
List Quote Statuses
Response
{
"quote_statuses": [
{
"id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"name": "Estimate Created",
"is_default": false,
"is_sent": true,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
},
{
"id": "5807a44b-1dfe-4f66-9828-caf2f7737d57",
"name": "Estimate Sent",
"is_default": false,
"is_sent": false,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
},
{
"id": "d62303e0-b89e-4e2a-99c7-59354f99ee35",
"name": "Revision",
"is_default": false,
"is_sent": false,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quotes/statuses
This endpoint allows you to list all quote statuses for an organisation.
Settings > General
Get Organisation General Settings
Response
{
"settings": {
"name": "Finesse Cabinets",
"email": "info@finessecabinets.com.au",
"currency": "AUD",
"language": "en_AU",
"timezone": "Australia/Perth",
"date_format": "DD-MM-YYYY"
}
}
View the general settings for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/general
Update Organisation General settings
Response
{
"settings": {
"name": "Finesse Cabinets Updated",
"email": "info@finessecabinets.com.au",
"currency": "AUD",
"language": "en_AU",
"timezone": "Australia/Perth",
"date_format": "DD-MM-YYYY"
}
}
Update the general settings for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/general
Parameter | Description | Required |
---|---|---|
name | The name of the organisation | Yes |
The email of the organisation | Yes | |
website | The website of the organisation | No |
currency | The default currency used by the organisation | No |
language | The default language used by the organisation | No |
timezone | The default timezone for the organisation | No |
date_format | The default date format for the organisation | No |
Settings > Accounting > Accounts
List Accounts
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/accounts
This endpoint allows you to list all financial accounts for an organisation.
Response
{
"accounts": [
{
"id": "27318459-6abf-4c03-866e-5fad9f4631c2",
"name": "Purchases",
"code": "300",
"is_default": false,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
},
{
"id": "4982c79f-e952-4fa1-8079-b14d58267106",
"name": "Sales",
"code": "200",
"is_default": true,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
]
}
Get an Account
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/accounts/{accountId}
This endpoint retrieves a specific account.
Response
{
"account": {
"id": "6c12adfc-7f96-405e-8ca0-61adcc736f9a",
"name": "Draft",
"code": "DRAFT",
"is_default": true,
"is_sent": false,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
Add an Account
Response
{
"account": {
"id": "27318459-6abf-4c03-866e-5fad9f4631c2",
"name": "Purchases",
"code": "300",
"is_default": false,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
This endpoint adds a new account for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/accounts
Parameter | Description | Required |
---|---|---|
name | account name | Yes |
code | Code for the account, from accounting software provider | No |
is_default | Set as the default account | No |
Update an Account
Response
{
"account": {
"id": "27318459-6abf-4c03-866e-5fad9f4631c2",
"name": "Purchases",
"code": "301",
"is_default": false,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
This endpoint modifies an existing account.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/accounts/{accountId}
Parameter | Description | Required |
---|---|---|
name | The account name | No |
code | Code for the account, from accounting software provider | No |
is_default | Set as the default account | No |
Delete an Account
Response
204 | No content
This endpoint deletes a specific account.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/accounting/accounts/{accountId}
Delete multiple Accounts
Response
204 | No content
This endpoint deletes multiple accounts.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/accounts/delete
Parameter | Description | Required |
---|---|---|
ids | An array of account ids | Yes |
Restore accounts
Response
204 | No content
This endpoint restores accounts.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/accounts/restore
Parameter | Description | Required |
---|---|---|
ids | An array of account ids | Yes |
Set the default Account
Response
204 | No content
This endpoint sets the default account.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/accounts/{accountId}/default
Settings > Accounting > Account Types
List Account Types
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/account-types
This endpoint allows you to list all account types for an organisation.
Response
{
"account_types": {
"data": [
{
"id": "836f43c2-6f8d-4a54-ac8b-074cbf0b3776",
"name": "Bank Account",
"code": "BANK",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
},
{
"id": "2ed116e5-d082-47e4-b831-84ad8964d825",
"name": "Current Asset Account",
"code": "CURRENT",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
},
{
"id": "847ebf42-fc7b-4906-9c45-e93d9441c50b",
"name": "Current Liability Account",
"code": "CURRLIAB",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
]
}
}
Get an Account Type
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/account-types/{accountTypeId}
This endpoint retrieves a specific account type.
Response
{
"account_type": {
"id": "836f43c2-6f8d-4a54-ac8b-074cbf0b3776",
"name": "Bank Account",
"code": "BANK",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
Add an Account Type
Response
{
"account_type": {
"id": "2ed116e5-d082-47e4-b831-84ad8964d825",
"name": "Current Asset Account",
"code": "CURRENT",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
This endpoint adds a new account type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/account-types
Parameter | Description | Required |
---|---|---|
name | Account type name | Yes |
code | Code for the account type, from accounting software provider | No |
Update an Account Type
Response
{
"invoice_account type": {
"id": "6c12adfc-7f96-405e-8ca0-61adcc736f9a",
"name": "Draft",
"code": "DRAFT",
"is_default": true,
"is_sent": false,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
This endpoint modifies an existing account type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/account-types/{accountTypeId}
Parameter | Description | Required |
---|---|---|
name | Account type name | No |
code | Code for the account type, from accounting software provider | No |
Delete an Account Type
Response
204 | No content
This endpoint deletes a specific account type.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/accounting/account-types/{accountTypeId}
Delete multiple Account Types
Response
204 | No content
This endpoint deletes multiple account types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/account-types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of account type ids | Yes |
Restore Account Types
Response
204 | No content
This endpoint restores account types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/account-types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of account type ids | Yes |
Settings > Accounting > Integration
Get Organisation Accounting Integration Settings
Response
{
"settings": {
"driver": "xero",
"driver_connected": false,
"driver_error_message": null,
"driver_tenant_id": null,
"driver_tenant_name": null,
"customer_contact_type_id": "90051057-227d-453f-beeb-8d54ea00f735",
"supplier_contact_type_id": "7f146b52-a86f-4242-9872-315fd6c7d454",
"connect_url": "http://identity.jobman.io/accounting/xero?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca",
"disconnect_url": "http://identity.jobman.io/accounting/xero/disconnect?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca",
"synced_contacts_at": null,
"sync_contacts_enabled": true,
"synced_invoices_at": null,
"sync_invoices_enabled": true,
"synced_staff_at": null,
"sync_staff_enabled": true,
"notify_staff_id": "ec14e872-f9c0-4ed9-af4e-cd02fc15d201"
}
}
View the accounting integration settings for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/integration
Update Organisation Accounting Integration Settings
Response
{
"settings": {
"driver": "xero",
"driver_connected": false,
"driver_error_message": null,
"driver_tenant_id": null,
"driver_tenant_name": null,
"customer_contact_type_id": "facb5ff3-9d3d-47c5-8315-af8d528ea017",
"supplier_contact_type_id": "ed3282a8-aa0d-41e7-a566-46d17fc373ee",
"connect_url": "http://identity.jobman.io/accounting/xero?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca",
"disconnect_url": "http://identity.jobman.io/accounting/xero/disconnect?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca",
"synced_contacts_at": null,
"sync_contacts_enabled": true,
"synced_invoices_at": null,
"sync_invoices_enabled": true,
"synced_staff_at": null,
"sync_staff_enabled": true,
"notify_staff_id": "dcc1755c-af4c-4c80-bb63-beb99b30d51a"
}
}
Update the accounting integration settings for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/integration
Parameter | Description | Required |
---|---|---|
driver | The accounting driver used to connect to a provider | Yes |
customer_contact_type_id | The id of the contact types mapped to accounting integration customer type | No |
supplier_contact_type_id | The id of the contact types mapped to accounting integration supplier type | No |
sync_invoices_enabled | The enabled status of accounting invoice synchronisations | No |
sync_contacts_enabled | The enabled status of accounting contact synchronisations | No |
notify_staff_id | The staff member who recieves synchronisation messages | Yes |
Settings > Accounting > Invoice Statuses
List Invoice Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses
This endpoint allows you to list all invoice statuses for an organisation.
Response
{
"invoice_statuses": [
{
"id": "81c30700-f8d4-453d-a716-66522fab9aef",
"name": "Awaiting Approval",
"code": "SUBMITTED",
"is_default": false,
"is_sent": false,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
},
{
"id": "8d98fc96-2ac5-45b8-b54c-ab54a156acad",
"name": "Awaiting Payment",
"code": "AUTHORISED",
"is_default": false,
"is_sent": true,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
]
}
Get an Invoice Status
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/{invoiceStatusId}
This endpoint retrieves a specific invoice status.
Response
{
"invoice_status": {
"id": "6c12adfc-7f96-405e-8ca0-61adcc736f9a",
"name": "Draft",
"code": "DRAFT",
"is_default": true,
"is_sent": false,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
Add an invoice Status
Response
{
"invoice_status": {
"id": "6c12adfc-7f96-405e-8ca0-61adcc736f9a",
"name": "Draft",
"code": "DRAFT",
"is_default": true,
"is_sent": false,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
This endpoint adds a new invoice status for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses
Parameter | Description | Required |
---|---|---|
name | Status name | Yes |
code | Code for the invoice status, from accounting software provider | No |
is_default | Set as the default status | Yes |
is_sent | Invoices with this status have been sent | Yes |
Update an invoice Status
Response
{
"invoice_status": {
"id": "6c12adfc-7f96-405e-8ca0-61adcc736f9a",
"name": "Draft",
"code": "DRAFT",
"is_default": true,
"is_sent": false,
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
This endpoint modifies an existing invoice status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/{invoiceStatusId}
Parameter | Description | Required |
---|---|---|
name | The status name | No |
code | Code for the invoice status, from accounting software provider | No |
is_default | Set as the default status | No |
is_sent | Invoices with this status have been sent | No |
Delete an invoice Status
Response
204 | No content
This endpoint deletes a specific invoice status, given there are no assigned invoices to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/{invoiceStatusId}
Delete multiple invoice Statuses
Response
204 | No content
This endpoint deletes multiple invoice statuses, given there are no assigned invoices to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/delete
Parameter | Description | Required |
---|---|---|
ids | An array of status ids | Yes |
Restore invoice Statuses
Response
204 | No content
This endpoint restores invoice statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/restore
Parameter | Description | Required |
---|---|---|
ids | An array of status ids | Yes |
Sort Invoice Statuses
Response
204 | No content
This endpoint sets the default order for invoice statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Set the default invoice Status
Response
204 | No content
This endpoint sets the default invoice status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/invoice-statuses/{invoiceStatusId}/default
Settings > Accounting > Invoice Types
List Invoice Types
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/invoice-types
This endpoint allows you to list all invoice types for an organisation.
Response
{
"invoice_types": [
{
"id": "e861ce53-8b9b-44eb-b8d3-11ca4ebf79af",
"name": "Bill",
"code": "ACCPAY",
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
},
{
"id": "32b16380-bdd6-428d-830f-d08efb4d76f6",
"name": "Credit Note",
"code": "ACCRECCREDIT",
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
},
{
"id": "7f513bd4-f413-4979-9574-767567710ca6",
"name": "Deposit Invoice",
"code": "ACCREC",
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
]
}
Get an Invoice Type
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/invoice-types/{invoiceTypeId}
This endpoint retrieves a specific invoice type.
Response
{
"invoice_type": {
"id": "e861ce53-8b9b-44eb-b8d3-11ca4ebf79af",
"name": "Bill",
"code": "ACCPAY",
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
Add an Invoice Type
Response
{
"invoice_type": {
"id": "e861ce53-8b9b-44eb-b8d3-11ca4ebf79af",
"name": "Bill",
"code": "ACCPAY",
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
This endpoint adds a new invoice type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-types
Parameter | Description | Required |
---|---|---|
name | invoice type's name | Yes |
code | Code for the invoice type, from accounting software provider | No |
Update an Invoice Type
Response
{
"invoice_type": {
"id": "e861ce53-8b9b-44eb-b8d3-11ca4ebf79af",
"name": "Bill",
"code": "ACCPAY",
"created_at": "2022-10-31T04:10:50.000000Z",
"updated_at": "2022-10-31T04:10:50.000000Z"
}
}
This endpoint updates an invoice type
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/invoice-types/{invoiceTypeId}
Parameter | Description | Required |
---|---|---|
name | invoice type's name | No |
code | Code for the invoice type, from accounting software provider | No |
Delete an invoice Type
Response
204 | No content
This endpoint deletes a specific invoice type, given there are no assigned invoices to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/accounting/invoice-types/{invoiceTypeId}
Delete multiple invoice Types
Response
204 | No content
This endpoint deletes multiple invoice types, given there are no assigned invoices to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of invoice type Ids | Yes |
Delete invoice Types
Response
204 | No content
This endpoint deletes invoice types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/invoice-types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of invoice type Ids | Yes |
Settings > Accounting > Payment Terms
Get Organisation Payment Terms Settings
Response
{
"settings": {
"bill_payment_term_id": "DAYSAFTERBILLDATE",
"bill_payment_term_days": 14,
"sales_payment_term_id": "DAYSAFTERBILLDATE",
"sales_payment_term_days": 30,
"discount_percent": "0.00"
}
}
View the payment term settings for an organisation.
HTTP Request
GET /#organisations/{organisationId}/settings/accounting/payment-terms
Update Organisation Payment Terms Settings
Response
{
"settings": {
"bill_payment_term_id": "DAYSAFTERBILLDATE",
"bill_payment_term_days": 14,
"sales_payment_term_id": "DAYSAFTERBILLDATE",
"sales_payment_term_days": 14,
"discount_percent": "10.00"
}
}
Update the payment term settings for an organisation.
HTTP Request
PUT /#organisations/{organisationId}/settings/accounting/payment-terms
Parameter | Description | Required |
---|---|---|
bill_payment_term_id | The name of the bill due date term in days,weeks or months | Yes |
bill_payment_term_days | The number of days of weeks applied | Yes |
sales_payment_term_id | The name of the payment term in days,weeks or months | Yes |
sales_payment_term_days | The name of the invoice due date term in days,weeks or months | Yes |
discount_percent | The discount percent applied to this contact | Yes |
Settings > Accounting > Tax Types
List Tax Types
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/tax-types
This endpoint allows you to list all tax types for an organisation.
Response
{
"tax_types": {
"data": [
{
"id": "76b17147-86b5-4141-aa35-1ca6daa0b51e",
"name": "BAS Excluded",
"code": "BASEXCLUDED",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
},
{
"id": "0ea6f4a6-aebb-466a-afb8-6f472ef99221",
"name": "GST Free Capital",
"code": "EXEMPTCAPITAL",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
},
{
"id": "3a6dbb02-e18c-4df2-ac93-10a11aeb7118",
"name": "GST Free Expenses",
"code": "EXEMPTEXPENSES",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
]
}
}
Get a Tax Type
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/accounting/tax-types/{taxTypeId}
This endpoint retrieves a specific tax type.
Response
{
"tax_type": {
"id": "76b17147-86b5-4141-aa35-1ca6daa0b51e",
"name": "BAS Excluded",
"code": "BASEXCLUDED",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
Add a Tax Type
Response
{
"tax_type": {
"id": "76b17147-86b5-4141-aa35-1ca6daa0b51e",
"name": "BAS Excluded",
"code": "BASEXCLUDED",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
This endpoint adds a new tax type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/tax-types
Parameter | Description | Required |
---|---|---|
name | tax type name | Yes |
code | Code for the tax type, from accounting software provider | No |
Update a Tax Type
Response
{
"tax_type": {
"id": "76b17147-86b5-4141-aa35-1ca6daa0b51e",
"name": "BAS Excluded",
"code": "BASEXCLUDED",
"created_at": "2022-10-31T04:10:51.000000Z",
"updated_at": "2022-10-31T04:10:51.000000Z"
}
}
This endpoint modifies an existing tax type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/tax-types/{taxTypeId}
Parameter | Description | Required |
---|---|---|
name | tax type name | No |
code | Code for the tax type, from accounting software provider | No |
Delete a Tax Type
Response
204 | No content
This endpoint deletes a specific tax type.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/accounting/tax-types/{taxTypeId}
Delete multiple Tax Types
Response
204 | No content
This endpoint deletes multiple tax types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/tax-types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of tax type ids | Yes |
Restore Tax Types
Response
204 | No content
This endpoint restores tax types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/accounting/tax-types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of tax type ids | Yes |
Set the default Tax Type
Response
204 | No content
This endpoint sets the default tax type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/accounting/tax-types/{taxTypeId}/default
Settings > Activity Screens
List Activity Screens
Response
{
"activity_screens": [
{
"id": "685a38e2-c4be-4e47-8769-f9fb701c1053",
"name": "Dev Team",
"staff_selection": "selected",
"from": "09:00",
"to": "17:00",
"created_at": "2022-03-24T07:47:43.000000Z",
"updated_at": "2022-03-24T07:47:43.000000Z"
},
{
"id": "0aa02735-e316-4153-8aa4-1bdcd0f23671",
"name": "Staff",
"staff_selection": "selected",
"staff_count": 4,
"staff_count_active": 0,
"from": "09:00",
"to": "18:00",
"created_at": "2022-03-24T06:47:17.000000Z",
"updated_at": "2022-03-24T06:52:08.000000Z"
}
]
}
This endpoint retrieves all the Activity Screens for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/activity-screens
Parameter | Description | Required |
---|---|---|
deleted | Boolean flag to filter by trashed status | No |
Get an Activity Screen
Response
{
"activity_screen": {
"id": "685a38e2-c4be-4e47-8769-f9fb701c1053",
"name": "Dev Team",
"staff_selection": "selected",
"from": "09:00",
"to": "17:00",
"created_at": "2022-03-24T07:47:43.000000Z",
"updated_at": "2022-03-24T07:47:43.000000Z"
}
}
This endpoint retrieves a specific Activity Screen for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/activity-screens/{activityScreenId}
Add an Activity Screen
Response
{
"activity_screen": {
"id": "685a38e2-c4be-4e47-8769-f9fb701c1053",
"name": "Dev Team",
"staff_selection": "selected",
"from": "09:00",
"to": "17:00",
"created_at": "2022-03-24T07:47:43.000000Z",
"updated_at": "2022-03-24T07:47:43.000000Z"
}
}
This endpoint adds an Activity Screen for your organisation profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/activity-screens
Parameter | Description | Required |
---|---|---|
name | Name of the Activity Screen | Yes |
staff_selection | 'all' or 'selected' staff | Yes |
staff_selection_ids | An array of staff IDs | if selection = 'selected' |
from | From time formatted as "HH:MM" | Yes |
to | To time formatted as "HH:MM" | Yes |
Update an Activity Screen
Response
{
"agenda_screens": {
"id": "9ea35de4-0494-4be8-a8f0-e4595d8b21fe",
"name": "Residential Lead Activity Screen Update",
"item": "lead",
"types_selection": "all",
"types_selection_ids": [],
"statuses_selection": "selected",
"statuses_selection_ids": [
{
"id": "e8efe480-298f-4d3d-9772-4859d3f49326",
"name": "New"
}
],
"operations_selection": "selected",
"operations_selection_ids": [
{
"id": "fd602ac0-e3f4-4554-bde8-abb7f3a2b6f3",
"name": "Booked Site Visit"
}
],
"message": "",
"created_at": "2022-03-02T05:40:23.000000Z",
"updated_at": "2022-03-02T05:40:23.000000Z"
}
}
This endpoint updates an Activity Screen for your organisation profile.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/activity-screens/{activityScreenId}
Parameter | Description | Required |
---|---|---|
name | Name of the Activity Screen | Yes |
staff_selection | 'all' or 'selected' staff | Yes |
staff_selection_ids | An array of staff IDs | if selection = 'selected' |
from | From time formatted as "HH:MM" | Yes |
to | To time formatted as "HH:MM" | Yes |
Delete an Activity Screen
Response
204 | No content
This endpoint deletes a specific Activity Screen.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/activity-screens/{activityScreenId}
Delete multiple Activity Screens
Response
204 | No content
This endpoint deletes one or more Activity Screens.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/activity-screens/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Activity Screen Ids | Yes |
Restore multiple Activity Screens
Response
204 | No content
This endpoint restores one or more Activity Screens.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/activity-screens/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Activity Screen Ids | Yes |
Settings > Activity Screen Members
List Members
Response
{
"activity_screen_members": {
"data": [
{
"id": "ec31a014-b116-4100-96cb-dddfe55b8fc7",
"staff_id": "64f35a99-5112-4693-b06a-a8b3dc68d2b2",
"restrict_to_own_tasks": false
}
]
}
}
This endpoint retrieves all the members for Activity Screens.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/activity-screens/members
Add a Member
Response
204 | No content
This endpoint adds a member of an Activity Screen.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/activity-screens/{activityScreenId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the new member | required |
Delete a Member
Response
204 | No content
This endpoint deletes a member of an Activity Screen.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/activity-screens/{activityScreenId}/members/{memberId}
Settings > Agenda Screens
List Agenda Screens
Response
{
"agenda_screens": [
{
"id": "f19c838c-1718-4640-8b16-eb8c87bec27d",
"name": "All Leads Agenda Screen",
"item": "lead",
"types_selection": "all",
"types_selection_ids": [],
"statuses_selection": "all",
"statuses_selection_ids": [],
"operations_selection": "all",
"operations_selection_ids": [],
"labour_centres_selection": "all",
"labour_centres_selection_ids": [],
"message": null,
"created_at": "2022-03-01T05:32:17.000000Z",
"updated_at": "2022-03-02T03:05:36.000000Z"
},
{
"id": "dd8df7c0-4f14-4cc7-ada0-8f85028f7073",
"name": "Commercial Lead Agenda Screen",
"item": "lead",
"types_selection": "selected",
"types_selection_ids": [
{
"id": "2395259a-fbbb-43aa-80f2-9741fb86c8b7",
"name": "Commercial"
}
],
"statuses_selection": "selected",
"statuses_selection_ids": [
{
"id": "259bc1d7-ec2c-4c01-a744-f19de2bf8f1f",
"name": "In Progress"
}
],
"operations_selection": "selected",
"operations_selection_ids": [
{
"id": "fd602ac0-e3f4-4554-bde8-abb7f3a2b6f3",
"name": "Booked Site Visit"
},
{
"id": "1b0b863d-e1d1-4049-9062-75e8642cc901",
"name": "Showroom Consultation Complete"
},
{
"id": "131b7893-1b9c-4695-92dd-11b0959c9b0f",
"name": "Booked Showroom Consultation"
},
{
"id": "b5b3fc96-56c6-4091-8421-f75acb000166",
"name": "Lead Entered"
}
],
"labour_centres_selection": "selected",
"labour_centres_selection_ids": [
{
"id": "b5b3fc96-56c6-4091-8421-f75acb000166",
"name": "CNC 1"
}
],
"message": null,
"created_at": "2022-03-01T05:20:43.000000Z",
"updated_at": "2022-03-02T03:04:46.000000Z"
}
]
}
This endpoint retrieves all the Agenda Screens for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/agenda-screens
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get an Agenda Screen
Response
{
"agenda_screen": {
"id": "dd8df7c0-4f14-4cc7-ada0-8f85028f7073",
"name": "Commercial Lead Agenda Screen",
"item": "lead",
"types_selection": "selected",
"types_selection_ids": [
{
"id": "2395259a-fbbb-43aa-80f2-9741fb86c8b7",
"name": "Commercial"
}
],
"statuses_selection": "selected",
"statuses_selection_ids": [
{
"id": "259bc1d7-ec2c-4c01-a744-f19de2bf8f1f",
"name": "In Progress"
}
],
"operations_selection": "selected",
"operations_selection_ids": [
{
"id": "fd602ac0-e3f4-4554-bde8-abb7f3a2b6f3",
"name": "Booked Site Visit"
},
{
"id": "1b0b863d-e1d1-4049-9062-75e8642cc901",
"name": "Showroom Consultation Complete"
},
{
"id": "131b7893-1b9c-4695-92dd-11b0959c9b0f",
"name": "Booked Showroom Consultation"
},
{
"id": "b5b3fc96-56c6-4091-8421-f75acb000166",
"name": "Lead Entered"
}
],
"labour_centres_selection": "selected",
"labour_centres_selection_ids": [
{
"id": "b5b3fc96-56c6-4091-8421-f75acb000166",
"name": "CNC 1"
}
],
"message": null,
"created_at": "2022-03-01T05:20:43.000000Z",
"updated_at": "2022-03-02T03:04:46.000000Z"
}
}
This endpoint retrieves a specific Agenda Screen for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/agenda-screens/{agendaScreenId}
Add an Agenda Screen
Response
{
"agenda_screens": {
"id": "9ea35de4-0494-4be8-a8f0-e4595d8b21fe",
"name": "Residential Lead Agenda Screen 2",
"item": "lead",
"types_selection": "selected",
"types_selection_ids": [
{
"id": "efb9dcf5-4fc9-4aeb-936c-12c9a20cc453",
"name": "Builder"
}
],
"statuses_selection": "selected",
"statuses_selection_ids": [
{
"id": "e8efe480-298f-4d3d-9772-4859d3f49326",
"name": "New"
}
],
"operations_selection": "selected",
"operations_selection_ids": [
{
"id": "fd602ac0-e3f4-4554-bde8-abb7f3a2b6f3",
"name": "Booked Site Visit"
},
{
"id": "131b7893-1b9c-4695-92dd-11b0959c9b0f",
"name": "Booked Showroom Consultation"
}
],
"labour_centres_selection": "selected",
"labour_centres_selection_ids": [
{
"id": "b5b3fc96-56c6-4091-8421-f75acb000166",
"name": "CNC 1"
}
],
"message": "",
"created_at": "2022-03-02T05:40:23.000000Z",
"updated_at": "2022-03-02T05:40:23.000000Z"
}
}
This endpoint adds an Agenda Screen for your organisation profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/agenda-screens
Parameter | Description | Required |
---|---|---|
name | Name of the Agenda Screen | Yes |
item | Item of the Agenda Screen | Yes |
operations_selection | 'all' or 'selected' operations | No |
operations_selection_ids | An array of operations IDs | if selection = 'selected' |
types_selection | 'all' or 'selected' contact types | No |
types_selection_ids | An array of contact type IDs | if selection = 'selected' |
statuses_selection | 'all' or 'selected' statuses for the agenda | No |
statuses_selection_ids | An array of status IDs | if selection = 'selected' |
labour_centres_selection | 'all' or 'selected' labour centres for the agenda | No |
labour_centres_selection_ids | An array of labour centre IDs | if selection = 'selected' |
Update an Agenda Screen
Response
{
"agenda_screens": {
"id": "9ea35de4-0494-4be8-a8f0-e4595d8b21fe",
"name": "Residential Lead Agenda Screen Update",
"item": "lead",
"types_selection": "all",
"types_selection_ids": [],
"statuses_selection": "selected",
"statuses_selection_ids": [
{
"id": "e8efe480-298f-4d3d-9772-4859d3f49326",
"name": "New"
}
],
"operations_selection": "selected",
"operations_selection_ids": [
{
"id": "fd602ac0-e3f4-4554-bde8-abb7f3a2b6f3",
"name": "Booked Site Visit"
}
],
"labour_centres_selection": "selected",
"labour_centres_selection_ids": [
{
"id": "b5b3fc96-56c6-4091-8421-f75acb000166",
"name": "CNC 1"
}
],
"message": "",
"created_at": "2022-03-02T05:40:23.000000Z",
"updated_at": "2022-03-02T05:40:23.000000Z"
}
}
This endpoint updates an Agenda Screen for your organisation profile.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/agenda-screens
Parameter | Description | Required |
---|---|---|
name | Name of the Agenda Screen | Yes |
item | Item of the Agenda Screen | Yes |
operations_selection | 'all' or 'selected' operations | No |
operations_selection_ids | An array of operations IDs | if selection = 'selected' |
types_selection | 'all' or 'selected' contact types | No |
types_selection_ids | An array of contact type IDs | if selection = 'selected' |
statuses_selection | 'all' or 'selected' statuses for the agenda | No |
statuses_selection_ids | An array of status IDs | if selection = 'selected' |
labour_centres_selection | 'all' or 'selected' labour centres for the agenda | No |
labour_centres_selection_ids | An array of labour centre IDs | if selection = 'selected' |
Delete an Agenda Screen
Response
204 | No content
This endpoint deletes a specific Agenda Screen.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/agenda-screens/{agendaScreenId}
Delete multiple Agenda Screens
Response
204 | No content
This endpoint deletes one or more Agenda Screens.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/agenda-screens/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Agenda Screen Ids | Yes |
Restore multiple Agenda Screens
Response
204 | No content
This endpoint restores one or more Agenda Screens.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/agenda-screens/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Agenda Screen Ids | Yes |
List Agenda Screen Tasks
Response
{
"tasks": {
"data": [
{
"id": "bc65501d-709b-4df4-a1e0-88064f716870",
"name": "Contact client",
"step_id": "154ee64c-d2aa-498e-acb1-bdc70f0d8005",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 900,
"target_date_calculation": 0,
"created_at": "2022-03-01T05:23:31.000000Z",
"updated_at": "2022-03-01T05:23:31.000000Z"
},
{
"id": "40fa0075-914e-441f-9477-9b5fd31c17f3",
"name": "Arrange Meeting",
"step_id": "08137fcf-83d1-47a9-937e-9146f4a7bb62",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 7200,
"target_date_calculation": 0,
"created_at": "2022-03-01T05:23:31.000000Z",
"updated_at": "2022-03-01T05:53:36.000000Z"
},
{
"id": "7dcc7dd4-9d5c-4cbd-9314-df4aa12e2c96",
"name": "Follow Up Call",
"step_id": "e62316e0-d7db-44c5-a706-8310a9d276c9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"staff_qty": 1,
"estimated_time": 900,
"target_date_calculation": 0,
"created_at": "2022-03-01T05:26:27.000000Z",
"updated_at": "2022-03-01T05:51:38.000000Z"
}
]
}
}
This endpoint retrieves all tasks for a specific Agenda Screen.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/agenda-screens/{agendaScreenId}/tasks
Settings > Agenda Screen Items
List Agenda Screen Items
Response
{
"items": [
{
"id": "project",
"name": "Project"
},
{
"id": "lead",
"name": "Lead"
},
{
"id": "job",
"name": "Job"
}
]
}
This endpoint retrieves all the items for Agenda Screens.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/agenda-screens/items
Settings > Agenda Screen Members
List Members
Response
{
"agenda_screen_members": {
"data": [
{
"id": "ec31a014-b116-4100-96cb-dddfe55b8fc7",
"staff_id": "64f35a99-5112-4693-b06a-a8b3dc68d2b2",
"restrict_to_own_tasks": false
}
]
}
}
This endpoint retrieves all the members for Agenda Screens.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/agenda-screens/members
Add a Member
Response
204 | No content
This endpoint adds a member of an Agenda Screen.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/agenda-screens/{agendaScreenId}/members
Parameter | Description | Required |
---|---|---|
staff_id | The id of the new member | required |
restrict_to_own_tasks | Boolean which restricts the Staff members view of Agenda Screen tasks | Optional |
Update a Member
Response
204 | No content
This endpoint updates a member of an Agenda Screen.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/agenda-screens/{agendaScreenId}/members/{memberId}
Parameter | Description | Required |
---|---|---|
restrict_to_own_tasks | Boolean which restricts the Staff members view of Agenda Screen tasks | Optional |
Delete a Member
Response
204 | No content
This endpoint deletes a member of an Agenda Screen.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/agenda-screens/{agendaScreenId}/members/{memberId}
Settings > Catalogue Brands
List Catalogue Brands
Response
{
"catalogue_item_brands": {
"data": [
{
"id": "56a044d4-0b5a-46e1-aa58-8798b42d0742",
"name": "Hettich",
"created_at": "2022-10-17T06:28:52.000000Z",
"updated_at": "2022-10-17T06:28:52.000000Z"
},
{
"id": "635d00fb-1a67-481c-82dd-3c45213a36f0",
"name": "Laminex",
"created_at": "2022-10-17T06:29:06.000000Z",
"updated_at": "2022-10-17T06:29:06.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Brands for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/brands
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Brand
Response
{
"catalogue_item_brand": {
"id": "56a044d4-0b5a-46e1-aa58-8798b42d0742",
"name": "Hettich",
"created_at": "2022-10-17T06:28:52.000000Z",
"updated_at": "2022-10-17T06:28:52.000000Z"
}
}
This endpoint retrieves a specific Catalogue Brand.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/brands/{catalogueItemBrandId}
Add a Catalogue Brand
Response
{
"catalogue_item_brand": {
"id": "635d00fb-1a67-481c-82dd-3c45213a36f0",
"name": "Laminex",
"created_at": "2022-10-17T06:29:06.000000Z",
"updated_at": "2022-10-17T06:29:06.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/brands
This endpoint allows you to add a Catalogue Brand
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Brand | Yes |
Update a Catalogue Brand
Response
{
"catalogue_item_brand": {
"id": "56a044d4-0b5a-46e1-aa58-8798b42d0742",
"name": "Hettich",
"created_at": "2022-10-17T06:28:52.000000Z",
"updated_at": "2022-10-17T06:28:52.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/brands/{catalogueItemBrandId}
This endpoint allows you to update the details of a specific Catalogue Brand.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Brand | Yes |
Delete a Catalogue Brand
Response
204 | No content
This endpoint deletes a specific Catalogue Brand.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/brands/{catalogueItemBrandId}
Delete multiple Catalogue Brand
Response
204 | No content
This endpoint deletes multiple Catalogue Brands.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/brands/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Brand Ids | Yes |
Restore Catalogue Brand
Response
204 | No content
This endpoint restores one or multiple Catalogue Brands.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/brands/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Brand Ids | Yes |
Settings > Catalogue Categories
List Catalogue Categories
Response
{
"catalogue_item_categories": {
"data": [
{
"id": "0da7f132-d746-423d-931a-6a3669056591",
"name": "Accessories",
"code": "ACCV",
"markup_percent": "13.00",
"created_at": "2022-10-31T04:10:52.000000Z",
"updated_at": "2022-11-01T02:27:22.000000Z"
},
{
"id": "c7de315b-0b77-4df4-933a-ab5595a0e431",
"name": "Adhesive & Sealant",
"code": null,
"markup_percent": null,
"created_at": "2022-10-31T04:10:52.000000Z",
"updated_at": "2022-10-31T04:10:52.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Categories for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/categories
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Category
Response
{
"catalogue_item_category": {
"id": "0da7f132-d746-423d-931a-6a3669056591",
"name": "Accessories",
"code": "ACCV",
"markup_percent": "13.00",
"created_at": "2022-10-31T04:10:52.000000Z",
"updated_at": "2022-11-01T02:27:22.000000Z"
}
}
This endpoint retrieves a specific Catalogue Category.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/categories/{catalogueItemCategoryId}
Add a Catalogue Category
Response
{
"catalogue_item_category": {
"id": "0da7f132-d746-423d-931a-6a3669056591",
"name": "Accessories",
"code": "ACCV",
"markup_percent": "13.00",
"created_at": "2022-10-31T04:10:52.000000Z",
"updated_at": "2022-11-01T02:27:22.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/categories
This endpoint allows you to add a Catalogue Category
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Category | Yes |
code | Code for the catalogue category, from accounting software provider | No |
Update a Catalogue Category
Response
{
"catalogue_item_category": {
"id": "0da7f132-d746-423d-931a-6a3669056591",
"name": "Accessories",
"code": "ACCES",
"markup_percent": "13.00",
"created_at": "2022-10-31T04:10:52.000000Z",
"updated_at": "2022-11-01T02:27:22.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/categories/{catalogueItemCategoryId}
This endpoint allows you to update the details of a specific Catalogue Category.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Category | Yes |
code | Code for the catalogue category, from accounting software provider | No |
Delete a Catalogue Category
Response
204 | No content
This endpoint deletes a specific Catalogue Category.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/categories/{catalogueItemCategoryId}
Delete multiple Catalogue Categories
Response
204 | No content
This endpoint deletes multiple Catalogue Categories.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/categories/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Category Ids | Yes |
Restore Catalogue Categories
Response
204 | No content
This endpoint restores one or multiple Catalogue Categories.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/categories/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Category Ids | Yes |
Settings > Catalogue Colours
List Catalogue Colours
Response
{
"catalogue_item_colours": {
"data": [
{
"id": "8df738a2-6623-4101-869a-0aedf1dc8308",
"name": "Blue",
"created_at": "2022-10-17T06:57:09.000000Z",
"updated_at": "2022-10-17T06:57:09.000000Z"
},
{
"id": "3badfbcf-c27c-4f79-b011-1ab7005e4c25",
"name": "Brown",
"created_at": "2022-10-17T06:57:01.000000Z",
"updated_at": "2022-10-17T06:57:01.000000Z"
},
{
"id": "06f64f21-fe15-469c-8b5b-7347a3caad4e",
"name": "Jarrah",
"created_at": "2022-10-17T06:57:20.000000Z",
"updated_at": "2022-10-17T06:57:20.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Colour for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/colours
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Colour
Response
{
"catalogue_item_colour": {
"id": "8df738a2-6623-4101-869a-0aedf1dc8308",
"name": "Blue",
"created_at": "2022-10-17T06:57:09.000000Z",
"updated_at": "2022-10-17T06:57:09.000000Z"
}
}
This endpoint retrieves a specific Catalogue Colour.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/colours/{catalogueItemColourId}
Add a Catalogue Colour
Response
{
"catalogue_item_colour": {
"id": "bcb58ba3-f922-48c0-ac49-58c06bf13458",
"name": "Jarrah",
"created_at": "2022-10-17T06:48:28.000000Z",
"updated_at": "2022-10-17T06:48:28.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/colours
This endpoint allows you to add a Catalogue Colour
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Colour | Yes |
Update a Catalogue Colour
Response
{
"catalogue_item_colour": {
"id": "3badfbcf-c27c-4f79-b011-1ab7005e4c25",
"name": "Brown",
"created_at": "2022-10-17T06:57:01.000000Z",
"updated_at": "2022-10-17T06:57:01.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/colours/{catalogueItemColourId}
This endpoint allows you to update the details of a specific Catalogue Colour.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Colour | Yes |
Delete a Catalogue Colour
Response
204 | No content
This endpoint deletes a specific Catalogue Colour.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/colours/{catalogueItemColourId}
Delete multiple Catalogue Colours
Response
204 | No content
This endpoint deletes multiple Catalogue Colour.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/colours/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Colour Ids | Yes |
Restore Catalogue Colours
Response
204 | No content
This endpoint restores one or multiple Catalogue Colours.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/colours/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Colour Ids | Yes |
Settings > Catalogue Finishes
List Catalogue Finishes
Response
{
"catalogue_item_finishes": {
"data": [
{
"id": "bcb58ba3-f922-48c0-ac49-58c06bf13458",
"name": "Ash",
"created_at": "2022-10-17T06:48:28.000000Z",
"updated_at": "2022-10-17T06:48:28.000000Z"
},
{
"id": "69949cc7-8f66-4f19-a07c-4935bba06d84",
"name": "Clear",
"created_at": "2022-10-17T06:46:16.000000Z",
"updated_at": "2022-10-17T06:46:16.000000Z"
},
{
"id": "fd355072-ac7d-4517-9aa0-bc0da3c690e8",
"name": "Grain",
"created_at": "2022-10-17T06:46:02.000000Z",
"updated_at": "2022-10-17T06:46:02.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Finishes for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/finishes
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Finish
Response
{
"catalogue_item_finish": {
"id": "69949cc7-8f66-4f19-a07c-4935bba06d84",
"name": "Clear",
"created_at": "2022-10-17T06:46:16.000000Z",
"updated_at": "2022-10-17T06:46:16.000000Z"
}
}
This endpoint retrieves a specific Catalogue Finish.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/finishes/{catalogueItemFinishId}
Add a Catalogue Finish
Response
{
"catalogue_item_finish": {
"id": "bcb58ba3-f922-48c0-ac49-58c06bf13458",
"name": "Ash",
"created_at": "2022-10-17T06:48:28.000000Z",
"updated_at": "2022-10-17T06:48:28.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/finishes
This endpoint allows you to add a Catalogue Finish
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Finish | Yes |
Update a Catalogue Finish
Response
{
"catalogue_item_finish": {
"id": "bcb58ba3-f922-48c0-ac49-58c06bf13458",
"name": "Ash Grain",
"created_at": "2022-10-17T06:48:28.000000Z",
"updated_at": "2022-10-17T06:48:28.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/finishes/{catalogueItemFinishId}
This endpoint allows you to update the details of a specific Catalogue Finish.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Finish | Yes |
Delete a Catalogue Finish
Response
204 | No content
This endpoint deletes a specific Catalogue Finish.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/finishes/{catalogueItemFinishId}
Delete multiple Catalogue Finishes
Response
204 | No content
This endpoint deletes multiple Catalogue Finishes.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/finishes/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Finish Ids | Yes |
Restore Catalogue Finishes
Response
204 | No content
This endpoint restores one or multiple Catalogue Finishes.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/finishes/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Finish Ids | Yes |
Settings > Catalogue Pricing
List Catalogue Pricing
Response
{
"catalogue_item_pricing_settings": {
"catalogue_item_material_markup_percent": "30.00",
"catalogue_item_service_markup_percent": "40.00",
"catalogue_item_appliance_markup_percent": "15.00",
"catalogue_item_sundry_markup_percent": "10.00"
}
}
This endpoint retrieves all the Catalogue Pricing for a specific Organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/pricing
Update Catalogue Pricing
Response
204 | No content
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/pricing
This endpoint allows you to update the catalogue pricing for a specific Organisation.
Parameter | Description | Required |
---|---|---|
catalogue_item_material_markup_percent | The markup percentage applied to materials | Yes |
catalogue_item_service_markup_percent | The markup percentage applied to services | Yes |
catalogue_item_appliance_markup_percent | The markup percentage applied to appliances | Yes |
catalogue_item_sundry_markup_percent | The markup percentage applied to sundries | Yes |
Settings > Catalogue Ranges
List Catalogue Ranges
Response
{
"catalogue_item_ranges": {
"data": [
{
"id": "6e3f1465-3565-44ad-956e-b61ae4885dba",
"name": "Movento",
"created_at": "2022-10-17T07:29:43.000000Z",
"updated_at": "2022-10-17T07:29:43.000000Z"
},
{
"id": "2a2ec14c-4bc8-4f89-9790-f2bd4644e0ca",
"name": "Pattern",
"created_at": "2022-10-17T07:29:50.000000Z",
"updated_at": "2022-10-17T07:29:50.000000Z"
},
{
"id": "d2a2e184-46ac-4634-bcb4-7e7ac624215e",
"name": "Woodgrain",
"created_at": "2022-10-17T07:29:20.000000Z",
"updated_at": "2022-10-17T07:29:20.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Range for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/ranges
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Range
Response
{
"catalogue_item_range": {
"id": "6e3f1465-3565-44ad-956e-b61ae4885dba",
"name": "Movento",
"created_at": "2022-10-17T07:29:43.000000Z",
"updated_at": "2022-10-17T07:29:43.000000Z"
}
}
This endpoint retrieves a specific Catalogue Range.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/ranges/{catalogueItemRangeId}
Add a Catalogue Range
Response
{
"catalogue_item_range": {
"id": "2a2ec14c-4bc8-4f89-9790-f2bd4644e0ca",
"name": "Pattern",
"created_at": "2022-10-17T07:29:50.000000Z",
"updated_at": "2022-10-17T07:29:50.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/ranges
This endpoint allows you to add a Catalogue Range
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Range | Yes |
Update a Catalogue Range
Response
{
"catalogue_item_range": {
"id": "2a2ec14c-4bc8-4f89-9790-f2bd4644e0ca",
"name": "Pattern Gloss",
"created_at": "2022-10-17T07:29:50.000000Z",
"updated_at": "2022-10-17T07:29:50.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/ranges/{catalogueItemRangeId}
This endpoint allows you to update the details of a specific Catalogue Range.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Range | Yes |
Delete a Catalogue Range
Response
204 | No content
This endpoint deletes a specific Catalogue Range.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/ranges/{catalogueItemRangeId}
Delete multiple Catalogue Ranges
Response
204 | No content
This endpoint deletes multiple Catalogue Range.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/ranges/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Range Ids | Yes |
Restore Catalogue Ranges
Response
204 | No content
This endpoint restores one or multiple Catalogue Ranges.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/ranges/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Range Ids | Yes |
Settings > Catalogue Styles
List Catalogue Styles
Response
{
"styles": {
"data": [
{
"id": "3d58374a-32ca-4e0f-bd9c-6f8f4509139f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Loft Bedroom",
"choices": [],
"created_at": "2022-10-18T06:13:31.000000Z",
"updated_at": "2022-10-18T06:21:47.000000Z"
},
{
"id": "920c3028-d2a0-4e86-89b9-0fa072a20b53",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Main Bathroom",
"choices": {
"56845312-8241-4f7a-9758-6cf48ae52e7f": {
"style_option_id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"style_option_name": "Black Gloss 16mm"
}
},
"created_at": "2022-10-18T06:21:19.000000Z",
"updated_at": "2022-10-18T06:21:19.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Styles for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/styles
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Style
Response
{
"style": {
"id": "3d58374a-32ca-4e0f-bd9c-6f8f4509139f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Loft Bedroom",
"choices": {
"56845312-8241-4f7a-9758-6cf48ae52e7f": {
"style_option_id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"style_option_name": "Black Gloss 16mm"
}
},
"created_at": "2022-10-18T06:13:31.000000Z",
"updated_at": "2022-10-18T06:21:47.000000Z"
}
}
This endpoint retrieves a specific Catalogue Style.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/styles/{catalogueStyleId}
Add a Catalogue Style
Response
{
"style": {
"id": "920c3028-d2a0-4e86-89b9-0fa072a20b53",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Main Bathroom",
"choices": {
"56845312-8241-4f7a-9758-6cf48ae52e7f": {
"style_option_id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"style_option_name": "Black Gloss 16mm"
}
},
"created_at": "2022-10-18T06:21:19.000000Z",
"updated_at": "2022-10-18T06:21:19.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles
This endpoint allows you to add a Catalogue Style
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Style | Yes |
choices[] | An array of style item Ids and style option Ids | No |
Choices has the following properties
Parameter | Description | Required |
---|---|---|
style_item_id | The style item Id for the style | Yes |
style_item_id | The style option Id for the style | Yes |
Update a Catalogue Style
Response
{
"style": {
"id": "920c3028-d2a0-4e86-89b9-0fa072a20b53",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Second Bathroom",
"choices": {
"56845312-8241-4f7a-9758-6cf48ae52e7f": {
"style_option_id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"style_option_name": "White Gloss 16mm"
}
},
"created_at": "2022-10-18T06:21:19.000000Z",
"updated_at": "2022-10-18T06:21:19.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/styles/{catalogueStyledId}
This endpoint allows you to update the details of a specific Catalogue Style.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Style | No |
choices[] | An array of style item Ids and style option Ids | No |
Choices has the following properties
Parameter | Description | Required |
---|---|---|
style_item_id | The style item Id for the style | Yes |
style_item_id | The style option Id for the style | No |
Delete a Catalogue Style
Response
204 | No content
This endpoint deletes a specific Catalogue Style.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/styles/{catalogueStyledId}
Delete multiple Catalogue Styles
Response
204 | No content
This endpoint deletes multiple Catalogue Styles.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Style Ids | Yes |
Restore Catalogue Styles
Response
204 | No content
This endpoint restores one or multiple Catalogue Styles.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Style Ids | Yes |
Settings > Catalogue Style Options
List Catalogue Style Options
Response
{
"style_options": {
"data": [
{
"id": "d9e1dc18-6ba0-4cb4-bdde-7d47b1b99e32",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Black Matt 16mm",
"style_item_selection": "selected",
"style_item_selection_ids": [
{
"id": "e8f1deff-1e39-4fa4-992f-a2eeca6f527d",
"name": "Handle"
},
{
"id": "56845312-8241-4f7a-9758-6cf48ae52e7f",
"name": "Door"
}
],
"markup_percent": "60.00",
"created_at": "2022-10-18T06:18:53.000000Z",
"updated_at": "2022-10-18T06:18:53.000000Z"
},
{
"id": "da4b8927-abbb-42ad-b034-f3c93c2c6fc5",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Black Matt 16mm",
"style_item_selection": "all",
"style_item_selection_ids": [],
"markup_percent": "60.00",
"created_at": "2022-10-18T06:16:37.000000Z",
"updated_at": "2022-10-18T06:16:37.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Style Options for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/styles/options
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Style Option
Response
{
"style_option": {
"id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Black Gloss 16mm",
"style_item_selection": "selected",
"style_item_selection_ids": [
{
"id": "e8f1deff-1e39-4fa4-992f-a2eeca6f527d",
"name": "Handle"
},
{
"id": "a2982af1-1d10-4690-ba78-00fd670d7859",
"name": "Panel"
}
],
"markup_percent": "30.00",
"created_at": "2022-10-18T06:19:25.000000Z",
"updated_at": "2022-10-18T06:19:25.000000Z"
}
}
This endpoint retrieves a specific Catalogue Style Option.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/styles/options/{catalogueStyleOptionId}
Add a Catalogue Style Option
Response
{
"style_option": {
"id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Black Gloss 16mm",
"style_item_selection": "selected",
"style_item_selection_ids": [
{
"id": "e8f1deff-1e39-4fa4-992f-a2eeca6f527d",
"name": "Handle"
},
{
"id": "a2982af1-1d10-4690-ba78-00fd670d7859",
"name": "Panel"
}
],
"markup_percent": "30.00",
"created_at": "2022-10-18T06:19:25.000000Z",
"updated_at": "2022-10-18T06:19:25.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/options
This endpoint allows you to add a Catalogue Option
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Style Option | Yes |
style_item_selection | 'all' or 'selected' style items | Yes |
style_item_selection_ids | An array of style item IDs | if selection = 'selected' |
catalogue_item_id | An catalogue item Id | Yes |
markup_percent | The percentage markup applied to item price | No |
Update a Catalogue Style Option
Response
{
"style_option": {
"id": "6034c55f-1d40-438a-aee4-3382fcf92ca3",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Black Gloss 16mm",
"style_item_selection": "selected",
"style_item_selection_ids": [
{
"id": "e8f1deff-1e39-4fa4-992f-a2eeca6f527d",
"name": "Handle"
},
{
"id": "a2982af1-1d10-4690-ba78-00fd670d7859",
"name": "Panel"
}
],
"markup_percent": "30.00",
"created_at": "2022-10-18T06:19:25.000000Z",
"updated_at": "2022-10-18T06:19:25.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/styles/options/{catalogueStyleOptionId}
This endpoint allows you to update the details of a specific Catalogue Style Option.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Style Option | No |
style_item_selection | 'all' or 'selected' style items | No |
style_item_selection_ids | An array of style item IDs | if selection = 'selected' |
catalogue_item_id | An catalogue item Id | Yes |
markup_percent | The percentage markup applied to item price | No |
Delete a Catalogue Style Option
Response
204 | No content
This endpoint deletes a specific Catalogue Style Option.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/styles/options/{catalogueStyleOptionId}
Delete multiple Catalogue Style Options
Response
204 | No content
This endpoint deletes multiple Catalogue Style Options.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/options/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Style Option Ids | Yes |
Restore Catalogue Style Options
Response
204 | No content
This endpoint restores one or multiple Catalogue Style Options.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/options/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Style Option Ids | Yes |
Settings > Catalogue Style Items
List Catalogue Style Items
Response
{
"style_items": {
"data": [
{
"id": "56845312-8241-4f7a-9758-6cf48ae52e7f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Door",
"created_at": "2022-10-18T06:18:06.000000Z",
"updated_at": "2022-10-18T06:18:06.000000Z"
},
{
"id": "e8f1deff-1e39-4fa4-992f-a2eeca6f527d",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Handle",
"created_at": "2022-10-18T06:17:57.000000Z",
"updated_at": "2022-10-18T06:17:57.000000Z"
},
{
"id": "a2982af1-1d10-4690-ba78-00fd670d7859",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Panel",
"created_at": "2022-10-18T06:18:24.000000Z",
"updated_at": "2022-10-18T06:18:24.000000Z"
}
]
}
}
This endpoint retrieves all the Catalogue Style Items for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/styles/items
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Catalogue Style Item
Response
{
"style_item": {
"id": "56845312-8241-4f7a-9758-6cf48ae52e7f",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Door",
"created_at": "2022-10-18T06:18:06.000000Z",
"updated_at": "2022-10-18T06:18:06.000000Z"
}
}
This endpoint retrieves a specific Catalogue Style Item.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/catalogue/styles/items/{catalogueStyleItemId}
Add a Catalogue Style Item
Response
{
"style_item": {
"id": "a2982af1-1d10-4690-ba78-00fd670d7859",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Panel",
"created_at": "2022-10-18T06:18:24.000000Z",
"updated_at": "2022-10-18T06:18:24.000000Z"
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/items
This endpoint allows you to add a Catalogue Item
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Style Item | Yes |
style_option_selection | 'all' or 'selected' style options | Yes |
style_option_selection_ids | An array of style option IDs | if selection = 'selected' |
Update a Catalogue Style Item
Response
{
"style_item": {
"id": "a2982af1-1d10-4690-ba78-00fd670d7859",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"name": "Panel",
"created_at": "2022-10-18T06:18:24.000000Z",
"updated_at": "2022-10-18T06:18:24.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/catalogue/styles/items/{catalogueStyleItemId}
This endpoint allows you to update the details of a specific Catalogue Style item.
Parameter | Description | Required |
---|---|---|
name | The name of the Catalogue Style Item | No |
style_option_selection | 'all' or 'selected' style options | No |
style_option_selection_ids | An array of style option IDs | if selection = 'selected' |
Delete a Catalogue Style Item
Response
204 | No content
This endpoint deletes a specific Catalogue Style Item.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/catalogue/styles/items/{catalogueStyleItemId}
Delete multiple Catalogue Style Items
Response
204 | No content
This endpoint deletes multiple Catalogue Style items.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/items/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Style Item Ids | Yes |
Restore Catalogue Style Items
Response
204 | No content
This endpoint restores one or multiple Catalogue Style Items.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/catalogue/styles/items/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Catalogue Style Item Ids | Yes |
Settings > Contact Sources
List all contact sources
Response
{
"contact_sources": {
"data": [
{
"id": "3f76b411-795a-45b4-849c-ea70fff024f8",
"name": "Facebook",
"created_at": "2021-08-13T08:05:42.000000Z",
"updated_at": "2021-08-13T08:05:42.000000Z"
},
{
"id": "545a34b8-86c8-466f-8ad3-695ae2bce286",
"name": "Google",
"created_at": "2021-08-13T07:37:52.000000Z",
"updated_at": "2021-08-13T07:37:52.000000Z"
}
]
}
}
This endpoint retrieves all contact sources for contacts.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/contacts/sources
Add a new contact source
Response
{
"contact_source": {
"id": "c65f03d3-4f68-4f74-9886-a807b9c1264f",
"name": "Twitter",
"created_at": "2021-08-16T03:44:14.000000Z",
"updated_at": "2021-08-16T03:44:14.000000Z"
}
}
This endpoint adds a new contact source
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/contacts/sources
Parameter | Description |
---|---|
name | Name of new contact source |
Get a contact source
Response
{
"contact_source": {
"id": "c65f03d3-4f68-4f74-9886-a807b9c1264f",
"name": "Twitter",
"created_at": "2021-08-16T03:44:14.000000Z",
"updated_at": "2021-08-16T03:44:14.000000Z"
}
}
This endpoint retrieves a specific contact source
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/contacts/sources/{contactSourceId}
Update a contact source
Response
{
"contact_source": {
"id": "c65f03d3-4f68-4f74-9886-a807b9c1264f",
"name": "Instagram",
"created_at": "2021-08-16T03:44:14.000000Z",
"updated_at": "2021-08-16T03:55:24.000000Z"
}
}
This endpoint updates a specific contact source
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/contacts/sources/{contactSourceId}
Parameter | Description | Required |
---|---|---|
name | The name of the contact source | Yes |
Delete a contact source
Response
204 | No content
This endpoint deletes a specific contact source
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/contacts/sources/{contactSourceId}
Settings > Contact Types
List all contact types
Response
{
"contact_types": {
"data": [
{
"id": "cacc120b-239a-41dd-9ce7-108a837e8a5b",
"name": "Commercial",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"created_at": "2023-05-23T03:24:33.000000Z",
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"updated_at": "2023-05-23T03:24:33.000000Z",
"discount_percent": null,
"staff_role_selection": "all",
"staff_roles": []
},
{
"id": "0029d319-6172-43d2-a799-8adde0927563",
"name": "Supplier",
"bill_payment_term_id": null,
"bill_payment_term_days": null,
"created_at": "2023-05-23T03:24:28.000000Z",
"sales_payment_term_id": null,
"sales_payment_term_days": null,
"updated_at": "2023-05-23T03:24:28.000000Z",
"discount_percent": null,
"staff_role_selection": "all",
"staff_roles": []
}
]
}
}
This endpoint retrieves all the types for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/contacts/types
Add a new contact type
Response
{
"contact_type": {
"id": "04f3b51a-d340-4d6d-ae12-c2a3087ef0e2",
"name": "Architect",
"bill_payment_term_id": "DAYSAFTERBILLDATE",
"bill_payment_term_days": "14",
"created_at": "2023-05-26T07:14:52.000000Z",
"sales_payment_term_id": "DAYSAFTERBILLDATE",
"sales_payment_term_days": "30",
"updated_at": "2023-05-26T07:14:52.000000Z",
"discount_percent": "0",
"staff_role_selection": "selected",
"staff_roles": [
{
"id": "f360a647-44e2-4087-a6a2-360f1d4835af",
"name": "Administrator"
}
]
}
}
This endpoint retrieves creates a contact type for a specific organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/contacts/types
Parameter | Description | Required |
---|---|---|
name | The name of the contact | Yes |
discount_percent | The default discount percentage for this contact type | No |
is_individual | Boolean flag if the contact type is for an individual | No default false |
is_supplier | Boolean flag if the contact type is for a supplier | No default false |
can_have_job | Boolean flag if the contact type can be assigned to a job | No default false |
bill_payment_term_id | The Id of the Payment Term for bills | No |
bill_payment_term_days | The number of days after the payment term date a bill is due | Required with bill_payment_term_id |
sales_payment_term_id | The Id of the Payment Term for invoices | No |
sales_payment_term_days | The number of days after the payment term date an invoice is due | Required with bill_payment_term_id |
staff_role_selection | Which staff roles can have access to this contact type | No - "all" or "selected" |
staff_role_ids | Array of staff role Id's that can access this contact type | No |
Get a contact type
Response
{
"contact_type": {
"id": "04f3b51a-d340-4d6d-ae12-c2a3087ef0e2",
"name": "Architect",
"bill_payment_term_id": "DAYSAFTERBILLDATE",
"bill_payment_term_days": "14",
"created_at": "2023-05-26T07:14:52.000000Z",
"sales_payment_term_id": "DAYSAFTERBILLDATE",
"sales_payment_term_days": "30",
"updated_at": "2023-05-26T07:14:52.000000Z",
"discount_percent": "0",
"staff_role_selection": "selected",
"staff_roles": [
{
"id": "f360a647-44e2-4087-a6a2-360f1d4835af",
"name": "Administrator"
}
]
}
}
This endpoint retrieves a specific contact type for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/contacts/types/{typeId}
Update a contact type
Response
{
"contact_type": {
"id": "04f3b51a-d340-4d6d-ae12-c2a3087ef0e2",
"name": "Architect",
"bill_payment_term_id": "DAYSAFTERBILLDATE",
"bill_payment_term_days": "14",
"created_at": "2023-05-26T07:14:52.000000Z",
"sales_payment_term_id": "DAYSAFTERBILLDATE",
"sales_payment_term_days": "30",
"updated_at": "2023-05-26T07:14:52.000000Z",
"discount_percent": "0",
"staff_role_selection": "selected",
"staff_roles": [
{
"id": "f360a647-44e2-4087-a6a2-360f1d4835af",
"name": "Administrator"
}
]
}
}
This endpoint updates a specific contact type for a specific organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/contacts/types/{typeId}
Parameter | Description | Required |
---|---|---|
name | The name of the contact | Yes |
discount_percent | The default discount percentage for this contact type | No |
is_individual | Boolean flag if the contact type is for an individual | No default false |
is_supplier | Boolean flag if the contact type is for a supplier | No default false |
can_have_job | Boolean flag if the contact type can be assigned to a job | No default false |
bill_payment_term_id | The Id of the Payment Term for bills | No |
bill_payment_term_days | The number of days after the payment term date a bill is due | Required with bill_payment_term_id |
sales_payment_term_id | The Id of the Payment Term for invoices | No |
sales_payment_term_days | The number of days after the payment term date an invoice is due | Required with bill_payment_term_id |
staff_role_selection | Which staff roles can have access to this contact type | No - "all" or "selected" |
staff_role_ids | Array of staff role Id's that can access this contact type | No |
Delete a contact type
Response
204 | No content
This endpoint deletes a specific contact type for a specific organisation.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/contacts/types/{typeId}
Settings > Cloud File Storage
Get Organisation Cloud File Storage Settings
Response
{
"settings": {
"driver": "dropbox",
"driver_connected": false,
"driver_error_message": null,
"base_directory": "/Jobman Files",
"connect_url": "http://identity.jobman.io/storage/dropbox?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca",
"disconnect_url": "http://identity.jobman.io/storage/dropbox/disconnect?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
}
View the cloud file storage settings for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/cloud-file-storage
Update Organisation Cloud File Storage Settings
Response
{
"settings": {
"driver": "dropbox",
"driver_connected": false,
"driver_error_message": null,
"base_directory": "/Jobman Files",
"connect_url": "http://identity.jobman.io/storage/dropbox?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca",
"disconnect_url": "http://identity.jobman.io/storage/dropbox/disconnect?organisation=33b928af-f0b5-42f9-ae2f-48dba38929ca"
}
}
Update the cloud file storage settings for an organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/cloud-file-storage
Parameter | Description | Required |
---|---|---|
driver | The storage driver used to connect to a provider | Yes |
base_directory | The root directory that contains Jobman files | Yes |
ftp_host | The website of the organisation | Yes |
ftp_username | The first line of the organisations address | Yes |
ftp_password | The second line of the organisations address | Yes |
ftp_port | The organisations city address | Yes |
amazon_s3_key | The organisations address region | Yes |
amazon_s3_secret | The organisations post code | Yes |
amazon_s3_bucket | The country Id for the organisations address | Yes |
amazon_s3_region | The organisation address latitude | Yes |
Settings > Job Details
List Job Details
Response
{
"job_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
]
}
This endpoint retrieves all the Job Details for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/jobs/details
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Job Detail
Response
{
"job_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint retrieves a specific job detail for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/jobs/details/{jobDetailId}
Add a Job Detail
Response
{
"job_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint adds a job detail for your organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/details
Parameter | Description | Required |
---|---|---|
name | Name of the Job Detail | Yes |
question_type | The type of question, see Question Types | Yes |
is_required | Make the field required or not | No |
options | An array of possible options for the dropdown question type | No |
Update a Job Detail
Response
{
"job_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint updates a job detail for your organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/jobs/details
Parameter | Description | Required |
---|---|---|
name | Name of the Job Detail | Yes |
question_type | The type of question, see Question Types | Yes |
is_required | Make the field required or not | No |
options | An array of possible options for the dropdown question type | No |
Delete a Job Detail
Response
204 | No content
This endpoint deletes a specific Job Detail.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/jobs/details/{jobDetailId}
Delete multiple Job Details
Response
204 | No content
This endpoint deletes one or more Job Details.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/details/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Job Detail Ids | Yes |
Restore multiple Job Details
Response
204 | No content
This endpoint restores one or more Job Details.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/details/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Job Detail Ids | Yes |
Settings > Job Statuses
List Job Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/jobs/statuses
This endpoint allows you to list all job statuses for an organisation.
Response
{
"job_statuses": [
{
"id": "a1cc068e-6338-4f2d-a8ed-d0a2e172577d",
"name": "Production",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "a2855694-4b76-4806-8921-86684da6b96d",
"name": "Machining",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
]
}
Get a Job Status
HTTP Request
GET /api/v1/organisations/{organisationId}/job/statuses/{jobStatusId}
This endpoint retrieves a specific job status.
Response
{
"job_status": {
"id": "a1cc068e-6338-4f2d-a8ed-d0a2e172577d",
"name": "Production",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
}
Add a Job Status
Response
{
"job_status": {
"id": "a1cc068e-6338-4f2d-a8ed-d0a2e172577d",
"name": "Production",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
}
This endpoint adds a new job status for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/statuses
Parameter | Description | Required |
---|---|---|
name | Job statuse's name | Yes |
is_default | Specifies the if this job status is default | Yes |
is_finished | Specifies the if the job with this status is finished | Yes |
Update a Job Status
Response
{
"job_status": {
"id": "a1cc068e-6338-4f2d-a8ed-d0a2e172577d",
"name": "Production",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
}
This endpoint modifies an existing job status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/jobs/statuses/{jobStatusId}
Parameter | Description | Required |
---|---|---|
name | Job statuse's name | Yes |
is_default | Specifies the if this job status is default | Yes |
is_finished | Specifies the if the job with status is finished | Yes |
Delete a Job Status
Response
204 | No content
This endpoint deletes a specific job status, given there are no assigned jobs to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/jobs/statuses/{jobStatusId}
Delete multiple Job Statuses
Response
204 | No content
This endpoint deletes multiple job statuses, given there are no assigned jobs to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/statuses/delete
Parameter | Description | Required |
---|---|---|
ids | An array of job status Ids | Yes |
Restore Job Statuses
Response
204 | No content
This endpoint restores job statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/statuses/restore
Parameter | Description | Required |
---|---|---|
ids | An array of job status Ids | Yes |
Sort Job Statuses
Response
204 | No content
This endpoint sets the default order for job statuses
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/statuses/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Set the default Job Status
Response
204 | No content
This endpoint sets the default job status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/jobs/statuses/{jobStatusId}/default
Settings > Job Types
List Job Types
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/jobs/types
This endpoint allows you to list all job types for an organisation.
Response
{
"job_types": [
{
"id": "2956de94-fbcc-4159-8dc9-0ca145628d12",
"name": "Internal",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "d5123250-fdcc-4e34-8a32-425a2a9aa7e9",
"name": "Trades",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
]
}
Get a Job Type
HTTP Request
GET /api/v1/organisations/{organisationId}/job/types/{jobTypeId}
This endpoint retrieves a specific job type.
Response
{
"job_type": {
"id": "2956de94-fbcc-4159-8dc9-0ca145628d12",
"name": "Residential",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
}
Add a Job Type
Response
{
"job_type": {
"id": "9a0f0c7a-a26d-4edb-8fd8-5255fc5c151f",
"name": "Remote Installation",
"created_at": "2022-03-04T05:24:57.000000Z",
"updated_at": "2022-03-04T05:24:57.000000Z"
}
}
This endpoint adds a new job type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/types
Parameter | Description | Required |
---|---|---|
name | Job type's name | Yes |
Update a Job Type
Response
{
"job_type": {
"id": "9a0f0c7a-a26d-4edb-8fd8-5255fc5c151f",
"name": "Residential",
"created_at": "2022-03-04T05:24:57.000000Z",
"updated_at": "2022-03-04T05:24:57.000000Z"
}
}
This endpoint updates a job type
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/jobs/types/{jobTypeId}
Parameter | Description | Required |
---|---|---|
name | Job type's name | No |
Delete a Job Type
Response
204 | No content
This endpoint deletes a specific job type, given there are no assigned jobs to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/jobs/types/{jobTypeId}
Delete multiple Job Types
Response
204 | No content
This endpoint deletes multiple job types, given there are no assigned jobs to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of job type Ids | Yes |
Restore Job Types
Response
204 | No content
This endpoint restores job types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/jobs/types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of job type Ids | Yes |
Settings > Labour Centres
List all Labour Centres
Response
{
"labour_centres": {
"data": [
{
"id": "0e433300-1159-4627-91cd-31e9c9706e03",
"name": "CNC 1",
"operations": [
{
"id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"name": "Assemble",
"name_with_item": "Job - Assemble",
"item_name": "Job"
},
{
"id": "6704713c-e8e3-43b1-832d-d52e1436cbc0",
"name": "Book Trades",
"name_with_item": "Job - Book Trades",
"item_name": "Job"
}
],
"created_at": "2022-02-09T02:29:32.000000Z",
"updated_at": "2022-02-09T02:29:32.000000Z"
},
{
"id": "b5d2511b-1098-4f27-8c33-c5763132e923",
"name": "CNC 2",
"operations": [],
"created_at": "2022-02-09T00:41:02.000000Z",
"updated_at": "2022-02-09T03:01:13.000000Z"
}
]
}
}
This endpoint retrieves all the labour centres for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/labour-centres
Add a Labour Centre
Response
{
"labour_centre": {
"id": "477a57bd-3bc8-4dcf-9681-366d9417c37a",
"name": "CNC 1",
"operations": [
{
"id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"name": "Assemble",
"name_with_item": "Job - Assemble",
"item_name": "Job"
},
{
"id": "6704713c-e8e3-43b1-832d-d52e1436cbc0",
"name": "Book Trades",
"name_with_item": "Job - Book Trades",
"item_name": "Job"
}
],
"created_at": "2022-02-09T06:17:59.000000Z",
"updated_at": "2022-02-09T06:17:59.000000Z"
}
}
This endpoint adds a labour centre.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/labour-centres
Parameter | Description | Required |
---|---|---|
name | The name of the labour centre | Yes |
operations | An array of operations | No |
Delete a Labour Centre
Response
204 | No content
This endpoint deletes a labour centre.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/labour-centres/{labourCentreId}
Update a Labour Centre
Response
{
"labour_centre": {
"id": "0e433300-1159-4627-91cd-31e9c9706e03",
"name": "Finalise Bid",
"operations": [
{
"id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"name": "Assemble",
"name_with_item": "Job - Assemble",
"item_name": "Job"
}
],
"created_at": "2022-02-09T02:29:32.000000Z",
"updated_at": "2022-02-09T06:30:55.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/labour-centres/{labourCentreId}
This endpoint allows you to update the details of a labour centre.
Parameter | Description | Required |
---|---|---|
name | The name of the labour centre | Yes |
operation | An array of operations | No |
Delete multiple Labour Centres
Response
204 | No content
This endpoint deletes multiple labour centres.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/labour-centres/delete
Parameter | Description | Required |
---|---|---|
ids | An array of labour centres Ids | Yes |
Settings > Locations
List Locations
Response
{
"locations": {
"data": [
{
"id": "a304ff7a-2bb9-4795-8cb2-5b2cc8062a09",
"name": "Southern Depot",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "13 Jobman Street, \nPerth, WA Australia ",
"address_line1": "13 Jobman Street",
"address_line2": null,
"address_city": "Perth",
"address_region": "WA",
"address_postal_code": null,
"address_country_id": "AU",
"created_at": "2022-08-01T05:44:58.000000Z",
"updated_at": "2022-08-01T05:51:01.000000Z",
"is_default": false
},
{
"id": "c24bb722-b2ad-4942-bbe4-ca3f3c261199",
"name": "Western Depot",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "13 Jobman Street, \nPerth, WA Australia ",
"address_line1": "13 Jobman Street",
"address_line2": null,
"address_city": "Perth",
"address_region": "WA",
"address_postal_code": null,
"address_country_id": "AU",
"created_at": "2022-08-01T05:37:34.000000Z",
"updated_at": "2022-08-01T05:51:01.000000Z",
"is_default": false
}
]
}
}
This endpoint retrieves all the locations for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/locations
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Location
Response
{
"location": {
"id": "c2b6888d-229d-4b71-9a46-6ad0083698a4",
"name": "Southern Depot",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "13 Jobman Street, \nPerth, WA Australia ",
"address_line1": "13 Jobman Street",
"address_line2": null,
"address_city": "Perth",
"address_region": "WA",
"address_postal_code": null,
"address_country_id": "AU",
"created_at": "2022-08-01T05:45:34.000000Z",
"updated_at": "2022-08-01T05:51:01.000000Z",
"is_default": false
}
}
This endpoint retrieves a specific location.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/locations/{locationId}
Add a Location
Response
{
"location": {
"id": "c2b6888d-229d-4b71-9a46-6ad0083698a4",
"name": "Western Depot",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "13 Jobman Street, \nPerth, WA Australia ",
"address_line1": "13 Jobman Street",
"address_line2": null,
"address_city": "Perth",
"address_region": "WA",
"address_postal_code": null,
"address_country_id": "AU",
"created_at": "2022-08-01T05:45:34.000000Z",
"updated_at": "2022-08-01T05:51:01.000000Z",
"is_default": false
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/locations
This endpoint allows you to add a location
Parameter | Description | Required |
---|---|---|
name | The name of the location | Yes |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
is_default | Specifies if this location is the default | No |
Update a Location
Response
{
"location": {
"id": "c2b6888d-229d-4b71-9a46-6ad0083698a4",
"name": "Southern Depot",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "25 Jobman Street, \nPerth, WA Australia ",
"address_line1": "25 Jobman Street",
"address_line2": null,
"address_city": "Perth",
"address_region": "WA",
"address_postal_code": null,
"address_country_id": "AU",
"created_at": "2022-08-01T05:45:34.000000Z",
"updated_at": "2022-08-01T05:51:01.000000Z",
"is_default": false
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/locations/{locationId}
This endpoint allows you to update the details of a specific Location.
Parameter | Description | Required |
---|---|---|
name | The name of the location | Yes |
address_line1 | The first line of the locations address | No |
address_line2 | The second line of the locations address | No |
address_city | The locations city address | No |
address_region | The locations address region | No |
address_postal_code | The locations post code | No |
address_country_id | The country Id for the locations address | No |
address_map_latitude | The location address latitude | No |
address_map_longitude | The location address longtitude | No |
address_map_zoom | The locations map zoom setting | No |
is_default | Specifies if this location is the default | No |
Delete a Location
Response
204 | No content
This endpoint deletes a specific location.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/locations/{locationId}
Delete multiple Locations
Response
204 | No content
This endpoint deletes multiple Locations.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/locations/delete
Parameter | Description | Required |
---|---|---|
ids | An array of location Ids | Yes |
Restore Locations
Response
204 | No content
This endpoint restores one or multiple locations.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/locations/restore
Parameter | Description | Required |
---|---|---|
ids | An array of location Ids | Yes |
Make a Location the default
Response
{
"location": {
"id": "c2b6888d-229d-4b71-9a46-6ad0083698a4",
"name": "Southern Depot",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"address": "13 Jobman Street, \nPerth, WA Australia ",
"address_line1": "13 Jobman Street",
"address_line2": null,
"address_city": "Perth",
"address_region": "WA",
"address_postal_code": null,
"address_country_id": "AU",
"created_at": "2022-08-01T05:45:34.000000Z",
"updated_at": "2022-08-01T05:51:01.000000Z",
"is_default": true
}
}
This endpoint makes the specified Location a default
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/locations/{locationId}/default
Settings > Lead Details
List Lead Details
Response
{
"lead_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
]
}
This endpoint retrieves all the Lead Details for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/details
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Lead Detail
Response
{
"lead_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint retrieves a specific lead detail for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/details/{leadDetailId}
Add a Lead Detail
Response
{
"lead_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint adds a lead detail for your organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/details
Parameter | Description | Required |
---|---|---|
name | Name of the Job Detail | Yes |
question_type | The type of question, see Question Types | Yes |
is_required | Make the field required or not | No |
options | An array of possible options for the dropdown question type | No |
Update a Lead Detail
Response
{
"lead_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint updates a lead detail for your organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/leads/details
Parameter | Description | Required |
---|---|---|
name | Name of the Job Detail | Yes |
question_type | The type of question, see Question Types | Yes |
is_required | Make the field required or not | No |
options | An array of possible options for the dropdown question type | No |
Delete a Lead Detail
Response
204 | No content
This endpoint deletes a specific Lead Detail.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/leads/details/{leadDetailId}
Delete multiple Lead Details
Response
204 | No content
This endpoint deletes one or more Lead Details.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/details/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Lead Detail Ids | Yes |
Restore multiple Lead Details
Response
204 | No content
This endpoint restores one or more Lead Details.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/details/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Lead Detail Ids | Yes |
Settings > Lead Item Types
List Lead Item Types
Response
{
"lead_item_types": [
{
"id": "8afea5cc-6318-450f-b006-e32997e04e10",
"name": "Alfresco",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-04T07:09:25.000000Z"
},
{
"id": "8161023d-6058-42c0-872f-18f4c70c7582",
"name": "Bathroom",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-04T07:09:25.000000Z"
},
{
"id": "d2d5dea7-06ad-4a59-be60-aa1ef09b8cef",
"name": "Dinning Room",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-04T07:09:25.000000Z"
},
{
"id": "9d85d400-6004-44f0-9f99-01e3f5aeb766",
"name": "Ensuite",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-04T07:09:25.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/item-types
This endpoint allows you to list all lead item types for an organisation.
Get a Lead Item Type
Response
{
"lead_item_type": {
"id": "8afea5cc-6318-450f-b006-e32997e04e10",
"name": "Alfresco",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-04T07:09:25.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/types/{leadItemTypeId}
This endpoint retrieves a specific lead item type.
Add a Lead Item Type
Response
{
"id": "9d85d400-6004-44f0-9f99-01e3f5aeb766",
"name": "Ensuite",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-04T07:09:25.000000Z"
}
This endpoint adds a new lead item type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/item-types
Parameter | Description | Required |
---|---|---|
name | Lead item type's name | Yes |
Update a Lead Type
Response
{
"lead_item_type": {
"id": "8afea5cc-6318-450f-b006-e32997e04e10",
"name": "Lounge",
"created_at": "2022-10-04T07:09:25.000000Z",
"updated_at": "2022-10-07T05:36:16.000000Z"
}
}
This endpoint modifies an existing lead item type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/leads/item-types/{leadItemTypeId}
Parameter | Description | Required |
---|---|---|
name | Lead item type's name | No |
Delete a Lead Item Type
Response
204 | No content
This endpoint deletes a specific lead item type.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/leads/types/{leadItemTypeId}
Delete multiple Lead Item Types
Response
204 | No content
This endpoint deletes multiple lead item types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/item-types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of lead item type Ids | Yes |
Restore Lead Item Types
Response
204 | No content
This endpoint restores lead item types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/item-types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of lead item type Ids | Yes |
Settings > Lead Statuses
List Lead Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/statuses
This endpoint allows you to list all lead statuses for an organisation.
Response
{
"lead_statuses": [
{
"id": "3fcaba85-9823-4805-8897-103bfb825937",
"name": "Pre Sale",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
},
{
"id": "094b64c5-3760-4d59-a86f-c95dbd51fc05",
"name": "Estimating",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
]
}
Get a Lead Status
HTTP Request
GET /api/v1/organisations/{organisationId}/lead/statuses/{leadStatusId}
This endpoint retrieves a specific lead status.
Response
{
"lead_status": {
"id": "3fcaba85-9823-4805-8897-103bfb825937",
"name": "Pre Sale",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
}
Add a Lead Status
Response
{
"lead_status": {
"id": "9df18d26-ace4-4e04-b5e6-1171192845a4",
"name": "Converted",
"is_default": "0",
"is_finished": false,
"created_at": "2022-03-04T05:51:38.000000Z",
"updated_at": "2022-03-04T05:51:38.000000Z"
}
}
This endpoint adds a new lead status for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/statuses
Parameter | Description | Required |
---|---|---|
name | Lead statuse's name | Yes |
is_default | Specifies the if this lead status is default | Yes |
is_finished | Specifies if the lead with this status is finished | Yes |
Update a Lead Status
Response
{
"lead_status": {
"id": "3fcaba85-9823-4805-8897-103bfb825937",
"name": "Completed",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T05:52:14.000000Z"
}
}
This endpoint modifies an existing lead status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/leads/statuses/{leadStatusId}
Parameter | Description | Required |
---|---|---|
name | Lead statuse's name | Yes |
is_default | Specifies the if this lead status is default | Yes |
is_finished | Specifies if the lead with this status is finished | Yes |
Delete a Lead Status
Response
204 | No content
This endpoint deletes a specific lead status, given there are no assigned leads to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/leads/statuses/{leadStatusId}
Delete multiple lead statuses
Response
204 | No content
This endpoint deletes multiple lead statuses, given there are no assigned leads to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/statuses/delete
Parameter | Description | Required |
---|---|---|
ids | An array of lead statuses Ids | Yes |
Restore lead statuses
Response
204 | No content
This endpoint restores multiple lead statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/statuses/restore
Parameter | Description | Required |
---|---|---|
ids | An array of lead statuses Ids | Yes |
Sort Lead Statuses
Response
204 | No content
This endpoint sets the default order for lead statuses
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/statuses/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Set the default Lead Status
Response
204 | No content
This endpoint sets the default lead status.
HTTP Request
put /api/v1/organisations/{organisationId}/settings/leads/statuses/{leadStatusId}/default
Settings > Lead Types
List Lead Types
Response
{
"lead_types": [
{
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Revision",
"job_types": [
{
"id": "8421f6f4-8883-4236-995b-66e94eaa373e",
"name": "Flat Pack"
}
],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
},
{
"id": "36c14aa5-a193-4bac-bb55-04e310bf7c44",
"name": "Commercial",
"job_types": [],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/types
This endpoint allows you to list all lead types for an organisation.
Get a Lead Type
Response
{
"lead_type": {
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Revision",
"job_types": [],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/leads/types/{leadTypeId}
This endpoint retrieves a specific lead type.
Add a Lead Type
Response
{
"lead_type": {
"id": "7463ed73-0772-426e-a1d7-98d5ff45b62e",
"name": "Residential",
"job_types": [],
"created_at": "2022-08-24T02:13:32.000000Z",
"updated_at": "2022-08-24T02:13:32.000000Z"
}
}
This endpoint adds a new lead type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/types
Parameter | Description | Required |
---|---|---|
name | Lead type's name | Yes |
job_types | Array of job type ids | No |
Update a Lead Type
Response
{
"lead_type": {
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Residential",
"job_types": [
{
"id": "349c0a4a-b0cb-45b9-82ab-98631491519b",
"name": "Builder"
}
],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
}
This endpoint modifies an existing lead type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/leads/types/{leadTypeId}
Parameter | Description | Required |
---|---|---|
name | Lead type's name | No |
job_types | Array of job type ids | No |
Delete a Lead Type
Response
204 | No content
This endpoint deletes a specific lead type, given there are no assigned leads to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/leads/types/{leadTypeId}
Delete multiple Lead Types
Response
204 | No content
This endpoint deletes multiple lead types, given there are no assigned leads to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of lead type Ids | Yes |
Restore Lead Types
Response
204 | No content
This endpoint restores lead types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/leads/types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of lead type Ids | Yes |
Settings > Operations
List all Operations
Response
{
"operations": [
{
"id": "0e433300-1159-4627-91cd-31e9c9706e03",
"name": "Production Planning",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"created_at": "2022-02-09T02:29:32.000000Z",
"updated_at": "2022-02-09T02:29:32.000000Z"
},
{
"id": "b5d2511b-1098-4f27-8c33-c5763132e923",
"name": "Finalise Bid",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"created_at": "2022-02-09T00:41:02.000000Z",
"updated_at": "2022-02-09T03:01:13.000000Z"
},
{
"id": "33d2f9d3-c471-42a1-99c0-aa6196820278",
"name": "Quote creation",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"created_at": "2022-02-09T00:39:51.000000Z",
"updated_at": "2022-02-09T03:01:13.000000Z"
},
{
"id": "df19ce24-e268-4259-9520-95f1a24a51cf",
"name": "Set Up",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"created_at": "2022-02-09T00:33:53.000000Z",
"updated_at": "2022-02-09T00:33:53.000000Z"
}
]
}
This endpoint retrieves all the operations for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/operations
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Add an Operation
Response
{
"operation": {
"id": "477a57bd-3bc8-4dcf-9681-366d9417c37a",
"name": "Production Planning",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"created_at": "2022-02-09T06:17:59.000000Z",
"updated_at": "2022-02-09T06:17:59.000000Z"
}
}
This endpoint adds an operation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/operations
Parameter | Description | Required |
---|---|---|
name | The name of the operation | Yes |
item | The id of the item of the operation | Yes |
labour_centres | An array of labour centre IDs | No |
Delete an Operation
Response
204 | No content
This endpoint deletes an operation.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/operations/{operationId}
Update an Operation
Response
{
"operation": {
"id": "0e433300-1159-4627-91cd-31e9c9706e03",
"name": "Finalise Bid",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"created_at": "2022-02-09T02:29:32.000000Z",
"updated_at": "2022-02-09T06:30:55.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/operations/{operationId}
This endpoint allows you to update the details of an operation.
Parameter | Description | Required |
---|---|---|
name | The name of the operation | Yes |
labour_centres | An array of labour centre IDs | No |
Delete multiple Operations
Response
204 | No content
This endpoint deletes multiple operations.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/operations/delete
Parameter | Description | Required |
---|---|---|
ids | An array of operations Ids | Yes |
Restore multiple Operations
Response
204 | No content
This endpoint restores multiple operations.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/operations/restore
Parameter | Description | Required |
---|---|---|
ids | An array of operations Ids | Yes |
Settings > Operation Items
List all Items
Response
{
"items": [
{
"id": "project",
"name": "Project"
},
{
"id": "lead",
"name": "Lead"
},
{
"id": "job",
"name": "Job"
}
]
}
This endpoint retrieves all the individual items that operations can apply to.
GET /api/v1/organisations/{organisationId}/settings/operations/items
Settings > Project Details
List Project Details
Response
{
"project_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
]
}
This endpoint retrieves all the Project Details for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/projects/details
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Project Detail
Response
{
"project_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint retrieves a specific project detail for your organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/projects/details/{projectDetailId}
Add a Project Detail
Response
{
"project_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint adds a project detail for your organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/details
Parameter | Description | Required |
---|---|---|
name | Name of the Job Detail | Yes |
question_type | The type of question, see Question Types | Yes |
is_required | Make the field required or not | No |
options | An array of possible options for the dropdown question type | No |
Update a Project Detail
Response
{
"project_details": [
{
"id": "f9964047-0c6f-4fdd-bdf7-bd2ac69efda9",
"name": "Branch",
"sort_order": 1,
"question_type": "text",
"options": [],
"is_required": false,
"created_at": "2022-07-28T03:35:51.000000Z",
"updated_at": "2022-07-28T03:35:51.000000Z"
}
}
This endpoint updates a project detail for your organisation.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/projects/details
Parameter | Description | Required |
---|---|---|
name | Name of the Job Detail | Yes |
question_type | The type of question, see Question Types | Yes |
is_required | Make the field required or not | No |
options | An array of possible options for the dropdown question type | No |
Delete a Project Detail
Response
204 | No content
This endpoint deletes a specific Project Detail.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/projects/details/{projectDetailId}
Delete multiple Project Details
Response
204 | No content
This endpoint deletes one or more Project Details.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/details/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Project Detail Ids | Yes |
Restore multiple Project Details
Response
204 | No content
This endpoint restores one or more Project Details.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/details/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Project Detail Ids | Yes |
Settings > Project Statuses
List all project statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/projects/statuses
This endpoint allows you to list all project statuses for an organisation.
Response
{
"project_statuses": [
{
"id": "19e4b979-43a7-46f3-8d82-8e2377563742",
"name": "Draft",
"is_default": true,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "21375e49-2a46-4f0e-850b-ba7b4b74cca1",
"name": "In Progress",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
},
{
"id": "0bd199d7-8559-4f3b-83e6-95fa701f0249",
"name": "Closed",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
]
}
Get a Project Status
HTTP Request
GET /api/v1/organisations/{organisationId}/project/statuses/{projectStatusId}
This endpoint retrieves a specific project status.
Response
{
"id": "0bd199d7-8559-4f3b-83e6-95fa701f0249",
"name": "Closed",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
Add a Project Status
Response
{
"id": "0bd199d7-8559-4f3b-83e6-95fa701f0249",
"name": "New",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
This endpoint adds a new project status for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/statuses
Parameter | Description | Required |
---|---|---|
name | Project statuse's name | Yes |
is_default | Specifies the if this project status is default | Yes |
is_finished | Specifies if the project with this status is finished | Yes |
Update a Project Status
Response
{
"id": "0bd199d7-8559-4f3b-83e6-95fa701f0249",
"name": "Closed",
"is_default": false,
"is_finished": false,
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z"
}
This endpoint modifies an existing project status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/projects/statuses/{projectStatusId}
Parameter | Description | Required |
---|---|---|
name | Project statuse's name | Yes |
is_default | Specifies the if this project status is default | Yes |
is_finished | Specifies if the project with this status is finished | Yes |
Delete a Project Status
Response
204 | No content
This endpoint deletes a specific project status, given there are no assigned projects to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/projects/statuses/{projectStatusId}
Delete multiple Project Statuses
Response
204 | No content
This endpoint deletes multiple project statuses, given there are no assigned projects to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/statuses/delete
Parameter | Description | Required |
---|---|---|
ids | An array of project statuses Ids | Yes |
Restore Project Statuses
Response
204 | No content
This endpoint restores project statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/statuses/restore
Parameter | Description | Required |
---|---|---|
ids | An array of project statuses Ids | Yes |
Sort Project Statuses
Response
204 | No content
This endpoint sets the default order for project statuses
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/statuses/sort
Parameter | Description | Required |
---|---|---|
ids | An array of project status Ids | Yes |
Set the default Project Status
Response
204 | No content
This endpoint sets the default project status.
HTTP Request
put /api/v1/organisations/{organisationId}/settings/projects/statuses/{projectStatusId}/default
Settings > Project Types
List Project Types
Response
{
"project_types": [
{
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Revision",
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
},
{
"id": "36c14aa5-a193-4bac-bb55-04e310bf7c44",
"name": "Commercial",
"job_types": [],
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/projects/types
This endpoint allows you to list all project types for an organisation.
Get a Project Type
Response
{
"project_type": {
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Revision",
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/projects/types/{projectTypeId}
This endpoint retrieves a specific project type.
Add a Project Type
Response
{
"project_type": {
"id": "7463ed73-0772-426e-a1d7-98d5ff45b62e",
"name": "Residential",
"created_at": "2022-08-24T02:13:32.000000Z",
"updated_at": "2022-08-24T02:13:32.000000Z"
}
}
This endpoint adds a new project type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/types
Parameter | Description | Required |
---|---|---|
name | Project type's name | Yes |
Update a Project Type
Response
{
"project_type": {
"id": "68200487-a252-4d63-92c0-7178d714dd91",
"name": "Residential",
"created_at": "2022-03-04T02:06:44.000000Z",
"updated_at": "2022-03-04T02:06:44.000000Z"
}
}
This endpoint modifies an existing project type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/projects/types/{projectTypeId}
Parameter | Description | Required |
---|---|---|
name | Project type's name | No |
Delete a Project Type
Response
204 | No content
This endpoint deletes a specific project type, given there are no assigned projects to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/projects/types/{projectTypeId}
Delete multiple Project Types
Response
204 | No content
This endpoint deletes multiple project types, given there are no assigned projects to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of project type Ids | Yes |
Restore Project Types
Response
204 | No content
This endpoint restores project types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/projects/types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of project type Ids | Yes |
Settings > Purchase Order Statuses
List Purchase Order Statuses
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses
This endpoint allows you to list all purchase order statuses for an organisation.
Response
{
"purchase_order_statuses": [
{
"id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"name": "Created",
"is_default": true,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "f4d38626-4cc2-483e-841c-717f13449e70",
"name": "Ordered",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "44fe8e30-72e7-418a-9ea0-92764f140516",
"name": "Partially Received",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
},
{
"id": "1568222a-66d6-4b0d-b622-31f3067fed38",
"name": "Fully Received",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
]
}
Get a Purchase Order Status
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/{purchaseOrderStatusId}
This endpoint retrieves a specific purchase order status.
Response
{
"purchase_order_status": {
"id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"name": "Created",
"is_default": true,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
}
Add a purchase order status
Response
{
"purchase_order_status": {
"id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"name": "Cancelled",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
}
This endpoint adds a new purchase order status for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses
Parameter | Description | Required |
---|---|---|
name | Name of the status | Yes |
is_default | New purchase orders are created with this status | No |
Update an purchase order status
Response
{
"purchase_order_status": {
"id": "bb15af05-129b-4b59-9cda-8a00c2809eea",
"name": "Disputed",
"is_default": false,
"created_at": "2022-07-19T03:38:22.000000Z",
"updated_at": "2022-07-19T03:38:22.000000Z"
}
}
This endpoint modifies an existing purchase order status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/{purchaseOrderStatusId}
Parameter | Description | Required |
---|---|---|
name | Name of the status | No |
is_default | New purchase orders are created with this status | No |
Delete an purchase order status
Response
204 | No content
This endpoint deletes a specific purchase order status.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/{purchaseOrderStatusId}
Delete multiple purchase order statuses
Response
204 | No content
This endpoint deletes multiple purchase order statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/delete
Parameter | Description | Required |
---|---|---|
ids | An array of status ids | Yes |
Restore purchase order statuses
Response
204 | No content
This endpoint restores purchase order statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/restore
Parameter | Description | Required |
---|---|---|
ids | An array of status ids | Yes |
Sort Purchase Order Statuses
Response
204 | No content
This endpoint sets the default order for purchase order statuses
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Set the default purchase order status
Response
204 | No content
This endpoint sets the default purchase order status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/inventory/purchase-order-statuses/{purchaseOrderStatusId}/default
Settings > Quote Statuses
List Quote Statuses
Response
{
"quote_statuses": [
{
"id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"name": "Estimate Created",
"is_default": false,
"is_sent": true,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
},
{
"id": "5807a44b-1dfe-4f66-9828-caf2f7737d57",
"name": "Estimate Sent",
"is_default": false,
"is_sent": false,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
},
{
"id": "d62303e0-b89e-4e2a-99c7-59354f99ee35",
"name": "Revision",
"is_default": false,
"is_sent": false,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses
This endpoint allows you to list all quote statuses for an organisation.
Get a Quote Status
Response
{
"quote_status": {
"id": "efd6c63a-b74c-4884-aba0-4b5566286f0f",
"name": "Estimate Created",
"is_default": false,
"is_sent": false,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/quote/statuses/{quoteStatusId}
This endpoint retrieves a specific quote status.
Add a Quote Status
Response
{
"quote_status": {
"id": "4b57a509-dd84-4bc9-8c6b-917fd8094eec",
"name": "In Progress",
"is_default": false,
"is_sent": true,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
}
}
This endpoint adds a new quote status for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses
Parameter | Description | Required |
---|---|---|
name | Quote statuse's name | Yes |
is_default | Specifies the if this quote status is default | Yes |
is_sent | Specifies if the quote with this status has been sent | Yes |
is_accepted | Specifies if the quote with this status has been accepted | Yes |
is_declined | Specifies if the quote with this status has been declined | Yes |
Update an existing quote status
Response
{
"quote_status": {
"id": "4b57a509-dd84-4bc9-8c6b-917fd8094eec",
"is_default": false,
"is_sent": true,
"is_accepted": false,
"is_declined": false,
"created_at": "2022-03-28T05:57:37.000000Z",
"updated_at": "2022-03-28T06:00:28.000000Z"
}
}
This endpoint modifies an existing quote status.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses/{quoteStatusId}
Parameter | Description | Required |
---|---|---|
name | Quote statuse's name | Yes |
is_default | Specifies the if this quote status is default | Yes |
is_sent | Specifies if the quote with this status has been sent | Yes |
is_accepted | Specifies if the quote with this status has been accepted | Yes |
is_declined | Specifies if the quote with this status has been declined | Yes |
Delete a Quote Status
Response
204 | No content
This endpoint deletes a specific quote status, given there are no assigned quotes to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses/{quoteStatusId}
Delete multiple Quote Statuses
Response
204 | No content
This endpoint deletes multiple quote statuses, given there are no assigned quotes to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses/delete
Parameter | Description | Required |
---|---|---|
ids | An array of quote statuses Ids | Yes |
Restore Quote Statuses
Response
204 | No content
This endpoint restores quote statuses.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses/restore
Parameter | Description | Required |
---|---|---|
ids | An array of quote statuses Ids | Yes |
Sort quote statuses
Response
204 | No content
This endpoint sets the default order for quote statuses
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Set default quote status
Response
204 | No content
This endpoint sets the default quote status.
HTTP Request
put /api/v1/organisations/{organisationId}/settings/quoting/quote-statuses/{quoteStatusId}/default
Settings > Staff Leave Types
List Staff Leave Types
Response
{
"staff_leave_types": [
{
"id": "70357373-a961-41b1-8024-85762a72e65d",
"name": "Annual Leave",
"code": "ANNLEAVE",
"created_at": "2022-08-11T02:21:18.000000Z",
"updated_at": "2022-08-11T02:21:18.000000Z"
},
{
"id": "067ffe08-e735-4b40-834c-24137f61f9e0",
"name": "Personal Leave",
"code": null,
"created_at": "2022-08-11T01:22:13.000000Z",
"updated_at": "2022-08-11T02:27:02.000000Z"
},
{
"id": "26509d90-a9b0-488e-b94b-079093d1c865",
"name": "Sick Leave",
"code": null,
"created_at": "2022-08-11T01:22:13.000000Z",
"updated_at": "2022-08-11T02:27:02.000000Z"
},
{
"id": "af9c5c6f-34e7-4082-a2a3-13ec68bc0474",
"name": "Unpaid Leave",
"code": null,
"created_at": "2022-08-11T01:22:14.000000Z",
"updated_at": "2022-08-11T02:23:56.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/leave-types
This endpoint allows you to list all staff leave types for an organisation.
Get a Staff Leave Type
Response
{
"staff_leave_type": {
"id": "70357373-a961-41b1-8024-85762a72e65d",
"name": "Annual Leave",
"code": null,
"created_at": "2022-08-11T02:21:18.000000Z",
"updated_at": "2022-08-11T02:21:18.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/leave-types/{leaveTypeId}
This endpoint retrieves a specific staff leave type.
Add a Staff Leave Type
Response
{
"staff_leave_type": {
"id": "70357373-a961-41b1-8024-85762a72e65d",
"name": "Personal Leave",
"code": "PERSLEAVE",
"created_at": "2022-08-11T02:21:18.000000Z",
"updated_at": "2022-08-11T02:21:18.000000Z"
}
}
This endpoint adds a new staff leave type for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/leave-types
Parameter | Description | Required |
---|---|---|
name | Staff leave type's name | Yes |
code | Code for the leave type, from accounting software provider | No |
Update a Staff Leave Type
Response
{
"staff_leave_type": {
"id": "70357373-a961-41b1-8024-85762a72e65d",
"name": "Annual Leave",
"code": "ANNLEAVE",
"created_at": "2022-08-11T02:21:18.000000Z",
"updated_at": "2022-08-11T02:21:18.000000Z"
}
}
This endpoint modifies an existing staff leave type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/leave-types/{leaveTypeId}
Parameter | Description | Required |
---|---|---|
name | Staff leave type's name | No |
code | Code for the leave type, from accounting software provider | No |
Delete a Staff Leave Type
Response
204 | No content
This endpoint deletes a specific staff leave type, given there are no assigned operations to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/staff/leave-types/{leaveTypeId}
Delete multiple Staff Leave types
Response
204 | No content
This endpoint deletes multiple staff leave types, given there are no assigned operations to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/leave-types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of staff leave type Ids | Yes |
Restore multiple Staff Leave types
Response
204 | No content
This endpoint restores multiple deleted staff leave types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/leave-types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of staff leave type Ids | Yes |
Settings > Staff Pay Rate Types
List Staff Pay Rate Types
Response
{
"staff_pay_rate_types": [
{
"id": "12721942-e0a2-4350-9f0e-e059af469853",
"name": "Hourly Rate",
"code": "RATEPERUNIT",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T01:54:44.000000Z"
},
{
"id": "4c8575fe-6553-4b64-9fc0-0af0b92af9d7",
"name": "Salary",
"code": "FIXEDAMOUNT",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T01:54:18.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed | No |
This endpoint allows you to list all staff pay rate types for an organisation.
Get a Staff Pay Rate Type
Response
{
"staff_pay_rate_type": {
"id": "03eebaf4-9cde-46c9-8a1a-0f9ac26dfd38",
"name": "Hourly Rate",
"code": "RATEPERUNIT",
"created_at": "2023-05-29T01:55:22.000000Z",
"updated_at": "2023-05-29T01:55:22.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types/{payRateTypeId}
This endpoint retrieves a specific staff pay rate type.
Add a Staff Pay Rate
Response
{
"staff_pay_rate_type": {
"id": "03eebaf4-9cde-46c9-8a1a-0f9ac26dfd38",
"name": "Hourly Rate",
"code": "RATEPERUNIT",
"created_at": "2023-05-29T01:55:22.000000Z",
"updated_at": "2023-05-29T01:55:22.000000Z"
}
}
This endpoint adds a new staff pay rate for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types
Parameter | Description | Required |
---|---|---|
name | The name of the pay rate type | Yes |
code | The Code for the pay rate type, from your accounting software | No |
Update a Staff Pay Rate
Response
{
"staff_pay_rate_type": {
"id": "03eebaf4-9cde-46c9-8a1a-0f9ac26dfd38",
"name": "Hourly Rate",
"code": "RATEPERUNIT",
"created_at": "2023-05-29T01:55:22.000000Z",
"updated_at": "2023-05-29T01:55:22.000000Z"
}
}
This endpoint modifies an existing staff pay rate type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types/{payRateTypeId}
Parameter | Description | Required |
---|---|---|
name | The name of the pay rate type | No |
code | The Code for the pay rate type, from your accounting software | No |
Delete a Staff Pay Rate
Response
204 | No content
This endpoint deletes a specific staff pay rate type, given there are no pay rates assigned to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types/{payRateTypeId}
Delete multiple Staff Leave types
Response
204 | No content
This endpoint deletes multiple staff pay rate types, given there are no pay rates assigned to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types/delete
Parameter | Description | Required |
---|---|---|
ids | An array of staff pay rate type Ids | Yes |
Restore multiple Staff Leave types
Response
204 | No content
This endpoint restores multiple deleted staff pay rate types.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rate-types/restore
Parameter | Description | Required |
---|---|---|
ids | An array of staff pay rate type Ids | Yes |
Settings > Staff Pay Awards
List Staff Pay Awards
Response
{
"staff_pay_rate_awards": [
{
"id": "851d6028-8e28-4785-8068-aaed9711dc72",
"name": "General",
"code": "General",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T06:42:29.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed | No |
This endpoint allows you to list all staff pay rate awards for an organisation.
Get a Staff Pay Award
Response
{
"staff_pay_rate_award": {
"id": "851d6028-8e28-4785-8068-aaed9711dc72",
"name": "General",
"code": "General",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T06:42:29.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards/{payRateAwardId}
This endpoint retrieves a specific staff pay rate award
Add a Staff Pay Award
Response
{
"staff_pay_rate_award": {
"id": "851d6028-8e28-4785-8068-aaed9711dc72",
"name": "General",
"code": "General",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T06:42:29.000000Z"
}
}
This endpoint adds a new staff pay rate for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards
Parameter | Description | Required |
---|---|---|
name | The name of the pay rate type | Yes |
code | The Code for the pay rate type, from your accounting software | No |
Update a Staff Pay Award
Response
{
"staff_pay_rate_award": {
"id": "851d6028-8e28-4785-8068-aaed9711dc72",
"name": "General",
"code": "General",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T06:42:29.000000Z"
}
}
This endpoint modifies an existing staff pay rate type.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards/{payRateAwardId}
Parameter | Description | Required |
---|---|---|
name | The name of the pay rate type | No |
code | The Code for the pay rate type, from your accounting software | No |
Delete a Staff Pay Award
Response
204 | No content
This endpoint deletes a specific staff pay rate type, given there are no pay rates assigned to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards/{payRateAwardId}
Delete multiple Staff Leave types
Response
204 | No content
This endpoint deletes multiple staff pay rate awards, given there are no pay rates assigned to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards/delete
Parameter | Description | Required |
---|---|---|
ids | An array of staff pay rate type Ids | Yes |
Restore multiple Staff Leave types
Response
204 | No content
This endpoint restores multiple deleted staff pay rate awards.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rate-awards/restore
Parameter | Description | Required |
---|---|---|
ids | An array of staff pay rate type Ids | Yes |
Settings > Staff Pay Rates
List Staff Pay Rates
Response
{
"staff_pay_rates": [
{
"id": "ef6bb1e5-dd51-4675-b25f-3f528faac4a1",
"name": "Assembly",
"code": "ANNLEAVE",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T00:41:26.000000Z"
},
{
"id": "18400020-866c-4c29-8912-4c690fb04c87",
"name": "Test Pay Rate",
"code": "TPR",
"created_at": "2023-05-28T23:49:07.000000Z",
"updated_at": "2023-05-29T00:41:26.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/pay-rates
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed | No |
This endpoint allows you to list all staff pay rates for an organisation.
Get a Staff Pay Rate
Response
{
"staff_pay_rate": {
"id": "ef6bb1e5-dd51-4675-b25f-3f528faac4a1",
"name": "Assembly",
"code": "ANNLEAVE",
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T00:41:26.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/pay-rates/{payRateId}
This endpoint retrieves a specific staff pay rate.
Add a Staff Pay Rate
Response
{
"staff_pay_rate": {
"id": "82dfe1d3-753b-4bbb-825e-fb6660b6fbb8",
"name": "Casual",
"code": "Casual",
"created_at": "2023-05-29T06:47:01.000000Z",
"updated_at": "2023-05-29T06:47:01.000000Z"
}
}
This endpoint adds a new staff pay rate for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rates
Parameter | Description | Required |
---|---|---|
name | The name of the pay rate | Yes |
code | The Code for the pay rate, from your accounting software | No |
Update a Staff Pay Rate
Response
{
"staff_pay_rate": {
"id": "82dfe1d3-753b-4bbb-825e-fb6660b6fbb8",
"name": "Casual",
"code": "Casual",
"created_at": "2023-05-29T06:47:01.000000Z",
"updated_at": "2023-05-29T06:47:01.000000Z"
}
}
This endpoint modifies an existing staff pay rate.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/pay-rates/{payRateId}
Parameter | Description | Required |
---|---|---|
name | The name of the pay rate | No |
code | The Code for the pay rate, from your accounting software | No |
Delete a Staff Pay Rate
Response
204 | No content
This endpoint deletes a specific staff pay rate, given there are no staff members assigned to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/staff/pay-rates/{payRateId}
Delete multiple Staff Pay Rates
Response
204 | No content
This endpoint deletes multiple staff pay rates, given there are no staff members assigned to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rates/delete
Parameter | Description | Required |
---|---|---|
ids | An array of staff pay rate Ids | Yes |
Restore multiple Staff Pay Rates
Response
204 | No content
This endpoint restores multiple deleted staff pay rates.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/pay-rates/restore
Parameter | Description | Required |
---|---|---|
ids | An array of staff pay rate Ids | Yes |
Settings > Staff Public Holiday Groups
List Public Holiday Groups
Response
{
"public_holiday_groups": [
{
"id": "ef6bb1e5-dd51-4675-b25f-3f528faac4a1",
"name": "Victoria",
"country_region_id": "VIC-AU",
"is_default": true,
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T00:41:26.000000Z"
},
{
"id": "18400020-866c-4c29-8912-4c690fb04c87",
"name": "New South Wales",
"country_region_id": "NSW-AU",
"is_default": false,
"created_at": "2023-05-28T23:49:07.000000Z",
"updated_at": "2023-05-29T00:41:26.000000Z"
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed | No |
This endpoint allows you to list all public holiday groups for an organisation.
Get a Public Holiday Group
Response
{
"public_holiday_group": {
"id": "ef6bb1e5-dd51-4675-b25f-3f528faac4a1",
"name": "Victoria",
"country_region_id": "VIC-AU",
"is_default": true,
"created_at": "2023-05-23T03:24:28.000000Z",
"updated_at": "2023-05-29T00:41:26.000000Z"
}
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups/{publicHolidayGroupId}
This endpoint retrieves a specific public holiday group.
Add a Public Holiday Group
Response
{
"public_holiday_group": {
"id": "82dfe1d3-753b-4bbb-825e-fb6660b6fbb8",
"name": "Western Australia",
"country_region_id": "WA-AU",
"is_default": false,
"created_at": "2023-05-29T06:47:01.000000Z",
"updated_at": "2023-05-29T06:47:01.000000Z"
}
}
This endpoint adds a new public holiday group for an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups
Parameter | Description | Required |
---|---|---|
name | The name of the group | Yes |
country_region_id | The region to automatically sync holidays for | No |
Update a Public Holiday Group
Response
{
"public_holiday_group": {
"id": "82dfe1d3-753b-4bbb-825e-fb6660b6fbb8",
"name": "Western Australia",
"country_region_id": "WA-AU",
"is_default": false,
"created_at": "2023-05-29T06:47:01.000000Z",
"updated_at": "2023-05-29T06:47:01.000000Z"
}
}
This endpoint modifies an existing public holiday group.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups/{publicHolidayGroupId}
Parameter | Description | Required |
---|---|---|
name | The name of the group | No |
country_region_id | The region to automatically sync holidays for | No |
Delete a Public Holiday Group
Response
204 | No content
This endpoint deletes a specific public holiday group, given there are no staff members or labour centres assigned to it.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups/{publicHolidayGroupId}
Delete multiple Public Holiday Groups
Response
204 | No content
This endpoint deletes multiple public holiday groups, given there are no staff members or labour centres assigned to them.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups/delete
Parameter | Description | Required |
---|---|---|
ids | An array of public holiday group Ids | Yes |
Restore multiple Public Holiday Groups
Response
204 | No content
This endpoint restores multiple deleted public holiday groups.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups/restore
Parameter | Description | Required |
---|---|---|
ids | An array of public holiday group Ids | Yes |
Set the default Public Holiday Group
Response
204 | No content
This endpoint sets the default Public Holiday Group.
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/public-holiday-groups/{publicHolidayGroupId}/default
Settings > Staff Roles
List all staff roles
Response
{
"staff_roles": [
{
"id": "dabfda65-24ce-4c45-bb68-65769756c256",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-13T02:59:26.000000Z",
"updated_at": "2021-08-13T02:59:26.000000Z"
},
{
"id": "2ecde52b-c5d4-4f5d-a2a9-1a36f1991d70",
"name": "Sales",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-13T02:59:27.000000Z",
"updated_at": "2021-08-13T02:59:27.000000Z"
},
{
"id": "6c57e1bc-6ad3-425f-adf7-ee2f87dcfbf3",
"name": "Support",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-13T02:59:26.000000Z",
"updated_at": "2021-08-13T02:59:26.000000Z"
}
],
}
}
This endpoint retrieves all staff roles from an organisation
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/roles
Add a new staff role
Response
{
"staff_role": {
"id": "0ef31ebd-defd-4b87-9da1-c357c5598b8e",
"name": "Manager",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-16T04:31:32.000000Z",
"updated_at": "2021-08-16T04:31:32.000000Z"
}
}
This endpoint adds a new staff role to an organisation
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/roles
Parameter | Description | Required |
---|---|---|
name | Name of staff role | Yes |
abilities | Array of staff ability ids, see Staff Abilities | No |
Get a staff role
Response
{
"staff_role": {
"id": "0ef31ebd-defd-4b87-9da1-c357c5598b8e",
"name": "Manager",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-16T04:31:32.000000Z",
"updated_at": "2021-08-16T04:31:32.000000Z"
}
}
This endpoint retrieves a specific staff role for an organisation
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/staff/roles/{staffRoleId}
Update a staff role
Response
{
"staff_role": {
"id": "0ef31ebd-defd-4b87-9da1-c357c5598b8e",
"name": "Manager",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-16T04:31:32.000000Z",
"updated_at": "2021-08-16T04:31:32.000000Z"
}
}
This endpoint updates a specific staff role for an organisation
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/staff/roles/{staffRoleId}
Parameter | Description | Required |
---|---|---|
name | Name of staff role | Yes |
abilities | Array of staff ability ids, see Staff Abilities | No |
Delete a staff role
Response
204 | No content
This endpoint deletes a specific contact source
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/staff/roles/{staffRoleId}
Copy a staff role
Response
{
"staff_role": {
"id": "0ef31ebd-defd-4b87-9da1-c357c5598b8e",
"name": "Manager Copy",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-16T04:31:32.000000Z",
"updated_at": "2021-08-16T04:31:32.000000Z"
}
}
This endpoint duplicates a specific staff role for an organisation with the same abilities.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/staff/roles/{staffRoleId}/copy
Settings > Templates
List Templates
Response
{
"templates": {
"data": [
{
"id": "50030265-50a9-4b57-9134-831a99ba3eb8",
"name": "Email",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "email",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
},
{
"id": "05e922fa-5f9f-41fe-bd69-1d4c6b1012ee",
"name": "Invoice",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "invoice",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
},
{
"id": "df521805-6567-4164-94e1-6f857143acc5",
"name": "Invoice Email",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "invoice_email",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
}
{
"id": "0fe922fa-5f9f-41fe-bd69-1d4c6b1012ee",
"name": "Purchase Order",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "purchase_order",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
},
{
"id": "dg721805-6567-4164-94e1-6f857143acc5",
"name": "Purchase Order Email",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "purchase_order_email",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
}
]
}
}
This endpoint retrieves all the templates for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/templates
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a specific Template
Response
{
"template": {
"id": "50030265-50a9-4b57-9134-831a99ba3eb8",
"name": "Email",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "email",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
}
}
This endpoint retrieves a specific template.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/templates/{templateId}
Add a Template
Response
{
"template": {
"id": "50030265-50a9-4b57-9134-831a99ba3eb8",
"name": "Email",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "email",
"created_at": "2022-03-04T02:06:45.000000Z",
"updated_at": "2022-03-04T02:06:45.000000Z",
"is_default": true
}
}
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/templates
This endpoint allows you to add a template
Parameter | Description | Required |
---|---|---|
name | The name of the string | Yes |
type | Id of the template type as a string | Yes |
content | Content of the template | No |
is_default | Specifies the if this template is the default | No |
Update a Template
Response
{
"template": {
"id": "78236ad2-ee0e-43b4-887c-ec9763f7ee74",
"name": "Email Template 2",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "email",
"created_at": "2022-03-04T07:52:40.000000Z",
"updated_at": "2022-03-04T07:52:40.000000Z",
"is_default": true
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/templates/{templateId}
This endpoint allows you to update the details of a specific template.
Parameter | Description | Required |
---|---|---|
name | The name of the string | Yes |
type | Id of the template type as a string | Yes |
content | Content of the template | No |
is_default | Specifies the if this template is the default | Yes |
Delete a Template
Response
204 | No content
This endpoint deletes a specific template.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/templates/{templateId}
Delete multiple templates
Response
204 | No content
This endpoint deletes multiple templates.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/templates/delete
Parameter | Description | Required |
---|---|---|
ids | An array of template Ids | Yes |
Restore Templates
Response
204 | No content
This endpoint restores one or multiple templates.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/templates/restore
Parameter | Description | Required |
---|---|---|
ids | An array of template Ids | Yes |
Copy a Template
Response
{
"template": {
"id": "ab8c3809-1eb5-422e-809d-38771da56536",
"name": "Email Copy",
"content": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "email",
"created_at": "2022-03-04T07:54:01.000000Z",
"updated_at": "2022-03-04T07:54:01.000000Z",
"is_default": false
}
}
This endpoint duplicates a template
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/templates/{templateId}/copy
Make a Template the default
Response
204 | No content
This endpoint makes the specified template a default
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/templates/{templateId}/default
Parameter | Description | Required |
---|---|---|
id | Id of the template | Yes |
List Template Types
Response
{
"types": [
{
"id": "email",
"name": "Email"
},
{
"id": "sms",
"name": "SMS"
},
{
"id": "invoice",
"name": "Invoice"
},
{
"id": "invoice_email",
"name": "Invoice Email"
},
{
"id": "quote",
"name": "Quote"
},
{
"id": "quote_email",
"name": "Quote Email"
},
{
"id": "quote_sms",
"name": "Quote SMS"
}
{
"id": "public_email",
"name": "Public Email"
}
]
}
This endpoint retrieves the template types in Jobman.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/templates/template-types
Settings > Workflows
List all Workflows
Response
{
"workflows": {
"data": [
{
"id": "fa44be6d-a8c7-42cd-9f76-c00abf7861ec",
"name": "Commercial Lead Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"is_default": false,
"created_at": "2022-02-09T02:32:19.000000Z",
"updated_at": "2022-02-09T03:08:26.000000Z"
},
{
"id": "750eb0fe-5f53-4bf0-a8a2-eb7fe69ff966",
"name": "Default Job Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"is_default": false,
"created_at": "2022-02-09T02:57:28.000000Z",
"updated_at": "2022-02-09T02:57:28.000000Z"
},
{
"id": "56848a6f-765b-4fa3-8f65-8a0ba1084a6e",
"name": "Lead Workflow Default",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"is_default": true,
"created_at": "2022-02-09T00:32:33.000000Z",
"updated_at": "2022-02-09T03:19:32.000000Z"
}
]
}
}
This endpoint retrieves all the Workflows for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Workflow
Response
{
"workflow": {
"id": "4042b807-ace2-49a6-8e1b-aeeee3fdae4c",
"name": "Default Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"is_default": true,
"created_at": "2022-02-11T02:53:47.000000Z",
"updated_at": "2022-02-11T03:01:21.000000Z"
}
}
This endpoint retrieves a specific Workflow.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}
Add a Workflow
Response
{
"workflow": {
"id": "c6032035-66e9-42b8-824f-ad05f516c2fd",
"name": "New Job Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"is_default": false,
"created_at": "2022-02-09T06:51:09.000000Z",
"updated_at": "2022-02-09T06:51:09.000000Z"
}
}
This endpoint adds a Workflow to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows
Parameter | Description | Required |
---|---|---|
name | The name of the Workflow | Yes |
item | The id of the Workflow item | Yes |
is_default | Specifies the if this Workflow is the default | Yes |
Delete a Workflow
Response
204 | No content
This endpoint deletes a Workflow.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}
Update a Workflow
Response
{
"workflow": {
"id": "fa44be6d-a8c7-42cd-9f76-c00abf7861ec",
"name": "Lead Workflow Sales",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"is_default": true,
"created_at": "2022-02-09T02:32:19.000000Z",
"updated_at": "2022-02-09T06:52:21.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}
This endpoint allows you to update the details of a Workflow.
Parameter | Description | Required |
---|---|---|
name | The name of the workflow | Yes |
is_default | Specifies the if this workflow is the default | Yes |
Delete multiple Workflows
Response
204 | No content
This endpoint deletes multiple Workflows.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/delete
Parameter | Description | Required |
---|---|---|
ids | An array of Workflows Ids | Yes |
Restore multiple Workflows
Response
204 | No content
This endpoint restores multiple Workflows.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/restore
Parameter | Description | Required |
---|---|---|
ids | An array of Workflows Ids | Yes |
Copy a Workflow
Response
{
"workflow": {
"id": "c6032035-66e9-42b8-824f-ad05f516c2fd",
"name": "Default Job Workflow",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "job",
"is_default": false,
"created_at": "2022-02-09T06:51:09.000000Z",
"updated_at": "2022-02-09T06:51:09.000000Z"
}
}
This endpoint duplicates a Workflow
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/copy
Make a Workflow the default
Response
204 | No content
This endpoint makes the specified Workflow a default
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/default
Settings > Workflow Items
List all Items
Response
{
"items": [
{
"id": "project",
"name": "Project"
},
{
"id": "lead",
"name": "Lead"
},
{
"id": "job",
"name": "Job"
}
]
}
This endpoint retrieves all the individual items that Workflows can apply to.
GET /api/v1/organisations/{organisationId}/settings/workflows/items
Settings > Workflow Steps
List all Workflow Steps
Response
{
"steps": [
{
"id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"name": "Pre Production",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "cac2f018-289e-44ae-892a-ed76a2a3a71f",
"name": "Job Setup",
"step_id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "4036c96f-a38f-4155-84b2-258ec2084e0c",
"staff_qty": 1,
"operation_id": "381ba4c3-fcfa-4a7f-b6e7-058130aa0842",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": 1,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
},
{
"id": "75d62cf3-c58e-46c5-9f3a-413b5dfba4b6",
"name": "Machining",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
]
}
This endpoint retrieves all the steps for a Workflow.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/{workflowId)/steps
Get a Workflow Step
Response
{
"step": {
"id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"name": "Pre Production",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "cac2f018-289e-44ae-892a-ed76a2a3a71f",
"name": "Job Setup",
"step_id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "4036c96f-a38f-4155-84b2-258ec2084e0c",
"staff_qty": 1,
"operation_id": "381ba4c3-fcfa-4a7f-b6e7-058130aa0842",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": 1,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
}
This endpoint retrieves a specific step from a Workflow.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/{workflowId)/steps/{stepId}
Add a Workflow Step
Response
{
"step": {
"id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"name": "Pre Production",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "cac2f018-289e-44ae-892a-ed76a2a3a71f",
"name": "Job Setup",
"step_id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "4036c96f-a38f-4155-84b2-258ec2084e0c",
"staff_qty": 1,
"operation_id": "381ba4c3-fcfa-4a7f-b6e7-058130aa0842",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": 1,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
}
This endpoint adds a step to Workflow in an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of status for the Workflow item | Yes |
Delete a Workflow Step
Response
204 | No content
This endpoint deletes a step from a Workflow.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/steps/{stepId}
Update a Workflow Step
Response
{
"step": {
"id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"name": "Pre Production",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"tasks": [
{
"id": "cac2f018-289e-44ae-892a-ed76a2a3a71f",
"name": "Job Setup",
"step_id": "2f25d40d-a384-49dc-9267-48ba7c0a0765",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "4036c96f-a38f-4155-84b2-258ec2084e0c",
"staff_qty": 1,
"operation_id": "381ba4c3-fcfa-4a7f-b6e7-058130aa0842",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": 1,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
],
"created_at": "2022-10-18T01:17:41.000000Z",
"updated_at": "2022-10-18T01:17:41.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/steps/{stepId}
This endpoint allows you to update the details of a step in a Workflow.
Parameter | Description | Required |
---|---|---|
name | The name of the step | Yes |
status_id | The id of step status | Yes |
Sort Workflow Steps
Response
204 | No content
This endpoint sets the default order for Workflow steps.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/{workflowId)/steps/sort
Parameter | Description | Required |
---|---|---|
ids | Sorted in the preferred order | Yes |
Settings > Workflow Tasks
List all Workflow Tasks
Response
{
"tasks": {
"data": [
{
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Job Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
},
{
"id": "f3dad1c8-5a81-47d6-829e-528dc690dc12",
"name": "Final Drafting",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "31e3dab7-a65d-4458-a3ed-c205dcebd1d2",
"estimated_time": 900,
"actual_time": 0,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
},
{
"id": "ea362068-d5ca-4cd7-9341-80f6dd872e17",
"name": "Drafting",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
]
}
}
This endpoint retrieves all the tasks for a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/{workflowId)/tasks/{taskId}
Get a Workflow Task
Response
{
"task": {
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Job Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"trigger_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint retrieves a specific task from a step.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/{workflowId)/tasks/{taskId}
Add a Workflow Task
Response
{
"task": {
"id": "10ed4b85-748e-4e42-b771-5b04bb4d8561",
"name": "Job Setup",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 1,
"operation_id": "87234146-24b6-4533-9ecc-393649ebf3f1",
"estimated_time": 324,
"actual_time": 259500,
"target_date_calculation": 0,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"trigger_ids": [],
"created_at": "2022-10-18T04:36:34.000000Z",
"updated_at": "2022-10-18T04:36:34.000000Z"
}
}
This endpoint adds a task to a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/steps/{stepId}/tasks
Parameter | Description | Required |
---|---|---|
name | The name of the task | Yes |
operation_id | The id of operation for the task | Yes |
step_id | The id of step for the task | Yes |
staff_qty | The estimated number of staff members involved in the task | Yes |
estimated_time | The total time for the task in seconds | Yes |
target_date_calculation | The number of days to be scheduled for the task | No |
description | The description of the task | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' workflow item types | No |
types_selection_ids | An array of workflow item type IDs | if selection = 'selected' |
trigger_ids | An array of trigger IDs, see Triggers | No |
Delete a Workflow Task
Response
204 | No content
This endpoint deletes a task from a step.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/tasks/{taskId}
Update a Workflow Task
Response
{
"task": {
"id": "32036274-5592-400b-9ebb-38a4914d7ed4",
"name": "Drafting Approval",
"step_id": "23f15d2e-1ce6-4f65-9428-a4b46f83e7e9",
"description": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item_id": "033b959a-4bde-4292-baa2-4de1e3858026",
"staff_qty": 2,
"operation_id": "a00a2b7c-5b12-4fba-8dc3-a8b7a895374e",
"estimated_time": 3600,
"actual_time": 0,
"target_date_calculation": 5,
"estimated_day": null,
"status": "not_started",
"progress": 0,
"start_date": null,
"target_date": null,
"target_date_locked": false,
"labour_centres": [
{
"id": "0233c015-4f5a-4b9b-951e-a903a249eeb4",
"name": "Accounts",
"selected": false
}
],
"members": [],
"requires_selection": "all",
"requires_selection_ids": [],
"types_selection": "all",
"types_selection_ids": [],
"trigger_ids": [],
"created_at": "2022-10-20T02:24:58.000000Z",
"updated_at": "2022-10-20T02:41:32.000000Z"
}
}
This endpoint updates a task in a step.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/{workflowId}/tasks/{taskId}
Parameter | Description | Required |
---|---|---|
name | The name of the task | No |
operation_id | The id of operation for the task | No |
step_id | The id of step for the task | No |
staff_qty | The estimated number of staff members involved in the task | No |
estimated_time | The total time for the task in seconds | No |
target_date_calculation | The number of days to be scheduled for the task | No |
description | The description of the task | No |
requires_selection | 'all' or 'selected' tasks | No |
requires_selection_ids | An array of task IDs from the workflow to be completed prior to the task | if selection = 'selected' |
types_selection | 'all' or 'selected' workflow item types | No |
types_selection_ids | An array of workflow item type IDs | if selection = 'selected' |
trigger_ids | An array of trigger IDs, see Triggers | No |
Sort Workflow Tasks
Response
204 | No content
This endpoint sets the default order for Workflow tasks.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/{workflowId)/tasks/sort
Parameter | Description | Required |
---|---|---|
step_id | The id of the step containing the tasks | Yes |
ids | Sorted in the preferred order | Yes |
Settings > Workflow Triggers
List all Triggers
Response
{
"triggers": {
"data": [
{
"id": "fa44be6d-a8c7-42cd-9f76-c00abf7861ec",
"name": "Send installation notification",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"type": "notification",
"event": "completed",
"event_days": "0",
"template_id": null,
"subject": "",
"body": "",
"to": "",
"to_contact": false,
"to_members": false,
"staff_ids": [],
"is_enabled": true,
"created_at": "2022-02-09T02:32:19.000000Z",
"updated_at": "2022-02-09T03:08:26.000000Z"
},
]
}
}
This endpoint retrieves all the Triggers for an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/triggers
Parameter | Description | Required |
---|---|---|
trashed | Boolean flag to filter by trashed status | No |
Get a Trigger
Response
{
"trigger": {
"id": "fa44be6d-a8c7-42cd-9f76-c00abf7861ec",
"name": "Send installation notification",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"type": "notification",
"event": "completed",
"event_days": "0",
"template_id": null,
"subject": "",
"body": "",
"to": "",
"to_contact": false,
"to_members": false,
"staff_ids": [],
"is_enabled": true,
"created_at": "2022-02-09T02:32:19.000000Z",
"updated_at": "2022-02-09T03:08:26.000000Z"
}
}
This endpoint retrieves a specific Trigger.
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/triggers/{triggerId}
Add a Trigger
Response
{
"trigger": {
"id": "fa44be6d-a8c7-42cd-9f76-c00abf7861ec",
"name": "Send installation notification",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"type": "notification",
"event": "completed",
"event_days": "0",
"template_id": null,
"subject": "",
"body": "",
"to": "",
"to_contact": false,
"to_members": false,
"staff_ids": [],
"is_enabled": true,
"created_at": "2022-02-09T02:32:19.000000Z",
"updated_at": "2022-02-09T03:08:26.000000Z"
}
}
This endpoint adds a Trigger to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/settings/workflows/triggers
Parameter | Description | Required |
---|---|---|
name | The name of the Trigger | Yes |
type | The type of the Trigger, see Types | Yes |
item | The id of the Trigger item | Yes |
event | The event that causes the trigger to fire, see Events | Yes |
event_days | Number of days from the event to fire | No |
template_id | The ID of the template to send | No |
subject | The subject of the notification | No |
body | The body of the notification | No |
to | An email to send to | No |
to_contact | Boolean to send to contact | No |
to_members | Boolean to send to staff members of the job or lead | No |
staff_ids | Array of staff ids to send to | No |
is_enabled | Enable or disabled the trigger from firing | No |
Delete a Trigger
Response
204 | No content
This endpoint deletes a Trigger.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/settings/workflows/triggers/{triggerId}
Update a Trigger
Response
{
"trigger": {
"id": "fa44be6d-a8c7-42cd-9f76-c00abf7861ec",
"name": "Send installation notification",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"item": "lead",
"type": "notification",
"event": "completed",
"event_days": "0",
"template_id": null,
"subject": "",
"body": "",
"to": "",
"to_contact": false,
"to_members": false,
"staff_ids": [],
"is_enabled": true,
"created_at": "2022-02-09T02:32:19.000000Z",
"updated_at": "2022-02-09T03:08:26.000000Z"
}
}
HTTP Request
PUT /api/v1/organisations/{organisationId}/settings/workflows/triggers/{triggerId}
This endpoint allows you to update the details of a Trigger.
Parameter | Description | Required |
---|---|---|
name | The name of the Trigger | No |
type | The type of the Trigger, see Types | No |
item | The id of the Trigger item | No |
event | The event that causes the trigger to fire, see Events | No |
event_days | Number of days from the event to fire | No |
template_id | The ID of the template to send | No |
subject | The subject of the notification | No |
body | The body of the notification | No |
to | An email to send to | No |
to_contact | Boolean to send to contact | No |
to_members | Boolean to send to staff members of the job or lead | No |
staff_ids | Array of staff ids to send to | No |
is_enabled | Enable or disabled the trigger from firing | No |
Settings > Workflow Trigger Types
List Trigger Types
Response
{
"types": [
{
"id": "email",
"name": "Email",
},
{
"id": "notification",
"name": "Notification",
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/triggers/events
This endpoint allows you to list all trigger types for an organisation.
Settings > Workflow Trigger Events
List Trigger Events
Response
{
"events": [
{
"id": "started",
"name": "Task started",
},
{
"id": "completed",
"name": "Task completed",
},
{
"id": "start_date_due",
"name": "Task start date due",
},
{
"id": "start_date_overdue",
"name": "Task start date overdue",
},
{
"id": "target_date_due",
"name": "Task target date due",
},
{
"id": "target_date_overdue",
"name": "Task target date overdue",
}
]
}
HTTP Request
GET /api/v1/organisations/{organisationId}/settings/workflows/triggers/types
This endpoint allows you to list all trigger types for an organisation.
Staff
List all Staff Members
Response
{
"staff": {
"data": [
{
"id": "a25cafc0-a597-491e-8344-eff21466470e",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": "Drafter",
"date_of_birth": "2081-08-31T00:00:00.000000Z",
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": null,
"gender": "male",
"address_line1": "14 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"emergency_contact": "Jane Smith",
"emergency_email": "janesmith@jobman.com.au",
"emergency_phone": "+61349897232",
"emergency_relationship": "Housemate",
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"kiosk_enabled": true,
"login_enabled": true,
"roles": [],
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-08-13T08:01:09.000000Z",
"updated_at": "2021-08-13T08:37:20.000000Z",
"deactivated_at": null
},
{
"id": "e8e0c9b8-9c9f-4f78-a20f-a41a595a19bc",
"first_name": "Jane",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"email": "janesmith@jobman.com.au",
"phone": "0811111111",
"mobile": null,
"job_title": "Manager",
"date_of_birth": "2081-08-31T00:00:00.000000Z",
"gender": "female",
"address_line1": "14 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"emergency_contact": "John Muller",
"emergency_email": "jmuller@jobman.com.au",
"emergency_phone": "+61349897232",
"emergency_relationship": "Friend",
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"roles": [],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-08-13T08:00:30.000000Z",
"updated_at": "2021-08-13T08:00:30.000000Z",
"deactivated_at": null
},
{
"id": "20e34f3f-ff93-4ef2-a835-5caf25860200",
"first_name": "Joe",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smtih",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"email": "joesmith@jobman.com.au",
"phone": "0811111111",
"mobile": null,
"job_title": "Maintenance",
"date_of_birth": "2081-08-31T00:00:00.000000Z",
"gender": "male",
"address_line1": "14 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"emergency_contact": "Jane Smith",
"emergency_email": "janesmith@jobman.com.au",
"emergency_phone": "+61349897232",
"emergency_relationship": "Siblings",
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"roles": [],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-08-13T08:01:42.000000Z",
"updated_at": "2021-08-13T08:01:42.000000Z",
"deactivated_at": null
}
]
}
}
This endpoint retrieves all staff from an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/staff
Parameter | Description | Required |
---|---|---|
deactivated | Boolean flag to filter by deactivated status | No |
Get a Staff Member
Response
{
"staff": [
{
"id": "a25cafc0-a597-491e-8344-eff21466470e",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": "Drafter",
"date_of_birth": "2081-08-31T00:00:00.000000Z",
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": null,
"gender": "male",
"address_line1": "14 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"emergency_contact": "Jane Smith",
"emergency_email": "janesmith@jobman.com.au",
"emergency_phone": "+61349897232",
"emergency_relationship": "Housemate",
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"roles": [],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-08-13T08:01:09.000000Z",
"updated_at": "2021-08-13T08:37:20.000000Z",
"deactivated_at": null
}
]
}
This endpoint retrieves all staff from an organisation
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/{staffId}
Get all Staff Member Activities
Response
{
"activities": {
"data": []
}
}
This endpoint retrieves all the activities for a staff member
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/{staffId}/activities
Update a Staff Member
Response
{
"staff": [
{
"id": "a25cafc0-a597-491e-8344-eff21466470e",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": "Drafter",
"date_of_birth": "2081-08-31T00:00:00.000000Z",
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"gender": "male",
"address_line1": "14 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"emergency_contact": "Jane Smith",
"emergency_email": "janesmith@jobman.com.au",
"emergency_phone": "+61349897232",
"emergency_relationship": "Housemate",
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"roles": [],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-08-13T08:01:09.000000Z",
"updated_at": "2021-08-13T08:37:20.000000Z"
}
]
}
This endpoint updates a staff member
HTTP Request
PUT /api/v1/organisations/{organisationId}/staff/{staffId}
Parameter | Description | Required |
---|---|---|
first_name | The first name of the staff member | Yes |
last_name | The last name of the staff member | Yes |
job_title | The job title of the staff member | No |
The email of the staff member | No | |
phone | The phone of the staff member | No |
mobile | The mobile of the staff member | No |
roles | Array of roles applied to the staff member | No |
date_of_birth | The date of birth of the staff member | No |
gender | The gender of the staff member | No |
address_line_1 | The first address line of the staff member | No |
address_line2 | The second address line of the staff member | No |
address_city | The city of the staff member | No |
address_region | The region of the staff member | No |
address_postal_code | The postal code of the staff member | No |
address_country_id | The country id of the staff member | No |
emergency_contact | The nominated emergency contact's name of the staff member | No |
emergency_email | The nominated emergency contact's email of the staff member | No |
emergency_phone | The nominated emergency contact's phone of the staff member | No |
emergency_relationship | The nominated emergency contact's relationship with the staff member | No |
personal_email | The personal email of the staff member | No |
personal_phone | The personal phone of the staff member | No |
personal_mobile | The personal mobile of the staff member | No |
timezone | Timezone for the staff member | No |
Add a Staff Member
Response
{
"staff": {
"id": "a25cafc0-a597-491e-8344-eff21466470e",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": "Drafter",
"date_of_birth": "2081-08-31T00:00:00.000000Z",
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"gender": "male",
"address_line1": "14 Murphy St",
"address_line2": null,
"address_city": "O'Connor",
"address_region": "Western Australia",
"address_postal_code": "6163",
"address_country_id": "AU",
"emergency_contact": "Jane Smith",
"emergency_email": "janesmith@jobman.com.au",
"emergency_phone": "+61349897232",
"emergency_relationship": "Housemate",
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"roles": [],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-08-13T08:01:09.000000Z",
"updated_at": "2021-08-13T08:37:20.000000Z"
}
}
This endpoint adds a staff member to an organisation.
HTTP Request
POST /api/v1/organisations/{organisationId}/staff
Parameter | Description | Required |
---|---|---|
first_name | The first name of the staff member | Yes |
last_name | The last name of the staff member | Yes |
job_title | The job title of the staff member | No |
The email of the staff member | No | |
phone | The phone of the staff member | No |
mobile | The mobile of the staff member | No |
roles | Array of roles applied to the staff member | No |
date_of_birth | The date of birth of the staff member | No |
gender | The gender of the staff member | No |
address_line_1 | The first address line of the staff member | No |
address_line2 | The second address line of the staff member | No |
address_city | The city of the staff member | No |
address_region | The region of the staff member | No |
address_postal_code | The postal code of the staff member | No |
address_country_id | The country id of the staff member | No |
address_country_name | The country name of the staff member | No |
emergency_contact | The nominated emergency contact's name of the staff member | No |
emergency_email | The nominated emergency contact's email of the staff member | No |
emergency_phone | The nominated emergency contact's phone of the staff member | No |
emergency_relationship | The nominated emergency contact's relationship with the staff member | No |
personal_email | The personal email of the staff member | No |
personal_phone | The personal phone of the staff member | No |
personal_mobile | The personal mobile of the staff member | No |
timezone | Timezone for the staff member | No |
Invite a Staff Member to login
Response
200 | Everything is ok.
This endpoint invites a staff member to login
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/{staffId}/invite
Revoke login access for a Staff Member
Response
204 | No content
This endpoint removes the access permissions for the staff member
HTTP Request
DELETE /api/v1/organisations/{organisationId}/staff/{staffId}/invite
Deactivate Staff
Response
{
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Sales",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint deactivates one or multiple staff members on a specified date
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/deactivate
Parameter | Description | Required |
---|---|---|
ids | An array of staff IDs | Yes |
datetime | The deactivation date-time formatted as "YYYY-MM-DD HH:MM" | Yes |
Activate Staff
Response
{
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"kiosk_enabled": true,
"login_enabled": true,
"language": "en_AU",
"timezone": "Australia/Perth",
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint reactivates one or multiple staff members
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/activate
Parameter | Description | Required |
---|---|---|
ids | An array of staff IDs | Yes |
Disable Staff login
Response
{
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"language": "en_AU",
"timezone": "Australia/Perth",
"kiosk_enabled": true,
"login_enabled": true,
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint disables the staff member's ability to login.
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/{staffId}/login/disable
Enable Staff login
Response
{
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"language": "en_AU",
"timezone": "Australia/Perth",
"kiosk_enabled": true,
"login_enabled": true,
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint reactivates the staff member's ability to login.
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/{staffId}/login/enable
Issue Kiosk PIN
Response
{
"pin": "1234",
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"address_country_name": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"language": "en_AU",
"timezone": "Australia/Perth",
"kiosk_enabled": true,
"login_enabled": true,
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint enables Kiosk mode access by issuing a temporary PIN number for the specified staff member.
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/{staffId}/kiosk/pin
Revoke Kiosk PIN
Response
{}
This endpoint disables Kiosk mode access for the specified staff member by disabling their PIN number.
HTTP Request
DELETE /api/v1/organisations/{organisationId}/staff/{staffId}/kiosk/pin
Disable Kiosk mode access
Response
{
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"language": "en_AU",
"timezone": "Australia/Perth",
"kiosk_enabled": false,
"login_enabled": true,
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint disables the staff member's access to the Kiosk mode without disabling their PIN number.
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/{staffId}/kiosk/disable
Enable Kiosk mode access
Response
{
"staff": [
{
"id": "6faa01b6-71c4-4367-bcca-08a6ca8addf0",
"first_name": "John",
"last_name": "Smith",
"avatar": "https://ui-avatars.com/api/?format=svg&bold=true&background=333333&color=FFFFFF&rounded=true&name=John+Smith",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"job_title": null,
"date_of_birth": null,
"gender": null,
"address_line1": null,
"address_line2": null,
"address_city": null,
"address_region": null,
"address_postal_code": null,
"address_country_id": null,
"emergency_contact": null,
"emergency_email": null,
"emergency_phone": null,
"emergency_relationship": null,
"personal_phone": "0822222222",
"personal_email": "example@jobman.com.au",
"personal_mobile": null,
"email": "johnsmith@jobman.com.au",
"phone": "0811111111",
"mobile": "042264544454",
"roles": [
{
"id": "8a32aad3-3be1-40de-8089-dce3a29d8433",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-07T08:18:52.000000Z",
"created_by": null
}
],
"language": "en_AU",
"timezone": "Australia/Perth",
"kiosk_enabled": true,
"login_enabled": true,
"created_at": "2021-09-07T08:18:52.000000Z",
"updated_at": "2021-09-09T01:23:07.000000Z",
"created_by": null,
"deactivated_at": "2021-09-09T01:22:00.000000Z"
}
]
}
This endpoint re-enables the staff member's access to the Kiosk mode with their existing PIN number.
HTTP Request
POST /api/v1/organisations/{organisationId}/staff/{staffId}/kiosk/disable
Staff Abilities
List all staff abilities
Response
{
"permissions": [
{
"group": "Profile",
"abilities": [
{
"id": "update_profile",
"name": "Can update profile"
},
{
"id": "view_profile_timesheet",
"name": "Can view profile timesheet"
},
{
"id": "add_profile_timesheet",
"name": "Can add efforts to profile timesheet"
},
{
"id": "update_profile_timesheet",
"name": "Can update efforts on profile timesheet"
},
{
"id": "delete_profile_timesheet",
"name": "Can delete efforts from profile timesheet"
},
{
"id": "view_profile_tasks",
"name": "Can view profile tasks"
}
]
}
]
}
This endpoint retrieves all the abilities for the organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/permissions
Staff Roles
List staff roles
Response
{
"staff_roles": [
{
"id": "dabfda65-24ce-4c45-bb68-65769756c256",
"name": "Administrator",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-13T02:59:26.000000Z",
"updated_at": "2021-08-13T02:59:26.000000Z"
},
{
"id": "2ecde52b-c5d4-4f5d-a2a9-1a36f1991d70",
"name": "Sales",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-13T02:59:27.000000Z",
"updated_at": "2021-08-13T02:59:27.000000Z"
},
{
"id": "6c57e1bc-6ad3-425f-adf7-ee2f87dcfbf3",
"name": "Support",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"abilities": [],
"created_at": "2021-08-13T02:59:26.000000Z",
"updated_at": "2021-08-13T02:59:26.000000Z"
}
],
}
}
This endpoint retrieves all active staff roles from an organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/roles
For more see Settings > Staff Roles.
Staff Syncs
List all staff synchronisations
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/syncs
This endpoint allows you to list all staff synchronisations.
Response
{
"staff_syncs": {
"data": [
{
"id": "f4e9c632-49be-4410-bbc5-df5bb614aa04",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "96535a83-e4b7-4116-8e2f-9fb50e71ed0e",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"cache.skipped": 1
},
"results": [
"1 existing staff member updated in Xero",
"1 existing staff member was updated from Xero"
]
},
"created_at": "2022-05-18T04:17:30.000000Z"
},
{
"id": "f9d52f06-e49c-4450-9c3d-7e9ed7001bef",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "96535a68-a3fc-4c6c-852a-35ba228565e8",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"cache.skipped": 1
},
"results": [
"1 existing staff member updated in Xero",
"1 existing staff member was updated from Xero"
]
},
"created_at": "2022-05-18T04:17:12.000000Z"
},
{
"id": "d7200c5f-1fc6-4a92-abf5-1b6a36685efe",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "96535a18-fcda-4e47-84b3-79b5ec8aa709",
"status": "started",
"status_name": "Started",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2022-05-18T04:16:20.000000Z"
}
]
}
}
Get a staff synchronisation
HTTP Request
GET /api/v1/organisations/{organisationId}/staffs/syncs/{staffSyncId}
This endpoint allows you to retrieve specific synchronisation's details.
Response
{
"staff_sync": {
"id": "f4e9c632-49be-4410-bbc5-df5bb614aa04",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "96535a83-e4b7-4116-8e2f-9fb50e71ed0e",
"status": "completed",
"status_name": "Completed",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"cache.skipped": 1
},
"results": ["1 existing staff member updated in Xero", "1 existing staff member was updated from Xero"]
},
"created_at": "2022-05-18T04:17:30.000000Z"
}
}
Create a staff synchronisation
HTTP Request
POST /api/v1/organisations/{organisationId}/staffs/syncs
This endpoint allows you to create a staffs synchronisation.
Response
{
"staff_sync": {
"id": "f4e9c632-49be-4410-bbc5-df5bb614aa04",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2022-05-18T04:17:30.000000Z"
}
}
Update an staff synchronisation
HTTP Request
PUT /api/v1/organisations/{organisationId}/staffs/syncs/{staffSyncId}
This endpoint allows you to update a staff synchronisation.
Response
{
"staff_sync": {
"id": "5f65a660-357b-40a3-9385-4ba656755a9a",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": null,
"status": "not_started",
"status_name": "Not started",
"progress": 0,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2021-09-28T08:10:22.000000Z"
}
}
Start a staff synchronisation
HTTP Request
POST /api/v1/organisations/{organisationId}/staffs/syncs/{staffSyncId}/start
This endpoint starts a specific synchronisation.
Response
{
"staff_sync": {
"id": "f4e9c632-49be-4410-bbc5-df5bb614aa04",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "96558b14-cca5-4386-9dbf-ee3f0dd7bcdb",
"status": "started",
"status_name": "Started",
"progress": 100,
"warnings": [],
"errors": [],
"stats": [],
"results": []
},
"created_at": "2022-05-18T04:17:30.000000Z"
}
}
Cancel a staff synchronisation
HTTP Request
POST /api/v1/organisations/{organisationId}/staffs/syncs/{staffSyncId}/cancel
This endpoint cancels a specific synchronisation.
Response
{
"staff_sync": {
"id": "f4e9c632-49be-4410-bbc5-df5bb614aa04",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"batch": {
"id": "96558b14-cca5-4386-9dbf-ee3f0dd7bcdb",
"status": "cancelled",
"status_name": "Cancelled",
"progress": 100,
"warnings": [],
"errors": [],
"stats": {
"xero_api_called.total": 2,
"synced_from_xero.total": 1,
"synced_from_provider.updated_in_jobman": 1,
"synced_from_jobman.total": 1,
"synced_from_jobman.updated_in_provider": 1,
"cache.skipped": 1
},
"results": ["1 existing staff member updated in Xero", "1 existing staff member was updated from Xero"]
},
"created_at": "2022-05-18T04:17:30.000000Z"
}
}
Staff Timesheet
List a Staff Members Timesheet Entries
Response
{
"timesheet_entries": {
"data": [
{
"id": "524ea530-a372-4896-9cc7-5ec406bffb5c",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-12T04:15:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-14T04:15:00.000000Z"
},
{
"id": "875bb3d4-2c15-4148-b47c-83ce5ba3f658",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T07:31:59.000000Z",
"paused_at": null,
"ended_at": null
},
{
"id": "c407840c-c889-48d9-8118-a2290d85cf02",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T07:26:00.000000Z",
"paused_at": null,
"ended_at": null
}
]
}
}
This endpoint retrieves all the timesheet entries for your organisation staff profile.
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/{staffId}/timesheet
Get a Staff Members Timesheet Entry
Response
{
"timesheet_entry": {
"id": "9bfdf076-a040-4fa5-bf55-4a1f783d6cdb",
"created_at": "2022-09-09T06:24:13.000000Z",
"updated_at": "2022-09-09T06:24:13.000000Z",
"deleted_at": null,
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T06:24:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-09T06:29:00.000000Z",
"created_by": null,
"description": null
}
}
This endpoint retrieves a specific timesheet entry for a staff member.
HTTP Request
GET /api/v1/organisations/{organisationId}/staff/{staffId}/timesheet/{timesheetEntryId}
Add a Staff Member Timesheet Entry
Response
{
"timesheet_entry": {
"id": "524ea530-a372-4896-9cc7-5ec406bffb5c",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-09T04:15:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-12T04:15:00.000000Z"
}
}
This endpoint adds a timesheet entry for a Staff Member.
HTTP Request
POST /api/v1/organisations/{organisationId}/{staffId}/timesheet
Parameter | Description | Required |
---|---|---|
task_id | The id of the task | Yes |
started_at | The start date and time | Yes |
ended_at | The end date and time | Yes |
description | A short descriptive label | No |
Update a Staff Member Timesheet Entry
Response
{
"timesheet_entry": {
"id": "524ea530-a372-4896-9cc7-5ec406bffb5c",
"task_id": "d736d30c-75a0-4bc3-b1a1-3f62fd7c7ba9",
"staff_id": "529c0225-f11f-4881-beb1-d70baf630389",
"started_at": "2022-09-12T04:15:00.000000Z",
"paused_at": null,
"ended_at": "2022-09-14T04:15:00.000000Z"
}
}
This endpoint updates a timesheet entry for a Staff Member.
HTTP Request
PUT /api/v1/organisations/{organisationId}/staff/{staffId}/timesheet/{timesheetEntryId}
Parameter | Description | Required |
---|---|---|
started_at | The start date and time | No |
ended_at | The end date and time | No |
description | A short descriptive label | No |
Storage Drivers
List Storage Drivers
Response
{
"storage_drivers": [
{
"id": "amazon_s3",
"name": "Amazon S3"
},
{
"id": "dropbox",
"name": "Dropbox"
},
{
"id": "ftp",
"name": "FTP"
},
{
"id": "google_drive",
"name": "Google Drive"
},
{
"id": "microsoft_one_drive",
"name": "Microsoft OneDrive"
}
]
}
This endpoint retrieves the available storage drivers in Jobman.
HTTP Request
GET /api/v1/storage-drivers
Tax Types
List all Tax Types
HTTP Request
GET /api/v1/organisations/{organisationId}/tax-types
This endpoint allows you to list all active Tax Types for an organisation.
For more see Settings > Accounting > Tax Types.
Response
{
"tax_types": {
"data": [
{
"id": "1cc64641-d497-4a11-8c95-2698377518d7",
"name": "BAS Excluded",
"code": "BASEXCLUDED",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
},
{
"id": "3f24fb8f-bf97-47d0-9735-f875bc6f11b7",
"name": "GST Free Capital",
"code": "EXEMPTCAPITAL",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
},
{
"id": "0b13ab8b-2ce6-4eb9-8511-65d5840b4554",
"name": "GST Free Expenses",
"code": "EXEMPTEXPENSES",
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
}
]
}
}
Templates
List Templates
Response
{
"templates": {
"data": [
{
"id": "9d0a3f3c-93ee-4415-ad89-176184cb7d43",
"name": "Email",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "email",
"content": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <script src=\"https://cdn.tailwindcss.com?plugins=typography\"></script>\n</head>\n<body class=\"font-sans p-4\">\n <div class=\"prose-sm\">\n {{ body }}\n </div>\n {% if organisation.logo %}\n <p class=\"my-6\">\n {% if organisation.website %}\n <a href=\"{{ organisation.website }}\">\n <img style=\"width:auto;height:50px\" src=\"{{ organisation.logo }}\">\n </a>\n {% else %}\n <img style=\"width:auto;height:50px\" src=\"{{ organisation.logo }}\">\n {% endif %}\n </p>\n {% endif %}\n</body>\n</html>\n",
"subject": "Message\n",
"body": "<p>Hi {{ name | default: contact.name }},</p>\n<p></p>\n\n<p>If you have any questions let me know.</p>\n\n<p>Regards,<br>\n<br>\n<strong>{{ staff.name }}</strong><br>\n{% if staff.job_title %}\n {{ staff.job_title }}<br>\n{% endif %}\n{{ organisation.name }}<br>\n{% if staff.email %}\n <a href=\"mailto:{{staff.email}}\">{{ staff.email }}</a><br>\n{% endif %}\n{% if staff.mobile %}\n {{ staff.mobile }}<br>\n{% endif %}\n{% if staff.phone %}\n {{ staff.phone }}<br>\n{% endif %}\n</p>\n",
"is_default": true,
"created_at": "2022-10-26T01:02:42.000000Z",
"updated_at": "2022-10-26T01:02:42.000000Z"
},
{
"id": "09b67604-87a4-4672-a1c5-452866740977",
"name": "Invoice Email",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "invoice_email",
"content": "<!doctype html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <script src=\"https://cdn.tailwindcss.com?plugins=typography\"></script>\n</head>\n<body class=\"font-sans p-4\">\n <div class=\"prose-sm\">\n {{ body }}\n </div>\n {% if organisation.logo %}\n <p class=\"my-6\">\n {% if organisation.website %}\n <a href=\"{{ organisation.website }}\">\n <img style=\"width:auto;height:50px\" src=\"{{ organisation.logo }}\">\n </a>\n {% else %}\n <img style=\"width:auto;height:50px\" src=\"{{ organisation.logo }}\">\n {% endif %}\n </p>\n {% endif %}\n</body>\n</html>\n",
"subject": "Invoice {{ invoice.number }}\n",
"body": "<p>Hi {{ name | default: contact.name }},</p>\n\n<p>Here's invoice {{ invoice.number }} for {{ invoice.total }}.</p>\n\n<p>View and pay your bill online:<br><a class=\"underline\" href=\"{{invoice.public_link}}\">{{ invoice.public_link }}</a></p>\n\n<p>From your online bill you can print and add comments.</p>\n\n<p>If you have any questions, please let us know.</p>\n\n<p>Regards,<br>\n<br>\n<strong>{{ staff.name }}</strong><br>\n{% if staff.job_title %}\n {{ staff.job_title }}<br>\n{% endif %}\n{{ organisation.name }}<br>\n{% if staff.email %}\n <a href=\"mailto:{{staff.email}}\">{{ staff.email }}</a><br>\n{% endif %}\n{% if staff.mobile %}\n {{ staff.mobile }}<br>\n{% endif %}\n{% if staff.phone %}\n {{ staff.phone }}<br>\n{% endif %}\n</p>\n\n",
"is_default": true,
"created_at": "2022-10-26T01:02:43.000000Z",
"updated_at": "2022-10-26T01:02:43.000000Z"
},
{
"id": "5eec277c-a2eb-4076-affa-5765866bf7b6",
"name": "SMS",
"organisation_id": "33b928af-f0b5-42f9-ae2f-48dba38929ca",
"type": "sms",
"content": "{{ body }}\n{{ organisation.name }}\n",
"subject": null,
"body": "Hi {{ contact.name }}, lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\nlabore et dolore magna aliqua.\n",
"is_default": true,
"created_at": "2022-10-26T01:02:42.000000Z",
"updated_at": "2022-10-26T01:02:42.000000Z"
}
]
}
}
This endpoint retrieves all the active templates for a specific organisation.
HTTP Request
GET /api/v1/organisations/{organisationId}/templates
For more see Settings > Templates.
Timezones
List Timezones
Response
{
"timezones": [
{
"id": "Australia/Melbourne",
"name": "Australia/Melbourne (UTC+11:00)"
},
{
"id": "Australia/Perth",
"name": "Australia/Perth (UTC+08:00)"
},
{
"id": "Australia/Sydney",
"name": "Australia/Sydney (UTC+11:00)"
}
]
}
This endpoint retrieves the timezones in Jobman.
HTTP Request
GET /api/v1/timezones
Units of Measurement
Length
HTTP Request
GET /api/v1/length-units
This endpoint returns the available units of measure for length.
Response
{
"units": [
{
"id": "centimetres",
"name": "Centimetres",
"symbol": "cm"
},
{
"id": "feet",
"name": "Feet",
"symbol": "ft"
},
{
"id": "inches",
"name": "Inches",
"symbol": "in"
},
{
"id": "metres",
"name": "Metres",
"symbol": "m"
},
{
"id": "millimetres",
"name": "Millimetres",
"symbol": "mm"
}
]
}
Volume
HTTP Request
GET /api/v1/volume-units
This endpoint returns the available units of measure for volume.
Response
{
"units": [
{
"id": "gallons",
"name": "Gallons",
"symbol": "gal"
},
{
"id": "litres",
"name": "Litres",
"symbol": "litre"
},
{
"id": "millilitres",
"name": "Millilitres",
"symbol": "ml"
}
]
}
Mass
HTTP Request
GET /api/v1/mass-units
This endpoint returns the available units of measure for mass.
Response
{
"units": [
{
"id": "grams",
"name": "Grams",
"symbol": "g"
},
{
"id": "kilograms",
"name": "Kilograms",
"symbol": "kg"
},
{
"id": "tonnes",
"name": "Tonnes",
"symbol": "t"
}
]
}
Quantity
HTTP Request
GET /api/v1/quantity-units
This endpoint returns the available units of measure for quantity.
Response
{
"units": [
{
"id": "each",
"name": "Each",
"symbol": "ea"
},
{
"id": "kilogram",
"name": "Kilogram",
"symbol": "kg"
},
{
"id": "lineal_metre",
"name": "Lineal Metre",
"symbol": "lm"
},
{
"id": "litre",
"name": "Litre",
"symbol": "litre"
},
{
"id": "pack",
"name": "Pack",
"symbol": "pack"
},
{
"id": "pair",
"name": "Pair",
"symbol": "pair"
},
{
"id": "piece",
"name": "Piece",
"symbol": "pce"
},
{
"id": "roll",
"name": "Roll",
"symbol": "roll"
},
{
"id": "sheet",
"name": "Sheet",
"symbol": "sheet"
},
{
"id": "square_metre",
"name": "Square Metre",
"symbol": "m²"
}
]
}
Uploads
Upload Files
HTTP Request
POST /api/v1/upload
This endpoint allows you to upload files.
Parameter | Description | Required |
---|---|---|
file | file form data | Yes |
Response
{
"upload": {
"name": "Image.png",
"path": "tmp/ab51345e-f280-4a87-aa8d-0c28cf341326/Image.png",
"type": "image/png",
"size": 164847,
"size_formatted": "161 KB",
"url": "https://jobmanapp.com/storage/main/tmp/ab51345e-f280-4a87-aa8d-0c28cf341326/Image.png"
}
}