NAV

Introduction

The Jobman API allows you to create and interact with Jobman through a simple REST API.

Changelog

18th March 2024

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
email 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
email 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
email 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 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 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
email 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
email 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
email 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
email 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"
    }
}