Plentific Public API v2023-02-01
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Plentific has a sandbox environment to test the API with. This can be found at sandbox.plentific.com.
Please ask your account manager for access credentials to the Sandbox. You can log in with these credentials at the URLs listed below.
For UK clients: sandbox.plentific.com/uk/auth/login
For German clients: sandbox.plentific.com/de/auth/login
Base URLs:
Authentication
- HTTP Authentication, scheme: bearer
To access the API endpoints a JWT token is required. You can obtain a token using the "Generate a new Token" endpoint. This endpoint requires a "client_id" and a "client_secret", you can apply to a key by sending an email to support@plentific.com
Authentication Tokens
Once you have received your 'client_id' and 'client_secret' from the Plentific team, you can use this endpoint to generate a new token. The token's default expiry time is 24 hours after it's generated.
The token is a bearer token, use the access_token from the response in the Authorization header of subsequent requests e.g. Authorization: Bearer <access_token>
Generate new token
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://api.plentific.com/2023-02-01/token', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/token \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST /token
This endpoint generates a new token
Body parameter
{
"client_id": "string",
"client_secret": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | true | This is the body that can be used to obtain a new token. |
client_id | body | string | true | none |
client_secret | body | string | true | none |
Example responses
200 Response
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJteS1wcm9qZWN0IiwiZXhwIjoxNTA5NjUwODAxLCJpYXQiOjE1MDk2NTQ0MDF9.F4iKO0R0wvHkpCcQoyrYttdGxE5FLAgDhbTJQLEHIBPsbL2WkLxXB9IGbDESn9rE7oxn89PJFRtcLn7kJwvdQkQcsPxn2RQorvDAnvAi1w3k8gpxYWo2DYJlnsi7mxXDqSUCNm1UCLRCW68ssYJxYLSg7B1xGMgDADGyYPaIx1EdN4dDbh-WeDyLLa7a8iWVBXdbmy1H3fEuiAyxiZpk2ll7DcQ6ryyMrU2XadwEr9PDqbLe5SrlaJsQbFi8RIdlQJSo_DZGOoAlA5bYTDYXb-skm7qvoaH5uMtOUb0rjijYuuxhNZvZDaBerEaxgmmlO0nQgtn12KVKjmKlisG79Q",
"expires_in": 3600,
"scope": "client_metadata",
"token_type": "Bearer"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The token that must be used to access endpoints | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
access_token | string | false | none | The access token string as issued by authorization server. |
expires_in | integer | false | none | The number of seconds that the access token is granted for. |
scope | string | false | none | none |
token_type | string | false | none | The type of access token. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Account Codes
List all account codes
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/account-codes', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/account-codes \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /account-codes
This endpoint returns all account codes in the platform, and also returns the organisations that each are linked to
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"code": "ACCOUNT-1",
"description": "Plumbering",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Account codes list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | The account code. |
description | string | false | none | This is the account code description given in Plentific. |
organisations | [string] | false | none | A list of Organisations uuids using this Account Code. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create an account code
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/account-codes', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/account-codes \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /account-codes
This endpoint creates a new account code
Body parameter
{
"code": "ACCOUNT-1",
"description": "Plumbering",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | This is the body that can be used to create a Account Code. |
code | body | string | true | The account code. |
description | body | string | true | This is the account code description given in Plentific. |
organisations | body | [string] | true | A list of Organisations uuids using this Account Code. |
Example responses
201 Response
{
"code": "ACCOUNT-1",
"description": "Plumbering",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Account codes details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
409 | Conflict | Conflict details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | The account code. |
description | string | false | none | This is the account code description given in Plentific. |
organisations | [string] | false | none | A list of Organisations uuids using this Account Code. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 409
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
409 | X-Api-Version | string | date | The date of version |
Delete an account code
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/account-codes/{account_code_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/account-codes/{account_code_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /account-codes/{account_code_uuid}
This endpoint deletes an account code so that it can no longer be added to any work orders
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
account_code_uuid | path | string(uuid) | true | UUID of the account code. |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Update an account code
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/account-codes/{account_code_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/account-codes/{account_code_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /account-codes/{account_code_uuid}
This endpoint updates an existing account code
Body parameter
{
"description": "Plumbering",
"organisations": [
[
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
]
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
account_code_uuid | path | string(uuid) | true | UUID of the account code. |
body | body | object | true | none |
description | body | string | false | This is the account code description given in Plentific. |
organisations | body | array | false | none |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
409 | Conflict | Conflict details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 409
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
409 | X-Api-Version | string | date | The date of version |
Assets Custom Fields
List custom fields
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/assets/custom-fields', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/assets/custom-fields \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /assets/custom-fields
This endpoint lists custom fields
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
linked_type_uuid | query | string(uuid) | false | Filter by linked type UUID |
Example responses
200 Response
[
{
"api_field_name": "example_field",
"field_label": "Example Field",
"field_type": "text",
"linked_type": "location_type",
"linked_type_uuid": "cf86ffd3-e0a8-4661-addc-d0305d82f093",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of existing Custom Fields | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
api_field_name | string | false | none | The Custom Field's api_field_name (modified field_label). |
field_label | string | false | none | The Custom Field's name. |
field_type | string | false | none | The Custom Field's type. |
linked_type | string | false | none | The Custom Field's related type. |
linked_type_uuid | string(UUID) | false | none | UUID of object related to custom field (Must belong to your organisation group). |
uuid | string(UUID) | false | none | The Custom Field's unique identifier (UUID) |
Enumerated Values
Property | Value |
---|---|
field_type | number |
field_type | text |
field_type | datetime |
field_type | multiselect |
linked_type | location_type |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a custom field
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/assets/custom-fields', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/assets/custom-fields \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /assets/custom-fields
This endpoint creates a new custom field
Body parameter
{
"decimal_places": "2",
"field_format": "short_text",
"field_label": "Example Field",
"field_type": "text",
"is_readonly": true,
"linked_type": "location_type",
"linked_type_uuid": "cf86ffd3-e0a8-4661-addc-d0305d82f093",
"multiselect_options": [
"option 1"
],
"unit": "acre"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | Create Custom Field |
decimal_places | body | string | false | Precision of decimal field. Applicable only for decimal field. Used for decimal field format. Should be between 1 and 5. |
field_format | body | string | false | The Custom Field's format (Must match field_type, eg: number -> integer). |
field_label | body | string | true | The Custom Field's name |
field_type | body | string | false | The Custom Field's type. |
is_readonly | body | boolean | false | Indicates if field is read-only. |
linked_type | body | string | true | The Custom Field's related type. |
linked_type_uuid | body | string(UUID) | true | UUID of object related to custom field (Must belong to your organisation group). |
multiselect_options | body | [string] | false | List of options for multiselect field. Required for multiselect field type. |
unit | body | string | false | Unit of value related to the custom field. |
Enumerated Values
Parameter | Value |
---|---|
field_format | short_text |
field_format | paragraph |
field_format | integer |
field_format | decimal |
field_format | datetime |
field_format | time |
field_format | date |
field_format | multiselect |
field_type | number |
field_type | text |
field_type | datetime |
field_type | multiselect |
linked_type | location_type |
unit | us_dollar |
unit | pound_sterling |
unit | euro |
unit | acre |
unit | hectare |
unit | square_metre |
unit | square_feet |
unit | foot |
unit | inch |
unit | kilometre |
unit | metre |
unit | mile |
unit | millimetre |
unit | yard |
unit | ampere |
unit | ohm |
unit | volt |
unit | watt |
unit | gram |
unit | kilogram |
unit | milligram |
unit | ounce |
unit | pound_mass |
unit | celsius |
unit | fahrenheit |
unit | kelvin |
unit | day |
unit | hour |
unit | millisecond |
unit | minute |
unit | second |
unit | cubic_foot |
unit | cubic_metre |
unit | gallon |
unit | litre |
unit | millilitre |
unit | hertz |
unit | joule |
unit | lumen |
unit | lux |
unit | metre_per_second |
unit | newton |
unit | pascal |
Example responses
201 Response
{
"api_field_name": "example_field",
"decimal_places": "2",
"field_format": "short_text",
"field_label": "Example Field",
"field_type": "text",
"is_readonly": true,
"linked_type": "location_type",
"linked_type_uuid": "cf86ffd3-e0a8-4661-addc-d0305d82f093",
"multiselect_options": [
{
"name": "option 1",
"uuid": "d206f06f-63b3-4c63-a411-9b341386d2e3"
}
],
"unit": "acre",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Details of created Custom Field | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
api_field_name | string | false | none | The Custom Field's api_field_name (modified field_label). |
decimal_places | string | false | none | Precision of decimal field. Applicable only for decimal field. |
field_format | string | false | none | The Custom Field's format (Must match field_type, eg: number -> integer). |
field_label | string | false | none | The Custom Field's name. |
field_type | string | false | none | The Custom Field's type. |
is_readonly | boolean | false | none | Indicates if field is read-only. |
linked_type | string | false | none | The Custom Field's related type. |
linked_type_uuid | string(UUID) | false | none | UUID of object related to custom field (Must belong to your organisation group). |
multiselect_options | [object] | false | none | none |
name | string | false | none | option for multiselect field. |
uuid | string(UUID) | false | none | Option's unique identifier (UUID) |
unit | string | false | none | Unit of value related to the custom field. |
uuid | string(UUID) | false | none | The Custom Field's unique identifier (UUID) |
Enumerated Values
Property | Value |
---|---|
field_format | short_text |
field_format | paragraph |
field_format | integer |
field_format | decimal |
field_format | datetime |
field_format | time |
field_format | date |
field_format | multiselect |
field_type | number |
field_type | text |
field_type | datetime |
field_type | multiselect |
linked_type | location_type |
unit | us_dollar |
unit | pound_sterling |
unit | euro |
unit | acre |
unit | hectare |
unit | square_metre |
unit | square_feet |
unit | foot |
unit | inch |
unit | kilometre |
unit | metre |
unit | mile |
unit | millimetre |
unit | yard |
unit | ampere |
unit | ohm |
unit | volt |
unit | watt |
unit | gram |
unit | kilogram |
unit | milligram |
unit | ounce |
unit | pound_mass |
unit | celsius |
unit | fahrenheit |
unit | kelvin |
unit | day |
unit | hour |
unit | millisecond |
unit | minute |
unit | second |
unit | cubic_foot |
unit | cubic_metre |
unit | gallon |
unit | litre |
unit | millilitre |
unit | hertz |
unit | joule |
unit | lumen |
unit | lux |
unit | metre_per_second |
unit | newton |
unit | pascal |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete a custom field
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /assets/custom-fields/{custom_field_uuid}
This endpoint deletes a custom field from the client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve custom field details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /assets/custom-fields/{custom_field_uuid}
This endpoint returns the details of a particular Custom field
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
Example responses
200 Response
{
"api_field_name": "example_field",
"decimal_places": "2",
"field_format": "short_text",
"field_label": "Example Field",
"field_type": "text",
"is_readonly": true,
"linked_type": "location_type",
"linked_type_uuid": "cf86ffd3-e0a8-4661-addc-d0305d82f093",
"multiselect_options": [
{
"name": "option 1",
"uuid": "d206f06f-63b3-4c63-a411-9b341386d2e3"
}
],
"unit": "acre",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Custom field details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
api_field_name | string | false | none | The Custom Field's api_field_name (modified field_label). |
decimal_places | string | false | none | Precision of decimal field. Applicable only for decimal field. |
field_format | string | false | none | The Custom Field's format (Must match field_type, eg: number -> integer). |
field_label | string | false | none | The Custom Field's name. |
field_type | string | false | none | The Custom Field's type. |
is_readonly | boolean | false | none | Indicates if field is read-only. |
linked_type | string | false | none | The Custom Field's related type. |
linked_type_uuid | string(UUID) | false | none | UUID of object related to custom field (Must belong to your organisation group). |
multiselect_options | [object] | false | none | none |
name | string | false | none | option for multiselect field. |
uuid | string(UUID) | false | none | Option's unique identifier (UUID) |
unit | string | false | none | Unit of value related to the custom field. |
uuid | string(UUID) | false | none | The Custom Field's unique identifier (UUID) |
Enumerated Values
Property | Value |
---|---|
field_format | short_text |
field_format | paragraph |
field_format | integer |
field_format | decimal |
field_format | datetime |
field_format | time |
field_format | date |
field_format | multiselect |
field_type | number |
field_type | text |
field_type | datetime |
field_type | multiselect |
linked_type | location_type |
unit | us_dollar |
unit | pound_sterling |
unit | euro |
unit | acre |
unit | hectare |
unit | square_metre |
unit | square_feet |
unit | foot |
unit | inch |
unit | kilometre |
unit | metre |
unit | mile |
unit | millimetre |
unit | yard |
unit | ampere |
unit | ohm |
unit | volt |
unit | watt |
unit | gram |
unit | kilogram |
unit | milligram |
unit | ounce |
unit | pound_mass |
unit | celsius |
unit | fahrenheit |
unit | kelvin |
unit | day |
unit | hour |
unit | millisecond |
unit | minute |
unit | second |
unit | cubic_foot |
unit | cubic_metre |
unit | gallon |
unit | litre |
unit | millilitre |
unit | hertz |
unit | joule |
unit | lumen |
unit | lux |
unit | metre_per_second |
unit | newton |
unit | pascal |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a custom field
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /assets/custom-fields/{custom_field_uuid}
This endpoint updates an existing custom field
Body parameter
{
"field_label": "Example Field",
"is_readonly": true,
"unit": "acre"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
body | body | object | true | Update Custom Field |
field_label | body | string | false | The Custom Field's name |
is_readonly | body | boolean | false | Indicates if field is read-only. |
unit | body | string | false | Unit of value related to the custom field. |
Enumerated Values
Parameter | Value |
---|---|
unit | us_dollar |
unit | pound_sterling |
unit | euro |
unit | acre |
unit | hectare |
unit | square_metre |
unit | square_feet |
unit | foot |
unit | inch |
unit | kilometre |
unit | metre |
unit | mile |
unit | millimetre |
unit | yard |
unit | ampere |
unit | ohm |
unit | volt |
unit | watt |
unit | gram |
unit | kilogram |
unit | milligram |
unit | ounce |
unit | pound_mass |
unit | celsius |
unit | fahrenheit |
unit | kelvin |
unit | day |
unit | hour |
unit | millisecond |
unit | minute |
unit | second |
unit | cubic_foot |
unit | cubic_metre |
unit | gallon |
unit | litre |
unit | millilitre |
unit | hertz |
unit | joule |
unit | lumen |
unit | lux |
unit | metre_per_second |
unit | newton |
unit | pascal |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
List multiselect options
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /assets/custom-fields/{custom_field_uuid}/multiselect-options
This endpoint lists multiselect options from custom field
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
Example responses
200 Response
[
{
"name": "option 1",
"uuid": "d206f06f-63b3-4c63-a411-9b341386d2e3"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Multiselect options list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | option for multiselect field. |
uuid | string(UUID) | false | none | Option's unique identifier (UUID) |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a multiselect option
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /assets/custom-fields/{custom_field_uuid}/multiselect-options
This endpoint creates a new multiselect option field for custom field
Body parameter
{
"name": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
body | body | object | true | Create multiselect option |
name | body | string | true | none |
Example responses
201 Response
{
"name": "option 1",
"uuid": "d206f06f-63b3-4c63-a411-9b341386d2e3"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Multiselect option details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | option for multiselect field. |
uuid | string(UUID) | false | none | Option's unique identifier (UUID) |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete a multiselect option
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid}
This endpoint deletes a multiselect option from custom field
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
multiselect_option_uuid | path | string(uuid) | true | UUID of the Multiselect Option |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve a multiselect option details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid}
This endpoint returns the details of a multiselect option for custom field
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
multiselect_option_uuid | path | string(uuid) | true | UUID of the Multiselect Option |
Example responses
200 Response
{
"name": "option 1",
"uuid": "d206f06f-63b3-4c63-a411-9b341386d2e3"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Multiselect option details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | option for multiselect field. |
uuid | string(UUID) | false | none | Option's unique identifier (UUID) |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a multiselect option
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /assets/custom-fields/{custom_field_uuid}/multiselect-options/{multiselect_option_uuid}
This endpoint updates an existing multiselect option for custom field
Body parameter
{
"name": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
custom_field_uuid | path | string(uuid) | true | UUID of the Custom field |
multiselect_option_uuid | path | string(uuid) | true | UUID of the Multiselect Option |
body | body | object | true | Update multiselect option |
name | body | string | false | none |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Categories
Work order categories are the type of work required as part of a work order. They are linked to Services and both are needed as part of a new Work Order.
List all categories
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/categories', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/categories \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /categories
This endpoint can be used to list all categories and search for specific categories
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
name | query | string | false | Search keyword for filtering the objects. |
slug | query | string | false | Search keyword for filtering the objects based on slug. |
uuid | query | string(uuid) | false | Search keyword for filtering the objects based on uuid. |
uuid__in | query | string(uuid) | false | Search keyword for filtering the objects based on multiple uuids. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"deactivated": false,
"name": "Home Security Specialist",
"slug": "home-security-specialist",
"url": "/home-security-specialist/",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Categories list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
deactivated | boolean | false | none | Indicates whether a Category is deactivated or not. |
name | string | false | none | Category name |
slug | string | false | none | Slug of the Category |
url | string | false | none | URL of the Category. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve service details of a category
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/categories/{category_uuid}/services', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/categories/{category_uuid}/services \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /categories/{category_uuid}/services
This endpoint can be used to retrieve and search for services within the specified category
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
category_uuid | path | string(uuid) | true | UUID of the Category object. |
name | query | string | false | Search keyword for filtering the objects. |
slug | query | string | false | Search keyword for filtering the objects based on slug. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"category_uuid_list": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"deactivated": false,
"name": "Home Security Specialist",
"slug": "home-security-specialist",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Service detail list of the given category | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category_uuid_list | [string] | false | none | none |
deactivated | boolean | false | none | Indicates whether a Service is deactivated or not. |
name | string | false | none | Service name. |
slug | string | false | none | Service's slug. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
List fault categories
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/fault-categories', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/fault-categories \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /fault-categories
This endpoint can be used to list all fault categories
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"category_uuid": "15791638-f098-49ca-b1a6-40da5bc47256",
"children": [
{
"category_uuid": "15791638-f098-49ca-b1a6-40da5bc47266",
"children": [],
"name": "some-fault-category",
"parent_uuid": "15791638-f098-49ca-b1a6-40da5bc47268",
"service_uuid": "15791638-f098-49ca-b1a6-40da5bc47267",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47265"
}
],
"name": "some-fault-category",
"parent_uuid": "15791638-f098-49ca-b1a6-40da5bc47258",
"service_uuid": "15791638-f098-49ca-b1a6-40da5bc47257",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of fault categories | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category_uuid | string | false | none | Clients must map the Plentific category_uuid on their systems before sending over data. The category_uuid must contain the service_uuid used in the fault object(s). The Categories and Services endpoints will help with this mapping. |
children | [object] | false | none | list of nested fault categories (see example) |
name | string | false | none | The name of the resource. |
parent_uuid | string(uuid) | false | none | A UUID that references a resource. |
service_uuid | string(uuid) | false | none | This is Plentific service_uuid. Clients must map the Plentific service_uuid on their systems before sending over data. If this field is missing, we will raise an exception and will not not proceed. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Contractors
Retrieve details of a contractor
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/contractors/{contractor_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/contractors/{contractor_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /contractors/{contractor_uuid}
This endpoint returns the details of a particular contractor
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
contractor_uuid | path | string(uuid) | true | UUID of the contractor. |
Example responses
200 Response
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"company_registration_number": "206198",
"company_type": "Limited Liability Partnership (LLP)",
"name": "Custom resource name",
"tax_number": "268371123",
"trade_categories": [
"550b4495-80c9-4ef3-8b34-2b5bd802dc9d",
"9be2d512-f7ee-49f5-984c-e8dba260f4cf"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"vat_number": "DE268371123"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Contractor's details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Contractor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
company_registration_number | string | false | none | Registration number of the contractor. |
company_type | string | false | none | The type of company |
name | string | false | none | The name of the resource. |
tax_number | string¦null | false | none | DE-Tax number used by German contractors. |
trade_categories | [string] | false | none | The list of Categories (UUIDs) handled by the contractor |
uuid | string(uuid) | false | none | A UUID that references contractor |
vat_number | string¦null | false | none | EU-VAT number of a contractor |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Files
Upload a file
Code samples
curl --request POST \
--url https://api.plentific.com/2023_02_01/files \
-H 'Content-Type: image/jpeg' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Plentific-File: {"name": "report.pdf"}' \
--data-binary @/Downloads/report.pdf
import requests
headers = {
'Content-Type': 'application/pdf',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Plentific-File': '{"name": "report.pdf"}',
}
with open('/Downloads/report.pdf', 'rb') as f:
r = requests.post(
'https://api.plentific.com/2023_02_01/files',
data=f.read(),
headers = headers,
)
print(r.json())
POST /files
This endpoint uploads a file to the platform
Body parameter
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Plentific-File | header | string | true | Json-like string of filename and eventually URL. |
Content-Type | header | string | true | Content type that describes uploaded file. |
Accept | header | string | true | none |
body | body | string(binary) | false | A file content to upload. |
Example responses
201 Response
{
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Uploaded file uuid | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
406 | Not Acceptable | Response content type error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 406
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | url | The location of the newly-created file. |
201 | X-Api-Version | string | date | The date of version |
Retrieve file details
Code samples
curl -X GET https://api.plentific.com/2023_02_01/files/{file_uuid} \
--header 'authorization: Bearer <access_token>' \
--output report.jpg
import requests
access_token = ""
file_uuid = ""
headers = {
"Authorization": f"Bearer {access_token}",
}
with requests.get(
f"https://api.plentific.com/2023_02_01/files/{file_uuid}",
headers=headers,
stream=True,
) as r:
r.raise_for_status()
with open("./report.pdf", "wb") as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
GET /files/{file_uuid}
This endpoint returns the details of a particular file
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
Accept | header | string | true | none |
file_uuid | path | string(uuid) | true | UUID of the File |
Enumerated Values
Parameter | Value |
---|---|
Accept | application/octet-stream |
Example responses
200 Response
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | File | string |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
424 | Failed Dependency | Failed dependency error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 424
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition | string | none | |
200 | Content-Length | string | none | |
200 | Content-Type | string | none | |
200 | X-Api-Version | string | date | The date of version |
Invoices
List all invoices
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/invoices', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/invoices \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /invoices
This endpoint returns all the invoices registered for client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
status | query | string | false | Invoice status. |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
created_from | query | string(date) | false | The date parameter that denotes start creation date of the invoice. |
created_to | query | string(date) | false | The date parameter that denotes end creation date of the invoice. |
paid_from | query | string(date) | false | The date parameter that denotes start paid date of the invoice. |
paid_to | query | string(date) | false | The date parameter that denotes end paid date of the invoice. |
work_order_uuid | query | string(uuid) | false | The UUID parameter that will return Invoices belonging to a Work Order. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Enumerated Values
Parameter | Value |
---|---|
status | paid |
status | overdue |
status | outstanding |
Example responses
200 Response
[
{
"attachments": [
"e2d7c1f1-b561-4937-82c9-195e109d4581",
"160d959e-e9d8-4113-a692-3f136874383b"
],
"created": "2023-03-28T15:49:30Z",
"due_date": "2023-03-28",
"external_reference": "EG1234",
"is_final": true,
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"paid_on": "2023-03-28T15:49:30Z",
"service_date": "2023-03-28T15:49:30Z",
"status": "paid",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"work_order_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Invoices list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
attachments | [string] | false | none | List of pdf file UUIDs that are attached to an Invoice. |
created | string(date-time) | false | none | none |
due_date | string(date) | false | none | none |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
is_final | boolean | false | none | Indicates whether a an Invoice if final (i.e. non-interim) |
location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
organisation_uuid | string(uuid) | false | none | A UUID that identifies the Organisation of the entry. |
paid_on | string(date-time) | false | none | The paid date-time of the invoice |
service_date | string(date-time) | false | none | none |
status | string | false | none | The status of the Invoice. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
work_order_uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
status | paid |
status | overdue |
status | outstanding |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
List all generated bank transfer payment details for unpaid invoices
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/invoices/unpaid/bank-transfer-payment-details', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/invoices/unpaid/bank-transfer-payment-details \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /invoices/unpaid/bank-transfer-payment-details
This endpoint returns a list of generated bank transfer payment details for unpaid invoices.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
{
"bank_account_details": {
"account_holder": "Adam Smith",
"account_number": "1234567890123456",
"bic_code": "ABCDEFG0000",
"iban": "DE12345678900000000000",
"sort_code": "012345"
},
"invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"payment_reference": "XYZ-012",
"payment_type": "bank_transfer",
"stripe_payment_uuid": "25791638-f098-49ca-b1a6-40da5bc47259",
"total_amount": 123.23
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Bank transfer payment details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bank_account_details | object | false | none | This object contains bank account details that depend on the country. UK clients will only receive account_holder, sort_code and account_number, while DE clients will only receive account_holder, iban and bic_code. |
account_holder | string | false | none | Bank account holder's name |
account_number | string | false | none | Account number of the bank account (UK specific) |
bic_code | string | false | none | BIC code of the bank account (DE specific) |
iban | string | false | none | IBAN of the bank account (DE specific) |
sort_code | string | false | none | Sort code of the bank account (UK specific) |
invoice_uuid | string(uuid) | false | none | Invoice unique identifier (UUID). |
payment_reference | string | false | none | Payment reference of the invoice |
payment_type | string | false | none | Type of chosen payment type |
stripe_payment_uuid | string(uuid) | false | none | Stripe payment unique identifier (UUID). |
total_amount | number(float) | false | none | Invoice's total amount |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Retrieve invoice details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/invoices/{invoice_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /invoices/{invoice_uuid}
This endpoint returns the details of a particular invoice
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
invoice_uuid | path | string(uuid) | true | UUID of the invoice. |
Example responses
200 Response
{
"account_code": 23100,
"approval_completion_date": "2020-03-06T12:00:00Z",
"attachments": [
"e2d7c1f1-b561-4937-82c9-195e109d4581",
"160d959e-e9d8-4113-a692-3f136874383b"
],
"created": "2020-02-28T01:41:58.538216Z",
"due_date": "2020-03-13",
"external_reference": "234567/1",
"id": "211706",
"invoice_type": "job_invoice",
"is_final": true,
"items": [
{
"amount_including_tax": 150,
"description": "We do 2 inspections once a week.",
"metadata": {
"account_code": "8000",
"resident_recharge": "1"
},
"quantity": 1,
"type": "LABOUR",
"unit_price": 150,
"vat": 0
}
],
"job_address": {
"address": {
"address_line_1": "72 Strattondale Street",
"address_line_2": "London",
"address_zone": "London",
"city": "London",
"country": "UK",
"postal_code": "E14 3LR"
},
"external_reference": "67895422/1",
"location_uuid": "4f69c0c7-d288-49e7-8ccb-cfc3ffc3927d"
},
"outstanding_amount": 0,
"paid_on": "2020-03-12T11:06:13.178151Z",
"payment_reference": "XYZ-0123",
"pdf_url": "/invoices/967fb16f-0273-45bb-9cce-45ef747526cf/pdf",
"recipient": {
"beneficiary": {
"address": {
"address_line_1": "8 Plevna Street",
"address_line_2": "",
"address_zone": "London",
"city": "London",
"country": "UK",
"postal_code": "E14 3LP"
},
"name": "Pfeffer LLC"
},
"billing_address": {
"address": {
"address_line_1": "8 Plevna Street",
"address_line_2": null,
"address_zone": "London",
"city": "London",
"country": "UK",
"postal_code": "E14 3LP"
},
"name": "Pfeffer LLC",
"organisation_uuid": "2d238e20-d195-45a6-9a69-740b88404d10"
}
},
"sender": {
"address": {
"address_line_1": null,
"address_line_2": null,
"address_zone": null,
"city": null,
"postal_code": null
},
"company_registration_number": 42798,
"contractor_wallet_id": "567483",
"name": "Boyer and Sons",
"tax_number": null
},
"service_date": "2020-02-26T12:00:00Z",
"status": "paid",
"tax_withheld": 16.5,
"total_excluding_tax": 55,
"total_including_tax": 66,
"total_tax": 11,
"uuid": "967fb16f-0273-45bb-9cce-45ef747526cf",
"work_order": {
"external_reference": "12341234/1",
"uuid": "131f86c8-4427-4579-8b63-b1c2f540d0a2"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Invoice details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account_code | number | false | none | none |
approval_completion_date | string(date-time) | false | none | none |
attachments | [string] | false | none | List of pdf file UUIDs that are attached to an Invoice. |
created | string(date-time) | false | none | none |
due_date | string(date) | false | none | none |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
id | string | false | none | The invoice number. |
invoice_type | string | false | none | none |
is_final | boolean | false | none | Indicates whether a an Invoice if final (i.e. non-interim) |
items | [object] | false | none | none |
amount_including_tax | number(float) | false | none | none |
description | string | false | none | none |
metadata | object | false | none | none |
account_code | string | false | none | none |
resident_recharge | string | false | none | none |
quantity | number(float) | false | none | none |
type | string | false | none | none |
unit_price | number(float) | false | none | none |
vat | number(float) | false | none | none |
job_address | object | false | none | none |
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
location_uuid | string(uuid) | false | none | none |
outstanding_amount | number(float) | false | none | none |
paid_on | string(date-time)¦null | false | none | none |
payment_reference | string | false | none | Payment reference of the invoice |
pdf_url | string(url) | false | none | none |
recipient | object | false | none | none |
beneficiary | object | false | none | none |
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
name | string | false | none | none |
billing_address | object | false | none | none |
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | false | none | none |
sender | object | false | none | none |
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
postal_code | string | false | none | The postal code of the resource. |
company_registration_number | string | false | none | none |
contractor_wallet_id | string¦null | false | none | Contractor wallet's id |
name | string | false | none | The name of the resource. |
tax_number | string | false | none | none |
service_date | string(date-time) | false | none | none |
status | string | false | none | none |
tax_withheld | number(float)¦null | false | none | none |
total_excluding_tax | number(float) | false | none | none |
total_including_tax | number(float) | false | none | none |
total_tax | number(float) | false | none | none |
uuid | string(uuid) | false | none | none |
work_order | object | false | none | none |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
uuid | string(uuid) | false | none | none |
Enumerated Values
Property | Value |
---|---|
invoice_type | job_invoice |
invoice_type | client_service_fee_invoice |
type | LABOUR |
type | MATERIALS |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Retrieve invoice's bank transfer payment details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}/bank-transfer-payment-details', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}/bank-transfer-payment-details \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /invoices/{invoice_uuid}/bank-transfer-payment-details
This endpoint returns the details of a particular invoice
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
invoice_uuid | path | string(uuid) | true | UUID of the invoice. |
Example responses
200 Response
{
"bank_account_details": {
"account_holder": "Adam Smith",
"account_number": "1234567890123456",
"bic_code": "ABCDEFG0000",
"iban": "DE12345678900000000000",
"sort_code": "012345"
},
"invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"payment_reference": "XYZ-012",
"payment_type": "bank_transfer",
"stripe_payment_uuid": "25791638-f098-49ca-b1a6-40da5bc47259",
"total_amount": 123.23
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Bank transfer payment details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bank_account_details | object | false | none | This object contains bank account details that depend on the country. UK clients will only receive account_holder, sort_code and account_number, while DE clients will only receive account_holder, iban and bic_code. |
account_holder | string | false | none | Bank account holder's name |
account_number | string | false | none | Account number of the bank account (UK specific) |
bic_code | string | false | none | BIC code of the bank account (DE specific) |
iban | string | false | none | IBAN of the bank account (DE specific) |
sort_code | string | false | none | Sort code of the bank account (UK specific) |
invoice_uuid | string(uuid) | false | none | Invoice unique identifier (UUID). |
payment_reference | string | false | none | Payment reference of the invoice |
payment_type | string | false | none | Type of chosen payment type |
stripe_payment_uuid | string(uuid) | false | none | Stripe payment unique identifier (UUID). |
total_amount | number(float) | false | none | Invoice's total amount |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Create bank transfer payment details for an invoice
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}/bank-transfer-payment-details', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}/bank-transfer-payment-details \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /invoices/{invoice_uuid}/bank-transfer-payment-details
This endpoint creates bank transfer payment details for the selected invoice
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
invoice_uuid | path | string(uuid) | true | UUID of the invoice. |
Example responses
201 Response
{
"bank_account_details": {
"account_holder": "Adam Smith",
"account_number": "1234567890123456",
"bic_code": "ABCDEFG0000",
"iban": "DE12345678900000000000",
"sort_code": "012345"
},
"invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"payment_reference": "XYZ-012",
"payment_type": "bank_transfer",
"stripe_payment_uuid": "25791638-f098-49ca-b1a6-40da5bc47259",
"total_amount": 123.23
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Bank transfer payment details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
409 | Conflict | Validation error details | Inline |
422 | Unprocessable Entity | Validation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bank_account_details | object | false | none | This object contains bank account details that depend on the country. UK clients will only receive account_holder, sort_code and account_number, while DE clients will only receive account_holder, iban and bic_code. |
account_holder | string | false | none | Bank account holder's name |
account_number | string | false | none | Account number of the bank account (UK specific) |
bic_code | string | false | none | BIC code of the bank account (DE specific) |
iban | string | false | none | IBAN of the bank account (DE specific) |
sort_code | string | false | none | Sort code of the bank account (UK specific) |
invoice_uuid | string(uuid) | false | none | Invoice unique identifier (UUID). |
payment_reference | string | false | none | Payment reference of the invoice |
payment_type | string | false | none | Type of chosen payment type |
stripe_payment_uuid | string(uuid) | false | none | Stripe payment unique identifier (UUID). |
total_amount | number(float) | false | none | Invoice's total amount |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 409
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 422
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Retrieve invoice as PDF
Code samples
import requests
headers = {
'Accept': 'application/pdf',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}/pdf', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/invoices/{invoice_uuid}/pdf \
-H 'Accept: application/pdf' \
-H 'Authorization: Bearer <access_token>'
GET /invoices/{invoice_uuid}/pdf
This endpoint returns a particular invoice in PDF format
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
invoice_uuid | path | string(uuid) | true | UUID of the invoice. |
Example responses
200 Response
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Invoice PDF | string |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Disposition | string | none | |
200 | Content-Length | string | none | |
200 | Content-Type | string | none | |
200 | X-Api-Version | string | date | The date of version |
Inspections
List all Inspections
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/inspections', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/inspections \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /inspections
This endpoint returns all the Inspections registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
status | query | string | false | The inspection status filter |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Enumerated Values
Parameter | Value |
---|---|
status | pending |
status | syncing |
status | in_progress |
status | completed |
Example responses
200 Response
[
{
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"progress": 0,
"status": "pending",
"title": "Inspection XYZ",
"type": "generic",
"uuid": "774168ad-a2fd-4a0f-8743-0d8e89d8666c"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Inspections list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
location_uuid | string(uuid) | false | none | The location UUID associated to the inspection |
progress | number(integer) | false | none | The progress of the inspection process in percentage terms |
status | string | false | none | The inspection status |
title | string | false | none | The title assigned to the inspection |
type | string | false | none | The inspection type. fra stands for fire safety . |
uuid | string(uuid) | false | none | The inspection UUID |
Enumerated Values
Property | Value |
---|---|
status | pending |
status | syncing |
status | in_progress |
status | completed |
type | fra |
type | void |
type | generic |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve inspection details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/inspections/{inspection_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/inspections/{inspection_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /inspections/{inspection_uuid}
This endpoint returns the details of an inspection
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
inspection_uuid | path | string(uuid) | true | UUID of the Inspection |
Example responses
200 Response
{
"assignee": "assignee@plentific.com",
"created": "2023-03-28T15:49:30Z",
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"progress": 0,
"started_on": "2023-03-28T15:49:30Z",
"status": "pending",
"submitted_on": "2023-03-28T15:49:30Z",
"title": "Inspection XYZ",
"type": "generic",
"uuid": "774168ad-a2fd-4a0f-8743-0d8e89d8666c"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Inspection details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
assignee | string(email) | false | none | The email of the inspection assignee |
created | string(date-time) | false | none | The timestamp set on inspection creation |
location_uuid | string(uuid) | false | none | The location UUID associated to the inspection |
progress | number(integer) | false | none | The progress of the inspection process in percentage terms |
started_on | string(date-time) | false | none | The timestamp set on inspection start |
status | string | false | none | The inspection status |
submitted_on | string(date-time) | false | none | The timestamp set on inspection submission |
title | string | false | none | The title assigned to the inspection |
type | string | false | none | The inspection type. fra stands for fire safety . |
uuid | string(uuid) | false | none | The inspection UUID |
Enumerated Values
Property | Value |
---|---|
status | pending |
status | syncing |
status | in_progress |
status | completed |
type | fra |
type | void |
type | generic |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Retrieve inspection PDF report
Code samples
import requests
headers = {
'Accept': 'application/pdf',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/inspections/{inspection_uuid}/pdf', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/inspections/{inspection_uuid}/pdf \
-H 'Accept: application/pdf' \
-H 'Authorization: Bearer <access_token>'
GET /inspections/{inspection_uuid}/pdf
This endpoint returns the PDF report of an inspection
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
inspection_uuid | path | string(uuid) | true | UUID of the Inspection |
Example responses
200 Response
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Inspection PDF Report | string |
401 | Unauthorized | Authorisation error details | Inline |
404 | Not Found | Resource not found | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 404
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Reason why PDF report is not available |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
404 | X-Api-Version | string | date | The date of version |
Generate inspection PDF report
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/inspections/{inspection_uuid}/pdf', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/inspections/{inspection_uuid}/pdf \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /inspections/{inspection_uuid}/pdf
This endpoints starts a generation process of Inspection PDF report.
Use GET /inspections/{uuid}/pdf
to retrieve a PDF file when it's ready.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
inspection_uuid | path | string(uuid) | true | UUID of the Inspection |
Example responses
202 Response
{
"detail": "The PDF generation has been started"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Inspection PDF Report | Inline |
401 | Unauthorized | Authorisation error details | Inline |
404 | Not Found | Resource not found | None |
409 | Conflict | Conflict | Inline |
422 | Unprocessable Entity | PDF report already exists | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 202
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Message that informs if the PDF report generation has been started |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 409
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Reason why PDF report can't be generated |
Status Code 422
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Returned when there is already PDF report generated for an Inspection |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | X-Api-Version | string | date | The date of version |
409 | X-Api-Version | string | date | The date of version |
422 | X-Api-Version | string | date | The date of version |
Locations
List all locations
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/locations', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/locations \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /locations
This endpoint returns all locations registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
type_uuid | query | string(uuid) | false | Location type UUID |
address_zone | query | string | false | Filters by location zone |
postal_code | query | string | false | Filters by postal code |
city | query | string | false | Filters by city |
location_group_uuid | query | string(uuid) | false | Location group UUID |
tag_uuid | query | string(uuid) | false | Tag UUID |
manager_uuid | query | string(uuid) | false | Manager UUID |
owner_uuid | query | string(uuid) | false | Owner UUID |
tenant_uuid | query | string(uuid) | false | Tenant UUID |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"external_reference": "EG1234",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"parent_location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"type": {
"name": "block",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Locations list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
organisation_uuid | string(uuid) | false | none | A UUID that identifies the Organisation of the entry. |
parent_location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
type | object | false | none | none |
name | string | false | none | Location type name |
uuid | string(uuid) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a location
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/locations', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/locations \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /locations
This endpoint creates a new location
Body parameter
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"construction_date": "2022-04-29",
"custom_field_values": [
{
"api_field_name": "string",
"value": "string"
}
],
"external_reference": "EG1234",
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"name": "Custom resource name",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"parent_location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"size": 75,
"tags": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"type_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"warranty_expiration_date": "2022-04-29"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
address | body | object | true | none |
address_line_1 | body | string | false | The first address line of the resource. |
address_line_2 | body | string¦null | false | The second address line of the resource. |
address_zone | body | string | false | The address zone of the resource. |
city | body | string | false | The town or city of the resource. This field is not required for the UK region. |
country | body | string | false | The country of the resource |
postal_code | body | string | false | The postal code of the resource. |
construction_date | body | string(date) | false | none |
custom_field_values | body | [object] | false | none |
api_field_name | body | string | false | Name of the custom field |
value | body | any | false | New value for the custom field |
anonymous | body | string | false | none |
anonymous | body | integer | false | none |
anonymous | body | number(float) | false | none |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
location_groups | body | [string] | false | Location Group UUIDs. |
name | body | string | true | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
parent_location_uuid | body | string | false | The location's unique identifier (UUID) or internal reference. |
size | body | integer | false | none |
tags | body | [string] | false | Tags UUIDs. |
type_uuid | body | string(uuid) | true | A UUID that references a resource. |
warranty_expiration_date | body | string(date) | false | none |
Example responses
201 Response
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"construction_date": "2022-04-29",
"custom_field_values": [
{
"api_field_name": "string",
"value": "string"
}
],
"external_reference": "EG1234",
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"managers": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"name": "Custom resource name",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"owners": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"parent_location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"size": 75,
"tags": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"tenants": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"type": {
"name": "block",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"warranty_expiration_date": "2022-04-29"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Location details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
construction_date | string(date) | false | none | none |
custom_field_values | [object] | false | none | none |
api_field_name | string | false | none | Name of the custom field |
value | any | false | none | New value for the custom field |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | integer | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | number(float) | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
location_groups | [string] | false | none | Location Group UUIDs. |
managers | [string] | false | none | Managers UUIDs. |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | false | none | A UUID that identifies the Organisation of the entry. |
owners | [string] | false | none | Owners UUIDs. |
parent_location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
size | integer | false | none | none |
tags | [string] | false | none | Tags UUIDs. |
tenants | [string] | false | none | Tenants UUIDs. |
type | object | false | none | none |
name | string | false | none | Location type name |
uuid | string(uuid) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
warranty_expiration_date | string(date) | false | none | none |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete a location
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/locations/{location_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/locations/{location_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /locations/{location_uuid}
This endpoint deletes a location from the client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_uuid | path | string(uuid) | true | UUID of the Location |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve location details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/locations/{location_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/locations/{location_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /locations/{location_uuid}
This endpoint returns the details of a particular location
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_uuid | path | string(uuid) | true | UUID of the Location |
Example responses
200 Response
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"construction_date": "2022-04-29",
"custom_field_values": [
{
"api_field_name": "string",
"value": "string"
}
],
"external_reference": "EG1234",
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"managers": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"name": "Custom resource name",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"owners": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"parent_location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"size": 75,
"tags": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"tenants": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"type": {
"name": "block",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"warranty_expiration_date": "2022-04-29"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Location details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
construction_date | string(date) | false | none | none |
custom_field_values | [object] | false | none | none |
api_field_name | string | false | none | Name of the custom field |
value | any | false | none | New value for the custom field |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | integer | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | number(float) | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
location_groups | [string] | false | none | Location Group UUIDs. |
managers | [string] | false | none | Managers UUIDs. |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | false | none | A UUID that identifies the Organisation of the entry. |
owners | [string] | false | none | Owners UUIDs. |
parent_location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
size | integer | false | none | none |
tags | [string] | false | none | Tags UUIDs. |
tenants | [string] | false | none | Tenants UUIDs. |
type | object | false | none | none |
name | string | false | none | Location type name |
uuid | string(uuid) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
warranty_expiration_date | string(date) | false | none | none |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a location
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/locations/{location_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/locations/{location_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /locations/{location_uuid}
This endpoint updates an existing location
Body parameter
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"construction_date": "2022-04-29",
"custom_field_values": [
{
"api_field_name": "string",
"value": "string"
}
],
"external_reference": "EG1234",
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"name": "Custom resource name",
"parent_location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"size": 75,
"tags": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"warranty_expiration_date": "2022-04-29"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_uuid | path | string(uuid) | true | UUID of the Location |
body | body | object | true | none |
address | body | object | false | none |
address_line_1 | body | string | false | The first address line of the resource. |
address_line_2 | body | string¦null | false | The second address line of the resource. |
address_zone | body | string | false | The address zone of the resource. |
city | body | string | false | The town or city of the resource. This field is not required for the UK region. |
country | body | string | false | The country of the resource |
postal_code | body | string | false | The postal code of the resource. |
construction_date | body | string(date) | false | none |
custom_field_values | body | [object] | false | none |
api_field_name | body | string | false | Name of the custom field |
value | body | any | false | New value for the custom field |
anonymous | body | string | false | none |
anonymous | body | integer | false | none |
anonymous | body | number(float) | false | none |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
location_groups | body | [string] | false | Location Group UUIDs. |
name | body | string | false | The name of the resource. |
parent_location_uuid | body | string | false | The location's unique identifier (UUID) or internal reference. |
size | body | integer | false | none |
tags | body | [string] | false | Tags UUIDs. |
warranty_expiration_date | body | string(date) | false | none |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Location Groups
List all location groups
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/location-groups', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/location-groups \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /location-groups
This endpoint returns all location groups
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"name": "Custom resource name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Location groups list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | The name of the resource. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a location group
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/location-groups', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/location-groups \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /location-groups
This endpoint creates a new location group
Body parameter
{
"name": "Custom resource name"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
name | body | string | true | The name of the resource. |
Example responses
201 Response
{
"name": "Custom resource name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Location group details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | The name of the resource. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete a location group
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/location-groups/{location_group_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/location-groups/{location_group_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /location-groups/{location_group_uuid}
This endpoint deletes a location group's data from the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_group_uuid | path | string(uuid) | true | UUID of the Location Group |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Location Managers
Location Manager objects can be associated to one or more assets in Plentific.
List all location managers
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/managers', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/managers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /managers
This endpoint returns all location managers registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Location managers list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a location manager
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/managers', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/managers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /managers
This endpoint creates a new location manager
Body parameter
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"locations": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"phone_number": "+441234567890"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
body | string(email) | true | none | |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
first_name | body | string | true | none |
last_name | body | string | true | none |
locations | body | [string] | false | none |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | true | none |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
201 | X-Resource-Id | string | uuid | The UUID of the newly created element |
Delete a location manager
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/managers/{manager_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/managers/{manager_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /managers/{manager_uuid}
This endpoint deletes a location manager from the client's account for all locations that they are associated with
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
manager_uuid | path | string(uuid) | true | UUID of the Location Manager |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve location manager details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/managers/{manager_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/managers/{manager_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /managers/{manager_uuid}
This endpoint returns the details of a particular location manager
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
manager_uuid | path | string(uuid) | true | UUID of the Location Manager |
Example responses
200 Response
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"locations": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"phone_number": "+441234567890",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Location managers details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
The Location Manager
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
last_name | string | false | none | none |
locations | [string] | false | none | none |
phone_number | string(telephone) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a location manager
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/managers/{manager_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/managers/{manager_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /managers/{manager_uuid}
This endpoint updates an existing location manager
Body parameter
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"locations": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"phone_number": "+441234567890"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
manager_uuid | path | string(uuid) | true | UUID of the Location Manager |
body | body | object | true | none |
body | string(email) | false | none | |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
first_name | body | string | false | none |
last_name | body | string | false | none |
locations | body | [string] | false | none |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Location Types
List all location types
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/location-types', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/location-types \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /location-types
This endpoint returns all locations types registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"code": "string",
"icon_type": "estate",
"name": "block",
"uuid": "1a1f74f4-3a2a-47e8-8cb2-d49e55cb478f"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Location types list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
icon_type | string | false | none | Icon that will be displayed in the dashboard |
name | string | false | none | Location type name |
uuid | string | false | none | The location type unique identifier (UUID) or internal reference. |
Enumerated Values
Property | Value |
---|---|
icon_type | area |
icon_type | balcony |
icon_type | bedroom |
icon_type | block |
icon_type | bungalow |
icon_type | estate |
icon_type | factory |
icon_type | garage |
icon_type | kitchen |
icon_type | livingroom |
icon_type | mixedproperty |
icon_type | office |
icon_type | property |
icon_type | store |
icon_type | terraced |
icon_type | unit |
icon_type | yard |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a location type
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/location-types', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/location-types \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /location-types
This endpoint creates a new location type
Body parameter
{
"code": "string",
"icon_type": "estate",
"name": "block"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
code | body | string | false | none |
icon_type | body | string | false | Icon that will be displayed in the dashboard |
name | body | string | true | Location type name |
Enumerated Values
Parameter | Value |
---|---|
icon_type | area |
icon_type | balcony |
icon_type | bedroom |
icon_type | block |
icon_type | bungalow |
icon_type | estate |
icon_type | factory |
icon_type | garage |
icon_type | kitchen |
icon_type | livingroom |
icon_type | mixedproperty |
icon_type | office |
icon_type | property |
icon_type | store |
icon_type | terraced |
icon_type | unit |
icon_type | yard |
Example responses
201 Response
{
"code": "string",
"icon_type": "estate",
"name": "block",
"uuid": "1a1f74f4-3a2a-47e8-8cb2-d49e55cb478f"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Location types details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
icon_type | string | false | none | Icon that will be displayed in the dashboard |
name | string | false | none | Location type name |
uuid | string | false | none | The location type unique identifier (UUID) or internal reference. |
Enumerated Values
Property | Value |
---|---|
icon_type | area |
icon_type | balcony |
icon_type | bedroom |
icon_type | block |
icon_type | bungalow |
icon_type | estate |
icon_type | factory |
icon_type | garage |
icon_type | kitchen |
icon_type | livingroom |
icon_type | mixedproperty |
icon_type | office |
icon_type | property |
icon_type | store |
icon_type | terraced |
icon_type | unit |
icon_type | yard |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete a location type
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/location-types/{location_type_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/location-types/{location_type_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /location-types/{location_type_uuid}
This endpoint deletes a location type from the client's account for all locations that they are associated with
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_type_uuid | path | string(uuid) | true | UUID of the Location Type |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve location type details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/location-types/{location_type_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/location-types/{location_type_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /location-types/{location_type_uuid}
This endpoint returns the details of a particular location type
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_type_uuid | path | string(uuid) | true | UUID of the Location Type |
Example responses
200 Response
{
"code": "string",
"icon_type": "estate",
"name": "block",
"uuid": "1a1f74f4-3a2a-47e8-8cb2-d49e55cb478f"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Location types details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
icon_type | string | false | none | Icon that will be displayed in the dashboard |
name | string | false | none | Location type name |
uuid | string | false | none | The location type unique identifier (UUID) or internal reference. |
Enumerated Values
Property | Value |
---|---|
icon_type | area |
icon_type | balcony |
icon_type | bedroom |
icon_type | block |
icon_type | bungalow |
icon_type | estate |
icon_type | factory |
icon_type | garage |
icon_type | kitchen |
icon_type | livingroom |
icon_type | mixedproperty |
icon_type | office |
icon_type | property |
icon_type | store |
icon_type | terraced |
icon_type | unit |
icon_type | yard |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a location type
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/location-types/{location_type_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/location-types/{location_type_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /location-types/{location_type_uuid}
This endpoint updates an existing location type
Body parameter
{
"code": "string",
"icon_type": "estate",
"name": "block"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
location_type_uuid | path | string(uuid) | true | UUID of the Location Type |
body | body | object | true | none |
code | body | string | false | none |
icon_type | body | string | false | Icon that will be displayed in the dashboard |
name | body | string | false | Location type name |
Enumerated Values
Parameter | Value |
---|---|
icon_type | area |
icon_type | balcony |
icon_type | bedroom |
icon_type | block |
icon_type | bungalow |
icon_type | estate |
icon_type | factory |
icon_type | garage |
icon_type | kitchen |
icon_type | livingroom |
icon_type | mixedproperty |
icon_type | office |
icon_type | property |
icon_type | store |
icon_type | terraced |
icon_type | unit |
icon_type | yard |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Organisation Groups
Identify Organisation Groups
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/identify', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/identify \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /identify
This endpoint returns the details of an identified organisation group
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
Example responses
200 Response
{
"created": "2020-11-12 09:52:20.051000+00:00",
"name": "Custom resource name",
"slug": "custom-resource-name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organisation Group details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of a resource |
name | string | false | none | The name of the resource. |
slug | string | false | none | The slug of an organisation group. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Organisations
List all organisations
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/organisations', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/organisations \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /organisations
This endpoint returns all organisations registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
sort_by | query | string | false | Requested offset of the results. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Enumerated Values
Parameter | Value |
---|---|
sort_by | created |
sort_by | -created |
sort_by | name |
sort_by | -name |
Example responses
200 Response
[
{
"name": "Custom resource name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organisations list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | The name of the resource. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve organisation details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/organisations/{organisation_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/organisations/{organisation_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /organisations/{organisation_uuid}
This endpoint returns the details of a particular organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | path | string(uuid) | true | UUID of the organisation. |
Example responses
200 Response
{
"background_check_always_required": false,
"beneficiary_address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"call_centre_number": "+440800623777256",
"contractor_tax_withholding_enabled": false,
"disclaimer": "string",
"finance_only_payment": false,
"invoice_approval_threshold": 900,
"invoice_due_period": 14,
"legal_addresss": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"name": "Custom resource name",
"quote_approval_threshold": 900,
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Organisation detail | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
background_check_always_required | boolean | false | none | Will be true if a contractor background check is required for every work order raised in this Organisation |
beneficiary_address | object¦null | false | none | The secondary address of the Organisation. This can be left blank if it is not applicable to your organisation. As a client operating in Germany, this will be listed on your invoices as the ‘Leistungsempfänger’. |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
call_centre_number | string¦null | false | none | The phone number of your contact centre or central phone number |
contractor_tax_withholding_enabled | boolean | false | none | Will be true if tax withholding is required for every work order raised in this Organisation |
disclaimer | string | false | none | The disclaimer for this Organisation that is appended to every work order |
finance_only_payment | boolean | false | none | Will be true if the payment of invoices for this Organisation can only be made by users with Finance permissions |
invoice_approval_threshold | number¦null | false | none | The financial threshold set for invoices to require approval by managers before being paid |
invoice_due_period | number | false | none | The payment term in number of days for invoices |
legal_addresss | object | false | none | The primary address of the Organisation. This will be rendered on your invoice as the main address. |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
name | string | false | none | The name of the resource. |
quote_approval_threshold | number¦null | false | none | The financial threshold set for quotes to require approval by managers before being accepted |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Owners
Owner objects can be associated to one or more locations in Plentific.
List all owners
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/owners', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/owners \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /owners
This endpoint returns all owners linked to at least one location
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Owners list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create an owner
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/owners', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/owners \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /owners
This endpoint creates an new owner
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"locations": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"phone_number": "+441234567890",
"postal_code": "SW1P 4RG"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
address_line_1 | body | string | false | The first address line of the resource. |
address_line_2 | body | string¦null | false | The second address line of the resource. |
address_zone | body | string | false | The address zone of the resource. |
city | body | string | false | The town or city of the resource. This field is not required for the UK region. |
country | body | string | false | The country of the resource |
body | string(email) | false | none | |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
first_name | body | string | true | none |
last_name | body | string | false | none |
locations | body | [string] | false | none |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
postal_code | body | string | false | The postal code of the resource. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
201 | X-Resource-Id | string | uuid | The UUID of the newly created element |
Delete an owner
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/owners/{owner_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/owners/{owner_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /owners/{owner_uuid}
This endpoint deletes an owner's data from the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
owner_uuid | path | string(uuid) | true | UUID of an Owner |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve owner details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/owners/{owner_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/owners/{owner_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /owners/{owner_uuid}
This endpoint returns the details of a particular owner
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
owner_uuid | path | string(uuid) | true | UUID of an Owner |
Example responses
200 Response
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Owner details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
The Owner
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address | object | false | none | none |
address_line_1 | string | false | none | The first address line of the resource. |
address_line_2 | string¦null | false | none | The second address line of the resource. |
address_zone | string | false | none | The address zone of the resource. |
city | string | false | none | The town or city of the resource. This field is not required for the UK region. |
country | string | false | none | The country of the resource |
postal_code | string | false | none | The postal code of the resource. |
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update an owner
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/owners/{owner_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/owners/{owner_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /owners/{owner_uuid}
This endpoint updates an existing owner
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"first_name": "John",
"last_name": "Doe",
"locations": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"phone_number": "+441234567890",
"postal_code": "SW1P 4RG"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
owner_uuid | path | string(uuid) | true | UUID of an Owner |
body | body | object | true | none |
address_line_1 | body | string | false | The first address line of the resource. |
address_line_2 | body | string¦null | false | The second address line of the resource. |
address_zone | body | string | false | The address zone of the resource. |
city | body | string | false | The town or city of the resource. This field is not required for the UK region. |
country | body | string | false | The country of the resource |
first_name | body | string | false | none |
last_name | body | string | false | none |
locations | body | [string] | false | none |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
postal_code | body | string | false | The postal code of the resource. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Repair Reports
List all repair reports
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/repair-reports', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/repair-reports \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /repair-reports
This endpoint returns all the repair reports in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
status | query | string | false | The status of a repair report. |
Enumerated Values
Parameter | Value |
---|---|
status | pending |
status | in_progress |
status | sign_off_required |
status | completed |
Example responses
200 Response
{
"location_uuid": "603929d5-6b28-4c75-ace0-f39d47a3a653",
"name": "Repair Report",
"status": "pending",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Repair reports list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
name | string | false | none | none |
status | string | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
status | pending |
status | in_progress |
status | sign_off_required |
status | completed |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
List all repair report faults
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/repair-reports/{repair_report_uuid}/faults', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/repair-reports/{repair_report_uuid}/faults \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /repair-reports/{repair_report_uuid}/faults
This endpoint returns all the repair reports in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
{
"attachments": [
"e2d7c1f1-b561-4937-82c9-195e109d4581",
"160d959e-e9d8-4113-a692-3f136874383b"
],
"category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"fault_category_uuid": "6ad92318-4a3a-4de4-97d3-b80da0e403ee",
"service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"work_order_uuid": "4b5f859f-5f31-4d7e-9f65-3ccff17aec75"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Repair report faults list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
attachments | [string] | false | none | List of pdf file UUIDs that are attached to an Invoice. |
category_uuid | string(uuid) | false | none | Clients must map the Plentific category_uuid on their systems before sending over data. The category_uuid must contain the service_uuid used in the fault object(s). The Categories and Services endpoints will help with this mapping. |
description | string¦null | false | none | This is the detailed explanation of the work order. We expect a concatenated text from your systems. |
fault_category_uuid | string(uuid)¦null | false | none | A UUID that references a fault category. |
service_uuid | string(uuid) | false | none | This is Plentific service_uuid. Clients must map the Plentific service_uuid on their systems before sending over data. If this field is missing, we will raise an exception and will not not proceed. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
work_order_uuid | string(uuid)¦null | false | none | A UUID that references a work order. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Reports
List all reports
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/reports', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/reports \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /reports
This endpoint returns all reports that can be run from the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"slug": "string",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"versions": [
{
"created": "2023-03-28T15:49:30Z",
"uuid": "842e7286-71bb-4fd1-a9e1-a7bd4a98664d"
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Report list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
slug | string | false | none | The slug value of Report Type |
uuid | string(uuid) | false | none | A UUID that references a resource. |
versions | [object] | false | none | none |
created | string(date-time) | false | none | The creation date-time of version |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve report details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/reports/{report_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/reports/{report_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /reports/{report_uuid}
This endpoint returns the details of a particular report
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
report_uuid | path | string(uuid) | true | UUID of the report. |
Example responses
200 Response
{
"description": "string",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"versions": [
{
"created": "2023-03-28T15:49:30Z",
"uuid": "842e7286-71bb-4fd1-a9e1-a7bd4a98664d"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Report detail | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | The slug value of Report Type |
uuid | string(uuid) | false | none | A UUID that references a resource. |
versions | [object] | false | none | none |
created | string(date-time) | false | none | The creation date-time of version |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
List all report runs
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/reports/{report_uuid}/runs', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/reports/{report_uuid}/runs \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /reports/{report_uuid}/runs
This endpoint returns all report runs in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
sort_by | query | string | false | The order field of the query result. |
report_uuid | path | string(uuid) | true | UUID of the report. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Enumerated Values
Parameter | Value |
---|---|
sort_by | created |
sort_by | -created |
Example responses
200 Response
[
{
"created": "2023-03-28T15:49:30Z",
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"uuid": "842e7286-71bb-4fd1-a9e1-a7bd4a98664d"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Report Run list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of report run |
organisations | [string] | false | none | Organisation UUIDs of report run. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a new report run
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/reports/{report_uuid}/runs', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/reports/{report_uuid}/runs \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /reports/{report_uuid}/runs
This endpoint creates a new run of a particular report
Body parameter
{
"parameters": {
"enquiry_status_list": [
"quote_accepted"
],
"from_datetime": "2023-03-28T15:49:30Z",
"invoice_status_list": [
"paid"
],
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"to_datetime": "2023-03-28T15:49:30Z"
},
"version": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
report_uuid | path | string(uuid) | true | UUID of the report. |
body | body | object | true | none |
parameters | body | object | false | none |
enquiry_status_list | body | [string] | false | The enquiry statuses of report run. This field is required for report type accrual and an error will be raised if user provides it for other type of report runs. |
from_datetime | body | string(date-time) | false | The start date-time of report run. This field is required for every report type except accrual. |
invoice_status_list | body | [string] | false | The invoice statuses of agent invoices, an error will be raised if user provides it for other type of report runs. |
location_groups | body | [string] | false | Location Group UUIDs. |
organisations | body | [string] | false | Organisation UUIDs of report run. |
to_datetime | body | string(date-time) | false | The end date-time of report run. This field is required for every report type except accrual. |
version | body | string(uuid) | false | A UUID that references version of the report. |
Enumerated Values
Parameter | Value |
---|---|
enquiry_status_list | quote_accepted |
enquiry_status_list | booked |
enquiry_status_list | done |
enquiry_status_list | deposit_paid |
enquiry_status_list | invoice_outstanding |
enquiry_status_list | invoice_overdue |
invoice_status_list | paid |
invoice_status_list | overdue |
invoice_status_list | outstanding |
Example responses
202 Response
{
"created": "2023-03-28T15:49:30Z",
"parameters": {
"enquiry_status_list": [
"quote_accepted"
],
"from_datetime": "2023-03-28T15:49:30Z",
"invoice_status_list": [
"paid"
],
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"to_datetime": "2023-03-28T15:49:30Z"
},
"report_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"status": "complete",
"url": "https://d3p0y7b1b87cj.cloudfront.net/plentific-file-uploads-private/uploads/20201127/1606489646-f09a1d2480/londonquadrant-accrual-20201127-150724.csv",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"version": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Report run details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 202
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of report_run |
parameters | object | false | none | none |
enquiry_status_list | [string] | false | none | The enquiry statuses of report run. This field is required for report type accrual and an error will be raised if user provides it for other type of report runs. |
from_datetime | string(date-time) | false | none | The start date-time of report run. This field is required for every report type except accrual. |
invoice_status_list | [string] | false | none | The invoice statuses of agent invoices, an error will be raised if user provides it for other type of report runs. |
location_groups | [string] | false | none | Location Group UUIDs. |
organisations | [string] | false | none | Organisation UUIDs of report run. |
to_datetime | string(date-time) | false | none | The end date-time of report run. This field is required for every report type except accrual. |
report_uuid | string(uuid) | false | none | A UUID that identifies the Report of the entry. |
status | string | false | none | The status of the ReportRun. |
url | string(url) | false | none | The url of completed Report Run. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
version | string(uuid) | false | none | A UUID that references version of the report. |
Enumerated Values
Property | Value |
---|---|
status | pending |
status | scheduled |
status | generated |
status | complete |
status | error |
status | none |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | X-Api-Version | string | date | The date of version |
Retrieve report run details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/reports/{report_uuid}/runs/{report_run_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/reports/{report_uuid}/runs/{report_run_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /reports/{report_uuid}/runs/{report_run_uuid}
This endpoint returns the details of a particular report run
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
report_uuid | path | string(uuid) | true | UUID of the report. |
report_run_uuid | path | string(uuid) | true | UUID of the report run. |
Example responses
200 Response
{
"created": "2023-03-28T15:49:30Z",
"parameters": {
"enquiry_status_list": [
"quote_accepted"
],
"from_datetime": "2023-03-28T15:49:30Z",
"invoice_status_list": [
"paid"
],
"location_groups": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"to_datetime": "2023-03-28T15:49:30Z"
},
"report_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"status": "complete",
"url": "https://d3p0y7b1b87cj.cloudfront.net/plentific-file-uploads-private/uploads/20201127/1606489646-f09a1d2480/londonquadrant-accrual-20201127-150724.csv",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"version": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Report run details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of report_run |
parameters | object | false | none | none |
enquiry_status_list | [string] | false | none | The enquiry statuses of report run. This field is required for report type accrual and an error will be raised if user provides it for other type of report runs. |
from_datetime | string(date-time) | false | none | The start date-time of report run. This field is required for every report type except accrual. |
invoice_status_list | [string] | false | none | The invoice statuses of agent invoices, an error will be raised if user provides it for other type of report runs. |
location_groups | [string] | false | none | Location Group UUIDs. |
organisations | [string] | false | none | Organisation UUIDs of report run. |
to_datetime | string(date-time) | false | none | The end date-time of report run. This field is required for every report type except accrual. |
report_uuid | string(uuid) | false | none | A UUID that identifies the Report of the entry. |
status | string | false | none | The status of the ReportRun. |
url | string(url) | false | none | The url of completed Report Run. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
version | string(uuid) | false | none | A UUID that references version of the report. |
Enumerated Values
Property | Value |
---|---|
status | pending |
status | scheduled |
status | generated |
status | complete |
status | error |
status | none |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Roles
List all roles
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/roles', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/roles \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /roles
This endpoint returns all roles registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"name": "string",
"uuid": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Roles | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
uuid | string(uuid) | false | none | none |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Services
Services provided by professionals e.g. Gas Safety inspection.
List all services
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/services', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/services \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /services
This endpoint can be used to retrieve and search for services
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
name | query | string | false | Search keyword for filtering the objects. |
slug | query | string | false | Search keyword for filtering the objects based on slug. |
uuid | query | string(uuid) | false | Search keyword for filtering the objects based on uuid. |
uuid__in | query | string(uuid) | false | Search keyword for filtering the objects based on multiple uuids. |
category_uuid | query | string(uuid) | false | Filter by Category UUID |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"category_uuid_list": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"deactivated": false,
"name": "Home Security Specialist",
"slug": "home-security-specialist",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Services list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category_uuid_list | [string] | false | none | none |
deactivated | boolean | false | none | Indicates whether a Service is deactivated or not. |
name | string | false | none | Service name. |
slug | string | false | none | Service's slug. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Tags
List all tags
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/tags', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/tags \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /tags
This endpoint returns all tags registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
type | query | string | false | The type of an entity. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Enumerated Values
Parameter | Value |
---|---|
type | enquiry |
type | location |
type | job |
type | task |
type | project |
type | void |
Example responses
200 Response
[
{
"color": "#328c47",
"name": "Custom resource name",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"type": "location",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tags list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
color | string¦null | true | none | The color of the tag expresed as an RGB hex code. |
name | string | true | none | The name of the resource. |
organisations | [string] | true | none | A list of Organisations uuids using this Account Code. |
type | string | true | none | none |
uuid | string(uuid) | true | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
type | location |
type | enquiry |
type | job |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a tag
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/tags', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/tags \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /tags
This endpoint creates a new tag
Body parameter
{
"color": "#328c47",
"is_enabled": true,
"name": "Custom resource name",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"type": "location"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
color | body | string¦null | true | The color of the tag expresed as an RGB hex code. |
is_enabled | body | boolean | true | Indicates whether a tag is enabled or not. |
name | body | string | true | The name of the resource. |
organisations | body | [string] | true | A list of Organisations uuids using this Account Code. |
type | body | string | true | none |
Enumerated Values
Parameter | Value |
---|---|
type | location |
type | enquiry |
type | job |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
201 | X-Resource-Id | string | uuid | The UUID of the newly created element |
Delete a tag
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/tags/{tag_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/tags/{tag_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /tags/{tag_uuid}
This endpoint deletes a tag so that it can no longer be added to any properties or work orders
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
tag_uuid | path | string(uuid) | true | UUID of the tag. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve tag details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/tags/{tag_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/tags/{tag_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /tags/{tag_uuid}
This endpoint returns the details of a particular tag
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
tag_uuid | path | string(uuid) | true | UUID of the tag. |
Example responses
200 Response
{
"color": "#328c47",
"name": "Custom resource name",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"type": "location",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tag details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
color | string¦null | true | none | The color of the tag expresed as an RGB hex code. |
name | string | true | none | The name of the resource. |
organisations | [string] | true | none | A list of Organisations uuids using this Account Code. |
type | string | true | none | none |
uuid | string(uuid) | true | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
type | location |
type | enquiry |
type | job |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a tag
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/tags/{tag_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/tags/{tag_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /tags/{tag_uuid}
This endpoint updates an existing tag
Body parameter
{
"color": "#328c47",
"name": "Custom resource name",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"type": "location"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
tag_uuid | path | string(uuid) | true | UUID of the tag. |
body | body | object | true | none |
color | body | string¦null | false | The color of the tag expresed as an RGB hex code. |
name | body | string | false | The name of the resource. |
organisations | body | [string] | false | A list of Organisations uuids using this Account Code. |
type | body | string | false | none |
Enumerated Values
Parameter | Value |
---|---|
type | location |
type | enquiry |
type | job |
Example responses
200 Response
{
"color": "#328c47",
"name": "Custom resource name",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"type": "location",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tag details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
color | string¦null | true | none | The color of the tag expresed as an RGB hex code. |
name | string | true | none | The name of the resource. |
organisations | [string] | true | none | A list of Organisations uuids using this Account Code. |
type | string | true | none | none |
uuid | string(uuid) | true | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
type | location |
type | enquiry |
type | job |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Tenants
Tenant objects can be associated to one or more assets in Plentific.
List all tenants
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/tenants', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/tenants \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /tenants
This endpoint returns all tenants registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
external_reference | query | string | false | The external reference of an entity. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"tenant_identifier": "TNT2011",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tenants list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
tenant_identifier | string | false | none | The reference number that identifies a tenant. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a tenant
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/tenants', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/tenants \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /tenants
This endpoint creates a new tenant
Body parameter
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"phone_number": "+441234567890",
"tenant_identifier": "TNT2011"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
body | string(email) | false | none | |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
first_name | body | string | false | none |
last_name | body | string | false | none |
location_uuid | body | string | true | The location's unique identifier (UUID) or internal reference. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
tenant_identifier | body | string | false | The reference number that identifies a tenant. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
201 | X-Resource-Id | string | uuid | The UUID of the newly created element |
Delete a tenant
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/tenants/{tenant_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/tenants/{tenant_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /tenants/{tenant_uuid}
This endpoint deletes a tenant's data from the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
tenant_uuid | path | string(uuid) | true | UUID of the tenant. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve tenant details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/tenants/{tenant_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/tenants/{tenant_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /tenants/{tenant_uuid}
This endpoint returns the details of a particular tenant
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
tenant_uuid | path | string(uuid) | true | UUID of the tenant. |
Example responses
200 Response
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"phone_number": "+441234567890",
"tenant_identifier": "TNT2011",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tenant details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
The Tenant
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
last_name | string | false | none | none |
location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
phone_number | string(telephone) | false | none | none |
tenant_identifier | string | false | none | The reference number that identifies a tenant. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a tenant
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/tenants/{tenant_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/tenants/{tenant_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /tenants/{tenant_uuid}
This endpoint updates an existing tenant
Body parameter
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"phone_number": "+441234567890"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
tenant_uuid | path | string(uuid) | true | UUID of the tenant. |
body | body | object | true | none |
body | string(email) | false | none | |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
first_name | body | string | false | none |
last_name | body | string | false | none |
location_uuid | body | string | false | The location's unique identifier (UUID) or internal reference. |
organisation_uuid | body | string(uuid) | false | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Users
List all users
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/users', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/users \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /users
This endpoint returns all users registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
role_uuid | query | string(uuid) | false | Filter by role UUID |
deactivated | query | string | false | Filter by deactivated users |
organisation_uuid | query | string(uuid) | false | Filter by organisation |
first_name | query | string | false | Filter by first name |
last_name | query | string | false | Filter by last name |
verified | query | string | false | Filter by verified flag |
query | string(email) | false | Filter by email |
Enumerated Values
Parameter | Value |
---|---|
deactivated | true |
deactivated | false |
verified | true |
verified | false |
Example responses
200 Response
[
{
"deactivation_date": "2023-03-28T15:49:30Z",
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"role_uuid": "string",
"uuid": "string",
"verified": true
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Users list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
deactivation_date | string(date-time) | false | none | none |
string(email) | false | none | none | |
first_name | string | false | none | none |
last_name | string | false | none | none |
organisations | [string] | false | none | none |
role_uuid | string(uuid) | false | none | none |
uuid | string(uuid) | false | none | none |
verified | boolean | false | none | Indicates whether user is verified or not |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a User
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/users', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/users \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /users
This endpoint creates a new User.
Body parameter
{
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"phone_number": "+441234567890"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | This is the body that can be used to create a User. |
body | string(email) | true | none | |
first_name | body | string | true | none |
last_name | body | string | true | none |
organisations | body | [string] | true | List of Organisation UUIDs. |
phone_number | body | string(telephone) | false | none |
Example responses
201 Response
{
"deactivation_date": "2023-03-28T15:49:30Z",
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"phone_number": "+441234567890",
"role_uuid": "string",
"uuid": "string",
"verified": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | User details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
deactivation_date | string(date-time) | false | none | none |
string(email) | false | none | none | |
first_name | string | false | none | none |
last_name | string | false | none | none |
organisations | [string] | false | none | none |
phone_number | string(telephone) | false | none | none |
role_uuid | string(uuid) | false | none | none |
uuid | string(uuid) | false | none | none |
verified | boolean | false | none | Indicates whether user is verified or not |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Retrieve user details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/users/{user_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/users/{user_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /users/{user_uuid}
This endpoint returns the details of a particular user
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
user_uuid | path | string(uuid) | true | UUID of the user. |
Example responses
200 Response
{
"deactivation_date": "2023-03-28T15:49:30Z",
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"91df3492-3767-46bb-00c5-285f8eb85c97"
],
"phone_number": "+441234567890",
"role_uuid": "string",
"uuid": "string",
"verified": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
deactivation_date | string(date-time) | false | none | none |
string(email) | false | none | none | |
first_name | string | false | none | none |
last_name | string | false | none | none |
organisations | [string] | false | none | none |
phone_number | string(telephone) | false | none | none |
role_uuid | string(uuid) | false | none | none |
uuid | string(uuid) | false | none | none |
verified | boolean | false | none | Indicates whether user is verified or not |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update User
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/users/{user_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/users/{user_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /users/{user_uuid}
This endpoint updates an existing User
Body parameter
{
"deactivated": true,
"organisations": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
user_uuid | path | string(uuid) | true | UUID of the user. |
body | body | object | false | This is the body that can be used to update a User. |
deactivated | body | boolean | false | Only accepts True value for deactivating a User. |
organisations | body | [string] | false | List of Organisation UUIDs. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Webhooks
List all Webhook Events
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/webhooks/events', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/webhooks/events \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /webhooks/events
This endpoint returns all the available webhook events
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
Example responses
200 Response
[
{
"event": "work_order.completed",
"matching_subscriptions": [
"58df3292-2767-44bb-80c6-285e8eb85c97"
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Webhook Events List | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event | string | false | none | The name of the event |
matching_subscriptions | [string] | false | none | A List of Subscriptions associated to the event |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
List all webhook subscriptions
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/webhooks/subscriptions', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/webhooks/subscriptions \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /webhooks/subscriptions
This endpoint returns all webhook subscriptions registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"alerts_enabled": true,
"endpoint_url": "http://example.com",
"endpoint_version": "v3",
"is_enabled": true,
"matching_events": [
"*"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Webhook Subscriptions | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
alerts_enabled | boolean | false | none | none |
endpoint_url | string(uri) | false | none | none |
endpoint_version | string | false | none | The version of payload schema that will be sent to webhook endpoint_url. |
is_enabled | boolean | false | none | none |
matching_events | [string] | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
endpoint_version | v1 |
endpoint_version | v2 |
endpoint_version | v3 |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a webhook subscription
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/webhooks/subscriptions', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/webhooks/subscriptions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /webhooks/subscriptions
This endpoint creates a new webhook subscription
Body parameter
{
"alerts_enabled": true,
"endpoint_secret": "string",
"endpoint_url": "http://example.com",
"endpoint_version": "v3",
"is_enabled": true,
"matching_events": [
"*"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
alerts_enabled | body | boolean | false | none |
endpoint_secret | body | string | true | none |
endpoint_url | body | string(uri) | true | none |
endpoint_version | body | string | false | The version of payload schema that will be sent to webhook endpoint_url. |
is_enabled | body | boolean | false | none |
matching_events | body | [string] | true | none |
Enumerated Values
Parameter | Value |
---|---|
endpoint_version | v1 |
endpoint_version | v2 |
endpoint_version | v3 |
matching_events | * |
matching_events | booking.* |
matching_events | booking.created |
matching_events | booking.updated |
matching_events | completion_report.* |
matching_events | completion_report.signed_off |
matching_events | completion_report.submitted |
matching_events | completion_report.rejected |
matching_events | inspection.* |
matching_events | inspection.completed |
matching_events | inspection.created |
matching_events | invoice.* |
matching_events | invoice.approved |
matching_events | invoice.cancelled |
matching_events | invoice.overdue |
matching_events | invoice.paid |
matching_events | invoice.received |
matching_events | message.* |
matching_events | message.received |
matching_events | outstanding_issue.* |
matching_events | outstanding_issue.closed |
matching_events | outstanding_issue.created |
matching_events | repair_report.* |
matching_events | repair_report.created |
matching_events | quote.* |
matching_events | quote.accepted |
matching_events | quote.received |
matching_events | quote.variation_accepted |
matching_events | quote.variation_declined |
matching_events | quote.variation_requested |
matching_events | work_order.* |
matching_events | work_order.cancelled |
matching_events | work_order.completed |
matching_events | work_order.created |
matching_events | work_order.job_accepted |
matching_events | work_order.published |
Example responses
201 Response
{
"alerts_enabled": true,
"endpoint_url": "http://example.com",
"endpoint_version": "v3",
"is_enabled": true,
"matching_events": [
"*"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Webhook Subscription | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
alerts_enabled | boolean | false | none | none |
endpoint_url | string(uri) | false | none | none |
endpoint_version | string | false | none | The version of payload schema that will be sent to webhook endpoint_url. |
is_enabled | boolean | false | none | none |
matching_events | [string] | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
endpoint_version | v1 |
endpoint_version | v2 |
endpoint_version | v3 |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete a webhook subscription
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/webhooks/subscriptions/{subscription_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/webhooks/subscriptions/{subscription_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /webhooks/subscriptions/{subscription_uuid}
This endpoint deletes a webhook subscription
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
subscription_uuid | path | string(uuid) | true | A UUID that references a subscription |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve webhook subscription details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/webhooks/subscriptions/{subscription_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/webhooks/subscriptions/{subscription_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /webhooks/subscriptions/{subscription_uuid}
This endpoint returns the details of a particular webhook subscription
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
subscription_uuid | path | string(uuid) | true | A UUID that references a subscription |
Example responses
200 Response
{
"alerts_enabled": true,
"endpoint_url": "http://example.com",
"endpoint_version": "v3",
"is_enabled": true,
"matching_events": [
"*"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Webhook Subscription | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
alerts_enabled | boolean | false | none | none |
endpoint_url | string(uri) | false | none | none |
endpoint_version | string | false | none | The version of payload schema that will be sent to webhook endpoint_url. |
is_enabled | boolean | false | none | none |
matching_events | [string] | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
endpoint_version | v1 |
endpoint_version | v2 |
endpoint_version | v3 |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Work Orders
Work Orders can be raised in Plentific, using the 'service_uuid' to post the works out for quotes from tradesmen with the correct skillset. The Get Service Details endpoint will return the list of Plentific 'service_uuids'.
List all work orders
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders
This endpoint returns all work orders registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
status | query | string | false | The status of work order. |
created_from | query | string(date) | false | The date parameter that denotes start creation date of the work order. |
created_to | query | string(date) | false | The date parameter that denotes end creation date of the work order. |
external_reference | query | string | false | The external reference of an entity. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Enumerated Values
Parameter | Value |
---|---|
status | new |
status | approval_pending |
status | approved |
status | declined |
status | job_leads_sent |
status | customer_engaged |
status | pro_engaged |
status | customer_pro_engaged |
status | pro_claimed_job |
status | quoted |
status | quote_accepted |
status | hired |
status | booked |
status | customer_cancelled |
status | deposit_paid |
status | invoice_outstanding |
status | invoice_paid |
status | invoice_overdue |
status | invalid |
status | lost |
status | expired |
status | refunded |
status | paid_off_platform |
status | done |
status | signed_off |
Example responses
200 Response
[
{
"created": "2023-03-28T15:49:30Z",
"due_date": "2020-09-26 07:00:00+00:00",
"external_reference": "EG1234",
"is_emergency": true,
"location_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"status": "new",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"work_order_type": "MARKETPLACE"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tenant details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | none |
due_date | string(date-time)¦null | false | none | The due date for the work order. |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
is_emergency | boolean | false | none | If this is an emergency work order this flag will be set. |
location_uuid | string | false | none | The location's unique identifier (UUID) or internal reference. |
organisation_uuid | string(uuid) | false | none | A UUID that identifies the Organisation of the entry. |
status | string | false | none | none |
uuid | string(uuid) | false | none | A UUID that references a resource. |
work_order_type | string | false | none | This is the type of the work order. The default value is MARKETPLACE if nothing is provided. |
Enumerated Values
Property | Value |
---|---|
status | new |
status | approval_pending |
status | approved |
status | declined |
status | job_leads_sent |
status | customer_engaged |
status | pro_engaged |
status | customer_pro_engaged |
status | pro_claimed_job |
status | quoted |
status | quote_accepted |
status | hired |
status | booked |
status | customer_cancelled |
status | deposit_paid |
status | invoice_outstanding |
status | invoice_paid |
status | invoice_overdue |
status | invalid |
status | lost |
status | expired |
status | refunded |
status | paid_off_platform |
status | done |
status | signed_off |
work_order_type | CONTRACTED |
work_order_type | DLO |
work_order_type | MARKETPLACE |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create a work order
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/work-orders', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/work-orders \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /work-orders
This endpoint creates a new work order.
Body parameter
{
"access_notes": "No parking available at this property.",
"account_code": "ACCOUNT-1",
"assignee": "hello@email.com",
"booking_preferences": {
"calendar_events": [
{
"from_datetime": "2020-09-26 07:00:00+00:00",
"to_datetime": "2020-09-26 12:00:00+00:00"
}
],
"info": "Please avoid 3-4pm school run."
},
"category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
"contacts": [
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "property_manager"
}
],
"created_by": "johndoe@test.com",
"due_date": "2020-09-26 07:00:00+00:00",
"external_reference": "EG1234",
"faults": [
{
"attachments": [
"e75665c2-9f6e-4017-8596-ed13db0c8851",
"f9219b92-e00d-4357-84df-e274737eb06e"
],
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"uuid": "e7a4b13a-7a73-4711-8039-77bef9fb4840"
}
],
"is_background_check_required": false,
"is_contractor_tax_withheld": true,
"is_emergency": true,
"location": {
"external_reference": "EG1234",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"metadata": {
"key1": "value1",
"key2": 2
},
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"status": "job_leads_sent",
"tags": [
"1300ac83-504b-48ad-88e8-c061ece90780",
"e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
],
"visitation_rules": [
"PAIR_VISIT",
"CONTACT_PM_BEFORE"
],
"work_order_type": "MARKETPLACE"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
access_notes | body | string¦null | false | Details about accessibility information for the property, if known. |
account_code | body | string | true | The account code. |
assignee | body | string(email) | false | The email of assignee |
booking_preferences | body | object | false | Preferred appointment slots for the work order. |
calendar_events | body | [object]¦null | false | Up to 4 preferences. |
from_datetime | body | string(date-time) | true | Start of preferred booking slot. |
to_datetime | body | string(date-time) | true | End of preferred booking slot. |
info | body | string | false | Additional notes for the booking preferences. |
category_uuid | body | string | true | Clients must map the Plentific category_uuid on their systems before sending over data. The category_uuid must contain the service_uuid used in the fault object(s). The Categories and Services endpoints will help with this mapping. |
contacts | body | [object] | false | Tenant/Nominated contacts designated for the work order. |
body | string(email) | false | none | |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
first_name | body | string | true | none |
is_private | body | boolean | false | If contact information should be private or shared with the contractor. |
last_name | body | string | true | none |
phone_number | body | string(telephone) | true | none |
role | body | string | true | none |
created_by | body | string(email) | false | The email address of the user who posted this job. If there is no user account in Plentific with this email address we'll fallback on the business unit API user. |
due_date | body | string(date-time)¦null | false | The due date for the work order. |
external_reference | body | string¦null | false | The client-provided external reference of the resource (max length 50). |
faults | body | [object] | true | none |
attachments | body | [string] | false | none |
description | body | string | true | This is the detailed explanation of the work order. We expect a concatenated text from your systems (min length 40, max length 10000). |
service_uuid | body | string(uuid) | true | Clients must map the Plentific service_uuid on their systems before sending over data. Multiple faults can be posted but each service_uuid must be valid for the category_uuid. The Categories and Services endpoints will help with this mapping. |
uuid | body | string(uuid) | false | The UUID of the faults |
is_background_check_required | body | boolean | false | This denotes whether the work order only be sent to contractors who have a valid DBS check in the UK. |
is_contractor_tax_withheld | body | boolean | false | This denotes whether the work order is susceptible to the CIS scheme for UK clients, or the Bauabzugssteuer scheme for German clients. |
is_emergency | body | boolean | false | If this is an emergency work order this flag will be set. |
location | body | object | true | We expect client will send us either UUID or external reference for the location. |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
uuid | body | string(uuid) | false | A UUID that references a resource. |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
status | body | string | false | Allowed values: 'new' = create work order, 'job_leads_sent' = create work order and send it to marketplace. If value is not set, it will default to 'job_leads_sent' |
tags | body | [string] | false | A list of tags with type 'enquiry' applied to the work order. |
visitation_rules | body | [string] | false | Rules regarding property visitation for the work order, if known. |
work_order_type | body | string | false | This is the type of the work order. The default value is MARKETPLACE if nothing is provided. |
Enumerated Values
Parameter | Value |
---|---|
role | property_manager |
role | tenant |
role | other_contact |
status | new |
status | job_leads_sent |
visitation_rules | PAIR_VISIT |
visitation_rules | CONTACT_PM_BEFORE |
visitation_rules | PM_ONSITE_DURING |
work_order_type | CONTRACTED |
work_order_type | DLO |
work_order_type | MARKETPLACE |
Example responses
201 Response
{
"access_notes": "No parking available at this property.",
"account_code": "ACCOUNT-1",
"assignee": "hello@email.com",
"contractor": {
"name": "Custom resource name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"created": "2023-03-28T15:49:30Z",
"created_by": "johndoe@test.com",
"due_date": "2020-09-26 07:00:00+00:00",
"external_reference": "EG1234",
"faults": [
{
"attachments": [
"e75665c2-9f6e-4017-8596-ed13db0c8851",
"f9219b92-e00d-4357-84df-e274737eb06e"
],
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"uuid": "e7a4b13a-7a73-4711-8039-77bef9fb4840"
}
],
"invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"is_background_check_required": true,
"is_contractor_tax_withheld": true,
"is_emergency": true,
"location": {
"external_reference": "EG1234",
"type": "property",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"metadata": {
"key1": "value1",
"key2": 2
},
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"service": {
"name": "Home Security Specialist",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"state_history": [
{
"created": "2023-03-28T15:49:30Z",
"status": "new"
}
],
"status": "new",
"tags": [
"1300ac83-504b-48ad-88e8-c061ece90780",
"e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"visitation_rules": [
"PAIR_VISIT",
"CONTACT_PM_BEFORE"
],
"work_order_id": 1461,
"work_order_type": "MARKETPLACE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Work order details | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
access_notes | string¦null | true | none | Details about accessibility information for the property, if known. |
account_code | string | true | none | The account code. |
assignee | string(email)¦null | true | none | The email of assignee |
contractor | object | true | none | none |
name | string | true | none | The name of the resource. |
uuid | string | true | none | Contractor's unique identifier (UUID). |
created | string(date-time) | true | none | none |
created_by | string(email) | true | none | The email address of the user who posted this job. If there is no user account in Plentific with this email address we'll fallback on the business unit API user. |
due_date | string(date-time)¦null | true | none | The due date for the work order. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
faults | [object] | true | none | none |
attachments | [string] | false | none | none |
description | string | true | none | This is the detailed explanation of the work order. We expect a concatenated text from your systems (min length 40, max length 10000). |
service_uuid | string(uuid) | true | none | Clients must map the Plentific service_uuid on their systems before sending over data. Multiple faults can be posted but each service_uuid must be valid for the category_uuid. The Categories and Services endpoints will help with this mapping. |
uuid | string(uuid) | false | none | The UUID of the faults |
invoice_uuid | string¦null | true | none | Invoice's unique identifier (UUID). |
is_background_check_required | boolean | true | none | none |
is_contractor_tax_withheld | boolean | true | none | none |
is_emergency | boolean | true | none | If this is an emergency work order this flag will be set. |
location | object | true | none | none |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
type | string | true | none | none |
uuid | string(uuid) | true | none | none |
metadata | object¦null | true | none | Field holding custom data in key-value pairs (max. 6). |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
service | object | true | none | none |
name | string | false | none | Service name. |
uuid | string(uuid) | false | none | This is Plentific service_uuid. Clients must map the Plentific service_uuid on their systems before sending over data. If this field is missing, we will raise an exception and will not not proceed. |
state_history | [object] | true | none | none |
created | string(date-time) | true | none | none |
status | string | true | none | none |
status | string | true | none | none |
tags | [string] | true | none | A list of tags with type 'enquiry' applied to the work order. |
uuid | string(uuid) | true | none | A UUID that references a resource. |
visitation_rules | [string] | true | none | Rules regarding property visitation for the work order, if known. |
work_order_id | integer | true | none | The id of Work Order. |
work_order_type | string | false | none | This is the type of the work order. The default value is MARKETPLACE if nothing is provided. |
Enumerated Values
Property | Value |
---|---|
type | property |
type | block |
type | estate |
type | unit |
status | new |
status | approval_pending |
status | approved |
status | declined |
status | job_leads_sent |
status | customer_engaged |
status | pro_engaged |
status | customer_pro_engaged |
status | pro_claimed_job |
status | quoted |
status | quote_accepted |
status | hired |
status | booked |
status | customer_cancelled |
status | deposit_paid |
status | invoice_outstanding |
status | invoice_paid |
status | invoice_overdue |
status | invalid |
status | lost |
status | expired |
status | refunded |
status | paid_off_platform |
status | done |
status | signed_off |
status | new |
status | approval_pending |
status | approved |
status | declined |
status | job_leads_sent |
status | customer_engaged |
status | pro_engaged |
status | customer_pro_engaged |
status | pro_claimed_job |
status | quoted |
status | quote_accepted |
status | hired |
status | booked |
status | customer_cancelled |
status | deposit_paid |
status | invoice_outstanding |
status | invoice_paid |
status | invoice_overdue |
status | invalid |
status | lost |
status | expired |
status | refunded |
status | paid_off_platform |
status | done |
status | signed_off |
work_order_type | CONTRACTED |
work_order_type | DLO |
work_order_type | MARKETPLACE |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Retrieve work order details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}
This endpoint returns the details of a particular work order
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
{
"access_notes": "No parking available at this property.",
"account_code": "ACCOUNT-1",
"assignee": "hello@email.com",
"contractor": {
"name": "Custom resource name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"created": "2023-03-28T15:49:30Z",
"created_by": "johndoe@test.com",
"due_date": "2020-09-26 07:00:00+00:00",
"external_reference": "EG1234",
"faults": [
{
"attachments": [
"e75665c2-9f6e-4017-8596-ed13db0c8851",
"f9219b92-e00d-4357-84df-e274737eb06e"
],
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"uuid": "e7a4b13a-7a73-4711-8039-77bef9fb4840"
}
],
"invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"is_background_check_required": true,
"is_contractor_tax_withheld": true,
"is_emergency": true,
"location": {
"external_reference": "EG1234",
"type": "property",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"metadata": {
"key1": "value1",
"key2": 2
},
"organisation_uuid": "91df3492-3767-46bb-00c5-285f8eb85c97",
"service": {
"name": "Home Security Specialist",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"state_history": [
{
"created": "2023-03-28T15:49:30Z",
"status": "new"
}
],
"status": "new",
"tags": [
"1300ac83-504b-48ad-88e8-c061ece90780",
"e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"visitation_rules": [
"PAIR_VISIT",
"CONTACT_PM_BEFORE"
],
"work_order_id": 1461,
"work_order_type": "MARKETPLACE"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
access_notes | string¦null | true | none | Details about accessibility information for the property, if known. |
account_code | string | true | none | The account code. |
assignee | string(email)¦null | true | none | The email of assignee |
contractor | object | true | none | none |
name | string | true | none | The name of the resource. |
uuid | string | true | none | Contractor's unique identifier (UUID). |
created | string(date-time) | true | none | none |
created_by | string(email) | true | none | The email address of the user who posted this job. If there is no user account in Plentific with this email address we'll fallback on the business unit API user. |
due_date | string(date-time)¦null | true | none | The due date for the work order. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
faults | [object] | true | none | none |
attachments | [string] | false | none | none |
description | string | true | none | This is the detailed explanation of the work order. We expect a concatenated text from your systems (min length 40, max length 10000). |
service_uuid | string(uuid) | true | none | Clients must map the Plentific service_uuid on their systems before sending over data. Multiple faults can be posted but each service_uuid must be valid for the category_uuid. The Categories and Services endpoints will help with this mapping. |
uuid | string(uuid) | false | none | The UUID of the faults |
invoice_uuid | string¦null | true | none | Invoice's unique identifier (UUID). |
is_background_check_required | boolean | true | none | none |
is_contractor_tax_withheld | boolean | true | none | none |
is_emergency | boolean | true | none | If this is an emergency work order this flag will be set. |
location | object | true | none | none |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
type | string | true | none | none |
uuid | string(uuid) | true | none | none |
metadata | object¦null | true | none | Field holding custom data in key-value pairs (max. 6). |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
service | object | true | none | none |
name | string | false | none | Service name. |
uuid | string(uuid) | false | none | This is Plentific service_uuid. Clients must map the Plentific service_uuid on their systems before sending over data. If this field is missing, we will raise an exception and will not not proceed. |
state_history | [object] | true | none | none |
created | string(date-time) | true | none | none |
status | string | true | none | none |
status | string | true | none | none |
tags | [string] | true | none | A list of tags with type 'enquiry' applied to the work order. |
uuid | string(uuid) | true | none | A UUID that references a resource. |
visitation_rules | [string] | true | none | Rules regarding property visitation for the work order, if known. |
work_order_id | integer | true | none | The id of Work Order. |
work_order_type | string | false | none | This is the type of the work order. The default value is MARKETPLACE if nothing is provided. |
Enumerated Values
Property | Value |
---|---|
type | property |
type | block |
type | estate |
type | unit |
status | new |
status | approval_pending |
status | approved |
status | declined |
status | job_leads_sent |
status | customer_engaged |
status | pro_engaged |
status | customer_pro_engaged |
status | pro_claimed_job |
status | quoted |
status | quote_accepted |
status | hired |
status | booked |
status | customer_cancelled |
status | deposit_paid |
status | invoice_outstanding |
status | invoice_paid |
status | invoice_overdue |
status | invalid |
status | lost |
status | expired |
status | refunded |
status | paid_off_platform |
status | done |
status | signed_off |
status | new |
status | approval_pending |
status | approved |
status | declined |
status | job_leads_sent |
status | customer_engaged |
status | pro_engaged |
status | customer_pro_engaged |
status | pro_claimed_job |
status | quoted |
status | quote_accepted |
status | hired |
status | booked |
status | customer_cancelled |
status | deposit_paid |
status | invoice_outstanding |
status | invoice_paid |
status | invoice_overdue |
status | invalid |
status | lost |
status | expired |
status | refunded |
status | paid_off_platform |
status | done |
status | signed_off |
work_order_type | CONTRACTED |
work_order_type | DLO |
work_order_type | MARKETPLACE |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a work order
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-orders/{work_order_uuid}
This endpoint allows you to update a work order with your appointed contractor information. Provide the uuid of the appointed contractor that you wish to send the work order too, and change the status to "job_leads_sent".
Body parameter
{
"access_notes": "No parking available at this property.",
"account_code": "ACCOUNT-1",
"assignee": "hello@email.com",
"closing_reason": "agent_raised_in_error",
"contacts": [
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "property_manager"
}
],
"contractor_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"due_date": "2020-09-26 07:00:00+00:00",
"external_reference": "EG1234",
"status": "job_leads_sent",
"tags": [
"1300ac83-504b-48ad-88e8-c061ece90780",
"e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
body | body | object | true | none |
access_notes | body | string¦null | false | Details about accessibility information for the property, if known. |
account_code | body | string | false | The account code. |
assignee | body | string(email) | false | none |
closing_reason | body | string | false | The reason for cancellation. |
contacts | body | [object] | false | A list of contacts that are related to the work order. |
body | string(email) | false | none | |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
first_name | body | string | false | none |
is_private | body | boolean | false | If contact information should be private or shared with the contractor. |
last_name | body | string | false | none |
phone_number | body | string(telephone) | false | none |
role | body | string | true | The work order contact role |
contractor_uuid | body | string(uuid) | false | A UUID that references a resource. |
due_date | body | string(date-time)¦null | false | The due date for the work order. |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
status | body | string | false | none |
tags | body | [string] | false | A list of tags with type 'enquiry' applied to the work order. |
Enumerated Values
Parameter | Value |
---|---|
closing_reason | agent_raised_in_error |
closing_reason | agent_no_longer_required |
closing_reason | agent_duplicate |
closing_reason | agent_landlord_decision |
closing_reason | agent_not_enough_quotes |
closing_reason | agent_quotes_too_high |
closing_reason | agent_quotes_took_too_long |
closing_reason | agent_no_suitable_pro_found |
closing_reason | agent_landlords_completed_work |
closing_reason | closed_by_system |
closing_reason | tenant_not_contactable |
closing_reason | no_response_from_pro |
closing_reason | tenant_unresponsive |
closing_reason | covid_19 |
closing_reason | wrong_trade |
role | property_manager |
role | tenant |
role | other_contact |
status | job_leads_sent |
status | cancelled |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
405 | Method Not Allowed | Method Not Allowed | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
List all work order appointed contractors
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/appointed-contractors', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/appointed-contractors \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/appointed-contractors
This endpoint returns all possible appointed contractors available for a given work order
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
[
{
"name": "Custom resource name",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Report list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | The name of the resource. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
List all bookings
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/bookings', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/bookings \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/bookings
This endpoint returns all bookings provided by contractors for a specific work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
[
{
"created": "2020-11-12 09:52:20.051000+00:00",
"description": "New time slot.",
"status": "attended",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order bookings list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of a resource |
description | string | false | none | Description of the Booking |
status | string | false | none | The status of the booking |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
status | attended |
status | not_attended |
status | no_access |
status | cancelled |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve booking details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/bookings/{booking_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/bookings/{booking_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}/bookings/{booking_uuid}
This endpoint returns details of a specific booking for a work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
booking_uuid | path | string(uuid) | true | UUID of the booking. |
Example responses
200 Response
{
"cancelling_reason": "string",
"cancelling_reason_message": "string",
"created": "2023-03-28T15:49:30Z",
"description": "New time slot.",
"end_datetime": "2023-03-28T15:49:30Z",
"start_datetime": "2023-03-28T15:49:30Z",
"status": "attended"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Booking detail | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cancelling_reason | string | false | none | The cancelling reason of booking |
cancelling_reason_message | string | false | none | The message of cancelling reason for booking |
created | string(date-time) | false | none | The creation date-time of booking |
description | string | false | none | Description of the Booking |
end_datetime | string(date-time) | false | none | The end date-time of booking |
start_datetime | string(date-time) | false | none | The start date-time of booking |
status | string | false | none | The status of the booking |
Enumerated Values
Property | Value |
---|---|
status | attended |
status | not_attended |
status | no_access |
status | cancelled |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
List all completion reports
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/completion-reports', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/completion-reports \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/completion-reports
This endpoint returns all completion reports for a specific work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
[
{
"created": "2020-11-12 09:52:20.051000+00:00",
"job_outcome": "FULLY_COMPLETED",
"status": "accepted",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order completion reports list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of a resource |
job_outcome | string | false | none | Stores more details about job's status |
status | string | false | none | The status of the completion report |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
job_outcome | FULLY_COMPLETED |
job_outcome | PARTIALLY_COMPLETED |
job_outcome | CANNOT_BE_EXECUTED |
status | new |
status | cancelled |
status | accepted |
status | updated |
status | declined |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve completion report details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/completion-reports/{completion_report_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/completion-reports/{completion_report_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}/completion-reports/{completion_report_uuid}
This endpoint returns details of a specific completion report for a work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
completion_report_uuid | path | string(uuid) | true | UUID of the completion report. |
Example responses
200 Response
{
"additional_information": "string",
"additional_information_attachments": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"created": "2023-03-28T15:49:30Z",
"declined_on": "2023-03-28T15:49:30Z",
"declining_reason": "NO_EVIDENCE",
"declining_reason_message": "string",
"job_outcome": "FULLY_COMPLETED",
"outcome_attachments": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"outcome_description": "string",
"status": "accepted",
"status_date": "2023-03-28T15:49:30Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Completion report detail | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
additional_information | string | false | none | The additional information of completion report |
additional_information_attachments | [string] | false | none | none |
created | string(date-time) | false | none | The creation date-time of completion report |
declined_on | string(date-time) | false | none | The date of declining the completion report |
declining_reason | string | false | none | The reason for declidining the completion report |
declining_reason_message | string | false | none | The message of declining reason |
job_outcome | string | false | none | Stores more details about job's status |
outcome_attachments | [string] | false | none | none |
outcome_description | string | false | none | The outcome description of completion report |
status | string | false | none | The status of the completion report |
status_date | string(date-time) | false | none | The date of completion report. |
Enumerated Values
Property | Value |
---|---|
declining_reason | NO_EVIDENCE |
declining_reason | NOT_EVERYTHING_DONE |
declining_reason | NOT_ENOUGH_QUALITY |
declining_reason | OTHER |
job_outcome | FULLY_COMPLETED |
job_outcome | PARTIALLY_COMPLETED |
job_outcome | CANNOT_BE_EXECUTED |
status | new |
status | cancelled |
status | accepted |
status | updated |
status | declined |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a completion report
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/completion-reports/{completion_report_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/completion-reports/{completion_report_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-orders/{work_order_uuid}/completion-reports/{completion_report_uuid}
This endpoint updates an existing completion report for a work order.
Body parameter
{
"reason": "NO_EVIDENCE",
"reason_msg": "string",
"status": "accepted"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
completion_report_uuid | path | string(uuid) | true | UUID of the completion report. |
body | body | object | true | none |
reason | body | string | false | The reason for transitioning the completion report. Only required when status is 'declined'. |
reason_msg | body | string | false | The reason message for declining the completion report. |
status | body | string | true | This is the status to transition the completion report to. |
Enumerated Values
Parameter | Value |
---|---|
reason | NO_EVIDENCE |
reason | NOT_EVERYTHING_DONE |
reason | NOT_ENOUGH_QUALITY |
reason | OTHER |
status | accepted |
status | declined |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Delete all work order contacts
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /work-orders/{work_order_uuid}/contacts
This endpoint deletes all the contacts associated to a particular work order. Contacts with role 'property_manager' will not and cannot be deleted.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
List all work order contacts
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/contacts
This endpoint returns all the contacts associated to a particular work order
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "property_manager",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work Order Contacts List | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
is_private | boolean | false | none | If contact information should be private or shared with the contractor. |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
role | string | false | none | The work order contact role |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
role | property_manager |
role | tenant |
role | other_contact |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Create work order contact
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /work-orders/{work_order_uuid}/contacts
This endpoint creates a contact associated to a particular work order
Body parameter
{
"email": "hello@email.com",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "tenant"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
body | body | object | true | This is the body that can be used to create a Work Order Contact. |
body | string(email) | false | none | |
first_name | body | string | true | none |
is_private | body | boolean | true | If contact information should be private or shared with the contractor. |
last_name | body | string | true | none |
phone_number | body | string(telephone) | true | none |
role | body | string | true | The work order contact role for create and patch usage |
Enumerated Values
Parameter | Value |
---|---|
role | tenant |
role | other_contact |
Example responses
201 Response
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "property_manager",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Work Order Contact Detail | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
is_private | boolean | false | none | If contact information should be private or shared with the contractor. |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
role | string | false | none | The work order contact role |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
role | property_manager |
role | tenant |
role | other_contact |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete work order contact
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts/{contact_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts/{contact_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /work-orders/{work_order_uuid}/contacts/{contact_uuid}
This endpoint deletes a contact associated to a particular work order
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
contact_uuid | path | string(uuid) | true | UUID of the work order contact. |
Example responses
401 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Get work order contact detail
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts/{contact_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts/{contact_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}/contacts/{contact_uuid}
This endpoint returns a contact associated to a particular work order
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
contact_uuid | path | string(uuid) | true | UUID of the work order contact. |
Example responses
200 Response
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "property_manager",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work Order Contact Detail | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | false | none | none | |
external_reference | string¦null | false | none | The client-provided external reference of the resource. |
first_name | string | false | none | none |
is_private | boolean | false | none | If contact information should be private or shared with the contractor. |
last_name | string | false | none | none |
phone_number | string(telephone) | false | none | none |
role | string | false | none | The work order contact role |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
role | property_manager |
role | tenant |
role | other_contact |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Patch work order contact
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts/{contact_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/contacts/{contact_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-orders/{work_order_uuid}/contacts/{contact_uuid}
This endpoint patches a contact associated to a particular work order
Body parameter
{
"email": "hello@email.com",
"first_name": "John",
"is_private": true,
"last_name": "Doe",
"phone_number": "+441234567890",
"role": "tenant"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
contact_uuid | path | string(uuid) | true | UUID of the work order contact. |
body | body | object | true | This is the body that can be used to patch a Work Order Contact. |
body | string(email) | false | none | |
first_name | body | string | false | none |
is_private | body | boolean | false | If contact information should be private or shared with the contractor. |
last_name | body | string | false | none |
phone_number | body | string(telephone) | false | none |
role | body | string | false | The work order contact role for create and patch usage |
Enumerated Values
Parameter | Value |
---|---|
role | tenant |
role | other_contact |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
List all faults
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/faults
This endpoint returns all faults for a specific work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
[
{
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order faults list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | This is the detailed explanation of the fault. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Delete a fault
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults/{fault_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults/{fault_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /work-orders/{work_order_uuid}/faults/{fault_uuid}
This endpoint deletes a work order's fault
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
fault_uuid | path | string(uuid) | true | UUID of the work order's fault. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
Retrieve fault details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults/{fault_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults/{fault_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}/faults/{fault_uuid}
This endpoint returns details of a specific fault for a work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
fault_uuid | path | string(uuid) | true | UUID of the work order's fault. |
Example responses
200 Response
{
"attachments": [
"e75665c2-9f6e-4017-8596-ed13db0c8851",
"f9219b92-e00d-4357-84df-e274737eb06e"
],
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Fault detail | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
attachments | [string] | false | none | none |
description | string | false | none | This is the detailed explanation of the fault. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update a fault
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults/{fault_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/faults/{fault_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-orders/{work_order_uuid}/faults/{fault_uuid}
This endpoint updates an existing work order's fault
Body parameter
{
"attachments": [
"e75665c2-9f6e-4017-8596-ed13db0c8851",
"f9219b92-e00d-4357-84df-e274737eb06e"
],
"description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked."
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
fault_uuid | path | string(uuid) | true | UUID of the work order's fault. |
body | body | object | true | none |
attachments | body | [string] | false | none |
description | body | string | false | This is the detailed explanation of the fault. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
List all work order messages
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/messages', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/messages \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/messages
This endpoint returns all the messages associated to jobs of a particular work order
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
Example responses
200 Response
[
{
"attachments": [
"string"
],
"author": {
"first_name": "John",
"last_name": "Doe"
},
"created": "2023-03-28T15:49:30Z",
"text": "Assessment and survey will be free",
"type": "CHAT",
"uuid": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order messages list | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
attachments | [string] | false | none | none |
author | object | false | none | none |
first_name | string | false | none | none |
last_name | string | false | none | none |
created | string(date-time) | false | none | none |
text | string | false | none | none |
type | string | false | none | none |
uuid | string(uuid) | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | CHAT |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
List all outstanding issues
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/outstanding-issues', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/outstanding-issues \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/outstanding-issues
This endpoint returns all outstanding issues for a specific work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
[
{
"closed": false,
"closing_description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"closing_timestamp": "2020-11-12 09:52:20.051000+00:00",
"closing_user_email": "deprecated@dontuse.me",
"opening_description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"opening_timestamp": "2020-11-12 09:52:20.051000+00:00",
"opening_user_email": "deprecated@dontuse.me",
"reason": "CANNOT_CONTACT_TENANT",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order outstanding issues list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
closed | boolean | false | none | This is the detailed explanation of the outstanding issues. |
closing_description | string | false | none | This is the closing description. |
closing_timestamp | string(date-time) | false | none | This is the closing date-time. |
closing_user_email | string(email) | false | none | Email of an user that closed outstanding issue |
opening_description | string | false | none | This is the opening description. |
opening_timestamp | string(date-time) | false | none | This is the opening date-time. |
opening_user_email | string(email) | false | none | Email of an user that opened outstanding issue |
reason | string | false | none | This is the reason for outstanding issue. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
reason | CANNOT_CONTACT_TENANT |
reason | CANNOT_BOOK |
reason | REPAIR_NOT_REQUIRED |
reason | SUSPECTED_ASBESTOS |
reason | SAFETY_CONCERN |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve outstanding issue details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/outstanding-issues/{outstanding_issue_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/outstanding-issues/{outstanding_issue_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}/outstanding-issues/{outstanding_issue_uuid}
This endpoint returns details of a specific outstanding issue for a work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
outstanding_issue_uuid | path | string(uuid) | true | UUID of the work order's outstanding issue. |
Example responses
200 Response
{
"closed": false,
"closing_description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"closing_timestamp": "2020-11-12 09:52:20.051000+00:00",
"closing_user_email": "deprecated@dontuse.me",
"opening_description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked.",
"opening_timestamp": "2020-11-12 09:52:20.051000+00:00",
"opening_user_email": "deprecated@dontuse.me",
"reason": "CANNOT_CONTACT_TENANT",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Outstanding issue detail | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
closed | boolean | false | none | This is the detailed explanation of the outstanding issues. |
closing_description | string | false | none | This is the closing description. |
closing_timestamp | string(date-time) | false | none | This is the closing date-time. |
closing_user_email | string(email) | false | none | Email of an user that closed outstanding issue |
opening_description | string | false | none | This is the opening description. |
opening_timestamp | string(date-time) | false | none | This is the opening date-time. |
opening_user_email | string(email) | false | none | Email of an user that opened outstanding issue |
reason | string | false | none | This is the reason for outstanding issue. |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
reason | CANNOT_CONTACT_TENANT |
reason | CANNOT_BOOK |
reason | REPAIR_NOT_REQUIRED |
reason | SUSPECTED_ASBESTOS |
reason | SAFETY_CONCERN |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
Update an outstanding issue
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/outstanding-issues/{outstanding_issue_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/outstanding-issues/{outstanding_issue_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-orders/{work_order_uuid}/outstanding-issues/{outstanding_issue_uuid}
This endpoint updates an existing work order's outstanding issue
Body parameter
{
"closed": false,
"closing_description": "Gas boiler not working. Error code (C7) advises fan not running or airflow blocked."
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
outstanding_issue_uuid | path | string(uuid) | true | UUID of the work order's outstanding issue. |
body | body | object | true | none |
closed | body | boolean | false | This is the detailed explanation of the outstanding issues. |
closing_description | body | string | false | This is the closing description. |
Example responses
400 Response
{
"detail": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | There is no response here | None |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
204 | X-Api-Version | string | date | The date of version |
List all quotes
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>',
'X-Pagination-Limit': '100',
'X-Pagination-Offset': '0'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/quotes', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/quotes \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /work-orders/{work_order_uuid}/quotes
This endpoint returns all quotes provided by contractors for a specific work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
X-Pagination-Limit | header | number | false | Requested number of items per page. Default 100, max. 200. |
X-Pagination-Offset | header | number | false | Requested offset of the results. |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
Example responses
200 Response
[
{
"attachments": [
"e2d7c1f1-b561-4937-82c9-195e109d4581",
"160d959e-e9d8-4113-a692-3f136874383b"
],
"created": "2020-11-12 09:52:20.051000+00:00",
"is_quote_variation": true,
"status": "accepted",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work order quotes list | Inline |
400 | Bad Request | Validation error details | Inline |
401 | Unauthorized | Authorisation error details | Inline |
403 | Forbidden | Authorisation error details | Inline |
404 | Not Found | Resource Not Found | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
attachments | [string] | false | none | List of pdf file UUIDs that are attached to a Quote. |
created | string(date-time) | false | none | The creation date-time of a resource |
is_quote_variation | boolean | false | none | Indicates whether a quote is a variation |
status | string | false | none | The status of the quote |
uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
status | accepted |
status | cancelled |
status | declined |
status | deposit_paid |
status | pending |
status | superseded |
status | varied |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 401
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Status Code 403
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | string | false | none | Error details |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | X-Api-Version | string | date | The date of version |
200 | X-Pagination-Count | integer | Total number of results | |
200 | X-Pagination-Limit | integer | Number of results per page | |
200 | X-Pagination-Offset | integer | Current offset for returned results |
Retrieve quote details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/quotes/{quote_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2023-02-01/work-orders/{work_order_uuid}/quotes/{quote_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-orders/{work_order_uuid}/quotes/{quote_uuid}
This endpoint returns details of a specific quote for a work order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
work_order_uuid | path | string(uuid) | true | UUID of the work order. |
quote_uuid | path | string(uuid) | true | UUID of the quote. |
Example responses
200 Response
{
"accepted_on": "2023-03-28T15:49:30Z",
"approval_steps": [
{