Plentific Public API v2021-10-28
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/2021-10-28/token', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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 |
Estates
Estates are Plentific's top-level object in the asset hierarchy. Linking estates to blocks is optional. Estates can be parents to one or more block objects.
List all estates
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/2021-10-28/estates', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/estates \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /estates
This endpoint returns all estate assets registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
external_reference | query | string | false | The external reference of an entity. |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
postal_code | query | string | false | postal code of an entity |
sort_by | query | string | false | listing ordering |
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 | external_reference |
sort_by | -external_reference |
Example responses
200 Response
[
{
"external_reference": "EG1234",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Estates 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 |
---|---|---|---|---|
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. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
uuid | string(uuid) | false | none | Estate 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 |
---|---|---|---|---|
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 estate
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/estates', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/estates \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /estates
This endpoint creates a new estate asset
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
address_line_1 | body | string | true | 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 | true | The town or city of the resource. This field is not required for the UK region. |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
postal_code | body | string | true | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tags | body | [string] | false | A list of tags with type 'property' applied to the property/estate/block. |
Example responses
201 Response
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Estate 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 201
The Estate
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
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. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
landlords | [string] | false | none | none |
metadata | object¦null | false | none | Field holding custom data in key-value pairs (max. 6). |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
postal_code | string | true | none | The postal code of the resource. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
property_managers | [string] | false | none | none |
tags | [string] | false | none | A list of tags with type 'property' applied to the property/estate/block. |
uuid | string | false | none | The estate's unique identifier (UUID) or internal reference. |
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 estate
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/estates/{estate_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/estates/{estate_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /estates/{estate_uuid}
This endpoint deletes an estate asset from the client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
estate_uuid | path | string(uuid) | true | UUID of the estate. |
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 estate details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/estates/{estate_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/estates/{estate_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /estates/{estate_uuid}
This endpoint returns the details of a particular estate asset
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
estate_uuid | path | string(uuid) | true | UUID of the estate. |
Example responses
200 Response
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Estate 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
The Estate
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
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. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
landlords | [string] | false | none | none |
metadata | object¦null | false | none | Field holding custom data in key-value pairs (max. 6). |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
postal_code | string | true | none | The postal code of the resource. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
property_managers | [string] | false | none | none |
tags | [string] | false | none | A list of tags with type 'property' applied to the property/estate/block. |
uuid | string | false | none | The estate's unique identifier (UUID) or internal reference. |
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 estate
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/estates/{estate_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/estates/{estate_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /estates/{estate_uuid}
This endpoint updates an existing estate
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
estate_uuid | path | string(uuid) | true | UUID of the estate. |
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. |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
postal_code | body | string | false | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tags | body | [string] | false | A list of tags with type 'property' applied to the property/estate/block. |
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 |
Blocks
A block in Plentific's asset hierarchy can be the child of an estate. A block can be a parent object to one or more properties. Linking blocks to estates and properties is optional. When creating a new block, it must have a 'parent_estate' reference if the block is part of an estate object. This reference will be the same value as the 'external_reference' for the estate that it is in.
List all blocks
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/2021-10-28/blocks', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/blocks \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /blocks
This endpoint returns all block assets registered in the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
external_reference | query | string | false | The external reference of an entity. |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
postal_code | query | string | false | postal code of an entity |
estate_uuid | query | string(uuid) | false | The parent estate UUID. |
sort_by | query | string | false | listing ordering |
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 | external_reference |
sort_by | -external_reference |
Example responses
200 Response
[
{
"external_reference": "EG1234",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_estate_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Blocks 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 |
---|---|---|---|---|
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_estate_uuid | string(uuid) | false | none | The parent estate of the block. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
uuid | string(uuid) | false | none | Block 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 |
---|---|---|---|---|
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 block
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/blocks', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/blocks \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /blocks
This endpoint creates a new block asset
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_estate_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
address_line_1 | body | string | true | 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 | true | The town or city of the resource. This field is not required for the UK region. |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
parent_estate_uuid | body | string(uuid) | false | The parent estate of the block. |
postal_code | body | string | true | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tags | body | [string] | false | A list of tags with type 'property' applied to the property/estate/block. |
Example responses
201 Response
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_estate_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Block 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 201
The Block
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
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. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
landlords | [string] | false | none | none |
metadata | object¦null | false | none | Field holding custom data in key-value pairs (max. 6). |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
parent_estate_uuid | string(uuid) | false | none | The parent estate of the block. |
postal_code | string | true | none | The postal code of the resource. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
property_managers | [string] | false | none | none |
tags | [string] | false | none | A list of tags with type 'property' applied to the property/estate/block. |
uuid | string | false | none | The block's unique identifier (UUID) or internal reference. |
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 block
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/blocks/{block_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/blocks/{block_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /blocks/{block_uuid}
This endpoint deletes a block asset from the client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
block_uuid | path | string(uuid) | true | UUID of the block. |
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 block details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/blocks/{block_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/blocks/{block_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /blocks/{block_uuid}
This endpoint returns the details of a particular block asset
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
block_uuid | path | string(uuid) | true | UUID of the block. |
Example responses
200 Response
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_estate_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Block 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
The Block
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
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. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
landlords | [string] | false | none | none |
metadata | object¦null | false | none | Field holding custom data in key-value pairs (max. 6). |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
parent_estate_uuid | string(uuid) | false | none | The parent estate of the block. |
postal_code | string | true | none | The postal code of the resource. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
property_managers | [string] | false | none | none |
tags | [string] | false | none | A list of tags with type 'property' applied to the property/estate/block. |
uuid | string | false | none | The block's unique identifier (UUID) or internal reference. |
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 block
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/blocks/{block_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/blocks/{block_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /blocks/{block_uuid}
This endpoint updates an existing block
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"parent_estate_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
block_uuid | path | string(uuid) | true | UUID of the block. |
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. |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
parent_estate_uuid | body | string(uuid) | false | The parent estate of the block. |
postal_code | body | string | false | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tags | body | [string] | false | A list of tags with type 'property' applied to the property/estate/block. |
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 |
Properties
A property in Plentific's asset hierarchy can be the child of a block. When creating a new property, it must have a 'parent_block' reference if the property is part of a block object. This reference will be the same value as the 'external_reference' for the block that it is in.
List all properties
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/2021-10-28/properties', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/properties \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /properties
This endpoint returns all the properties registered for client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
external_reference | query | string | false | The external reference of an entity. |
organisation_uuid | query | string(uuid) | false | The organisation uuid of an entity. |
postal_code | query | string | false | postal code of an entity |
estate_uuid | query | string(uuid) | false | The parent estate UUID. |
block_uuid | query | string(uuid) | false | The parent block UUID. |
sort_by | query | string | false | listing ordering |
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 | external_reference |
sort_by | -external_reference |
Example responses
200 Response
[
{
"external_reference": "EG1234",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_block_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_estate_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Properties 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 |
---|---|---|---|---|
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_block_uuid | string(uuid) | false | none | The parent block of the property. |
parent_estate_uuid | string(uuid) | false | none | The parent estate of the block. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
uuid | string(uuid) | false | none | Property 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 |
---|---|---|---|---|
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 property
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/properties', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/properties \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /properties
This endpoint creates a new property asset
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_block_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"tenants": [
"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 | none |
address_line_1 | body | string | true | 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 | true | The town or city of the resource. This field is not required for the UK region. |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
parent_block_uuid | body | string(uuid) | false | The parent block of the property. |
postal_code | body | string | true | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tags | body | [string] | false | A list of tags with type 'property' applied to the property/estate/block. |
tenants | body | [string] | false | none |
Example responses
201 Response
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_block_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"tenants": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Property 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 201
The Property
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
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. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
landlords | [string] | false | none | none |
metadata | object¦null | false | none | Field holding custom data in key-value pairs (max. 6). |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
parent_block_uuid | string(uuid) | false | none | The parent block of the property. |
postal_code | string | true | none | The postal code of the resource. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
property_managers | [string] | false | none | none |
tags | [string] | false | none | A list of tags with type 'property' applied to the property/estate/block. |
tenants | [string] | false | none | none |
uuid | string | false | none | The property's unique identifier (UUID) or internal reference. |
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 property
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/properties/{property_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/properties/{property_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /properties/{property_uuid}
This endpoint deletes a property asset from the client's organisation
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
property_uuid | path | string(uuid) | true | UUID of the property. |
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 property details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/properties/{property_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/properties/{property_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /properties/{property_uuid}
This endpoint returns the details of a particular property asset
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
property_uuid | path | string(uuid) | true | UUID of the property. |
Example responses
200 Response
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"parent_block_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"tenants": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Property 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
The Property
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
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. |
external_reference | string¦null | true | none | The client-provided external reference of the resource. |
landlords | [string] | false | none | none |
metadata | object¦null | false | none | Field holding custom data in key-value pairs (max. 6). |
name | string | false | none | The name of the resource. |
organisation_uuid | string(uuid) | true | none | A UUID that identifies the Organisation of the entry. |
parent_block_uuid | string(uuid) | false | none | The parent block of the property. |
postal_code | string | true | none | The postal code of the resource. |
property_groups | [string] | false | none | A list of property groups applied to the property/estate/block. |
property_managers | [string] | false | none | none |
tags | [string] | false | none | A list of tags with type 'property' applied to the property/estate/block. |
tenants | [string] | false | none | none |
uuid | string | false | none | The property's unique identifier (UUID) or internal reference. |
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 property
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/properties/{property_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/properties/{property_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /properties/{property_uuid}
This endpoint updates an existing property
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EG1234",
"landlords": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
],
"metadata": {
"key1": "value1",
"key2": 2
},
"name": "Custom resource name",
"parent_block_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"postal_code": "SW1P 4RG",
"property_groups": [
"19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
"9bc9d182-db3c-44b7-8a1e-43603d6279d9"
],
"property_managers": [
"75881afb-11d8-46db-ae5f-549cc3eb5527",
"c9475373-da74-4688-abe5-72f762ab5e72"
],
"tags": [
"76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
"50a82ead-46f8-4a7e-be52-419b05ee3b39"
],
"tenants": [
"842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
"96cac9aa-575b-4976-a03d-d671884dbd16"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
property_uuid | path | string(uuid) | true | UUID of the property. |
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. |
external_reference | body | string¦null | false | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
parent_block_uuid | body | string(uuid) | false | The parent block of the property. |
postal_code | body | string | false | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tags | body | [string] | false | A list of tags with type 'property' applied to the property/estate/block. |
tenants | 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 |
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 |
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/2021-10-28/tenants', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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/2021-10-28/tenants', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"phone_number": "+441234567890",
"property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
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 |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
property_uuid | body | string | true | The property's unique identifier (UUID) or internal reference. |
Example responses
201 Response
{
"email": "hello@email.com",
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Tenant | 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 201
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 |
phone_number | string(telephone) | false | none | none |
property_uuid | string | false | none | The property's unique identifier (UUID) or internal reference. |
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 |
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/2021-10-28/tenants/{tenant_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/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/2021-10-28/tenants/{tenant_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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",
"phone_number": "+441234567890",
"property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tenant | 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
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 |
phone_number | string(telephone) | false | none | none |
property_uuid | string | false | none | The property's unique identifier (UUID) or internal reference. |
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 tenant
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/tenants/{tenant_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/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
{
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"property": "EG1234"
}
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 |
first_name | body | string | false | none |
last_name | body | string | false | none |
phone_number | body | string(telephone) | false | none |
property | body | string¦null | false | The client-provided external reference 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 |
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 |
Landlords
Landlord objects can be associated to one or more assets in Plentific.
List all landlords
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/2021-10-28/landlords', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/landlords \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /landlords
This endpoint returns all landlords linked to at least one property
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 | Landlords 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 |
---|---|---|---|---|
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 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 landlord
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/landlords', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/landlords \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /landlords
This endpoint creates a new landlord
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"city": "London",
"country": "GB",
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"phone_number": "+441234567890",
"postal_code": "SW1P 4RG",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
]
}
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. |
blocks | body | [string] | false | none |
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 | |
estates | body | [string] | 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 |
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. |
properties | body | [string] | 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"
},
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Landlord | 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 201
The Landlord
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. |
blocks | [string] | false | none | none |
string(email) | false | none | none | |
estates | [string] | 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 |
properties | [string] | false | none | none |
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 |
201 | X-Resource-Id | string | uuid | The UUID of the newly created element |
Delete a landlord
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/landlords/{landlord_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/landlords/{landlord_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /landlords/{landlord_uuid}
This endpoint deletes a landlord's data from the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
landlord_uuid | path | string(uuid) | true | UUID of the landlord. |
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 landlord details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/landlords/{landlord_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/landlords/{landlord_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /landlords/{landlord_uuid}
This endpoint returns the details of a particular landlord
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
landlord_uuid | path | string(uuid) | true | UUID of the landlord. |
Example responses
200 Response
{
"address": {
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"country": "GB",
"postal_code": "SW1P 4RG"
},
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Landlord | 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
The Landlord
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. |
blocks | [string] | false | none | none |
string(email) | false | none | none | |
estates | [string] | 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 |
properties | [string] | false | none | none |
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 landlord
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/landlords/{landlord_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/landlords/{landlord_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /landlords/{landlord_uuid}
This endpoint updates an existing landlord
Body parameter
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"city": "London",
"country": "GB",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"first_name": "John",
"last_name": "Doe",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"phone_number": "+441234567890",
"postal_code": "SW1P 4RG",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
landlord_uuid | path | string(uuid) | true | UUID of the landlord. |
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. |
blocks | body | [string] | false | none |
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 |
estates | body | [string] | false | none |
first_name | body | string | false | none |
last_name | 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. |
properties | 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 |
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 |
Property Managers
Property Manager objects can be associated to one or more assets in Plentific.
List all property 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/2021-10-28/managers', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 property 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 | Property managers 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 |
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 property manager
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/managers', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/managers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /managers
This endpoint creates a new property manager
Body parameter
{
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"phone_number": "+441234567890",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
body | body | object | true | none |
blocks | body | [string] | false | none |
body | string(email) | true | none | |
estates | body | [string] | 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 | true | none |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | true | none |
properties | body | [string] | false | none |
Example responses
201 Response
{
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Property Manager | 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 201
The Property Manager
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
blocks | [string] | false | none | none |
string(email) | false | none | none | |
estates | [string] | 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 |
properties | [string] | false | none | none |
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 |
201 | X-Resource-Id | string | uuid | The UUID of the newly created element |
Delete a property manager
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/managers/{manager_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/managers/{manager_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /managers/{manager_uuid}
This endpoint deletes a property manager from the client's account for all properties 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 property manager. |
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 property manager details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/managers/{manager_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/managers/{manager_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /managers/{manager_uuid}
This endpoint returns the details of a particular property manager
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
manager_uuid | path | string(uuid) | true | UUID of the property manager. |
Example responses
200 Response
{
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"external_reference": "EG1234",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+441234567890",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Property Manager | 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
The Property Manager
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
blocks | [string] | false | none | none |
string(email) | false | none | none | |
estates | [string] | 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 |
properties | [string] | false | none | none |
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 property manager
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/managers/{manager_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/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 property manager
Body parameter
{
"blocks": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"email": "hello@email.com",
"estates": [
"15791638-f098-49ca-b1a6-40da5bc47255"
],
"first_name": "John",
"last_name": "Doe",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"phone_number": "+441234567890",
"properties": [
"15791638-f098-49ca-b1a6-40da5bc47255"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
manager_uuid | path | string(uuid) | true | UUID of the property manager. |
body | body | object | true | none |
blocks | body | [string] | false | none |
body | string(email) | false | none | |
estates | body | [string] | false | none |
first_name | body | string | false | none |
last_name | 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 |
properties | 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 |
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'.
Delete work order contact
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/work-order/{work_order_uuid}/contacts/{contact_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/work-order/{work_order_uuid}/contacts/{contact_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /work-order/{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/2021-10-28/work-order/{work_order_uuid}/contacts/{contact_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/work-order/{work_order_uuid}/contacts/{contact_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /work-order/{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/2021-10-28/work-order/{work_order_uuid}/contacts/{contact_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/work-order/{work_order_uuid}/contacts/{contact_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-order/{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 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/2021-10-28/work-orders', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"due_date": "2020-09-26 07:00:00+00:00",
"external_reference": "EG1234",
"is_emergency": true,
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"status": "new",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"work_order_type": "MARKETPLACE"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Work Order 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 | 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. |
organisation_uuid | string(uuid) | false | none | A UUID that identifies the Organisation of the entry. |
property_uuid | string | false | none | The property's unique identifier (UUID) or internal reference. |
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 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 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/2021-10-28/work-orders', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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,
"metadata": {
"key1": "value1",
"key2": 2
},
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property": {
"external_reference": "EG1234",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"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 | This is the body that can be used to create a new work order. |
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. |
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. |
property | body | object | true | We expect client will send us either UUID or external reference for the property. |
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. |
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-01-19T08:10:58Z",
"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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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,
"metadata": {
"key1": "value1",
"key2": 2
},
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property": {
"external_reference": "EG1234",
"type": "property",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"service": {
"name": "Home Security Specialist",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"service_invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"state_history": [
{
"created": "2023-01-19T08:10:58Z",
"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 |
404 | Not Found | Resource Not Found | None |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
The Work Order
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. |
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. |
property | 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 |
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. |
service_invoice_uuid | string¦null | false | none | Invoice's unique identifier (UUID). |
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 |
Retrieve work order details
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/work-orders/{work_order_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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,
"metadata": {
"key1": "value1",
"key2": 2
},
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"property": {
"external_reference": "EG1234",
"type": "property",
"uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
},
"service": {
"name": "Home Security Specialist",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
},
"service_invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"state_history": [
{
"created": "2023-01-19T08:10:58Z",
"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
The Work Order
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. |
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. |
property | 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 |
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. |
service_invoice_uuid | string¦null | false | none | Invoice's unique identifier (UUID). |
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 |
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/2021-10-28/work-orders/{work_order_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/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
{
"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 |
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/2021-10-28/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/2021-10-28/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/2021-10-28/work-orders/{work_order_uuid}/bookings', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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",
"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 |
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/2021-10-28/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/2021-10-28/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-01-19T08:10:58Z",
"end_datetime": "2023-01-19T08:10:58Z",
"start_datetime": "2023-01-19T08:10:58Z",
"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 |
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/2021-10-28/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/2021-10-28/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/2021-10-28/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/2021-10-28/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-01-19T08:10:58Z",
"declined_on": "2023-01-19T08:10:58Z",
"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-01-19T08:10:58Z"
}
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/2021-10-28/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/2021-10-28/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/2021-10-28/work-orders/{work_order_uuid}/contacts', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/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/2021-10-28/work-orders/{work_order_uuid}/contacts', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-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/2021-10-28/work-orders/{work_order_uuid}/contacts', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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 |
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/2021-10-28/work-orders/{work_order_uuid}/faults', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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/2021-10-28/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/2021-10-28/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/2021-10-28/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/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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/2021-10-28/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/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem."
}
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 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/2021-10-28/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/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"closing_timestamp": "2020-11-12 09:52:20.051000+00:00",
"closing_user_email": "deprecated@dontuse.me",
"opening_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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 | number | Total number of results | |
200 | X-Pagination-Limit | number | Number of results per page | |
200 | X-Pagination-Offset | number | 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/2021-10-28/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/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"closing_timestamp": "2020-11-12 09:52:20.051000+00:00",
"closing_user_email": "deprecated@dontuse.me",
"opening_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem.",
"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/2021-10-28/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/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor. Donec in feugiat nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis velit leo, porttitor eu fringilla eget, consequat sit amet nulla. Duis finibus velit eget erat posuere congue. Sed risus elit, scelerisque interdum fringilla a, pharetra vitae sem."
}
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/2021-10-28/work-orders/{work_order_uuid}/quotes', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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
[
{
"created": "2020-11-12 09:52:20.051000+00:00",
"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 |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of a resource |
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/2021-10-28/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/2021-10-28/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-01-19T08:10:58Z",
"approval_steps": [
{
"last_status": "approved",
"last_status_changed_on": "2023-01-19T08:10:58Z",
"step_number": 1
}
],
"created": "2023-01-19T08:10:58Z",
"is_approved_on_all_steps": true,
"items": [
{
"description": "string",
"is_materials": true,
"quantity": 0,
"tax_amount": 0,
"unit_price": 0,
"unit_type": "fixed_price"
}
],
"previous_submitted_quote_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"rejected_on": "2023-01-19T08:10:58Z",
"rejection_reason": "OTHER",
"rejection_reason_message": "string",
"status": "accepted",
"total_excluding_tax": 0,
"total_including_tax": 0,
"total_tax": 0,
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"work_order_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Quote 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 |
---|---|---|---|---|
accepted_on | string(date-time) | false | none | The acceptance date-time of quote |
approval_steps | [object] | false | none | none |
last_status | string | false | none | none |
last_status_changed_on | string(date-time) | false | none | none |
step_number | integer | false | none | none |
created | string(date-time) | false | none | The creation date-time of quote |
is_approved_on_all_steps | boolean | false | none | none |
items | [object] | false | none | none |
description | string | false | none | none |
is_materials | boolean | false | none | none |
quantity | number(float) | false | none | none |
tax_amount | number(float) | false | none | none |
unit_price | number(float) | false | none | none |
unit_type | string | false | none | The unit type of the Quote Item. |
previous_submitted_quote_uuid | string(uuid) | false | none | A UUID that references a resource. |
rejected_on | string(date-time) | false | none | The rejection date-time of quote |
rejection_reason | string | false | none | none |
rejection_reason_message | string | false | none | none |
status | string | false | none | The status of the Quote. |
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 | A UUID that references a resource. |
work_order_uuid | string(uuid) | false | none | A UUID that references a resource. |
Enumerated Values
Property | Value |
---|---|
unit_type | fixed_price |
unit_type | per_hour |
unit_type | per_day |
unit_type | per_item |
unit_type | per_sqft |
unit_type | per_sqmt |
unit_type | per_room |
unit_type | per_meter |
rejection_reason | OTHER |
rejection_reason | MORE_VARIATION_DETAILS_REQUIRED |
rejection_reason | VARIATION_TOO_EXPENSIVE |
rejection_reason | WORK_NOT_REQUIRED |
rejection_reason | BACK_TO_MARKET |
status | pending |
status | varied |
status | declined |
status | accepted |
status | superseded |
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 quote
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.patch('https://api.plentific.com/2021-10-28/work-orders/{work_order_uuid}/quotes/{quote_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/work-orders/{work_order_uuid}/quotes/{quote_uuid} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
PATCH /work-orders/{work_order_uuid}/quotes/{quote_uuid}
This endpoint allows you to update a quote
Body parameter
{
"rejection_reason": "OTHER",
"rejection_reason_message": "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. |
quote_uuid | path | string(uuid) | true | UUID of the quote. |
body | body | object | true | none |
rejection_reason | body | string | false | none |
rejection_reason_message | body | string | false | none |
status | body | string | true | none |
Enumerated Values
Parameter | Value |
---|---|
rejection_reason | OTHER |
rejection_reason | MORE_VARIATION_DETAILS_REQUIRED |
rejection_reason | VARIATION_TOO_EXPENSIVE |
rejection_reason | WORK_NOT_REQUIRED |
rejection_reason | BACK_TO_MARKET |
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 |
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 |
Bulk Operations
Asset information can be added to Plentific in bulk. You can bulk create or update asset entities, and get the status of your bulk import using the appropriate endpoint.
Update/create entities
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/bulk-import', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/bulk-import \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /bulk-import
This endpoint can be used to create or to update multiple entities with a single call.
Entities that can be updated are:
- Tenants
- Property Managers
- Landlords
- Properties
- Blocks
- Estates
Estates, Blocks and Properties can refer to Tenants, Landlords and Property Managers that are imported in the same payload.
This can be done using, instead of a UUID, the syntax (also called internal references):
#/tenants/LANDLORD_EXTERNAL_REFERENCE
#/landlords/LANDLORD_EXTERNAL_REFERENCE
#/property_managers/LANDLORD_EXTERNAL_REFERENCE
Internal references can be used for relations between estates, blocks and properties using the various fields: parent_estate and parent_block
On validation error, no data will be saved. The incorrect fields will be reported for each object in the same sequence as submitted.
Body parameter
{
"blocks": [
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "BA12345",
"landlords": [
"1964cd8b-c861-4a29-b701-c237a123fe8a",
"#/landlords/LA12345"
],
"name": "Block A",
"organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
"parent_estate_uuid": "#/estates/EA12345",
"postal_code": "SW1P 4RG",
"property_groups": [
"cb42b925-ec59-497c-a03d-9d3e1e458af1"
],
"property_managers": [
"3759dbb5-73ef-4b25-9896-d41a4c459fc3",
"#/property_managers/PA12345"
]
}
],
"estates": [
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "EA12345",
"landlords": [
"01987c90-6b0c-4686-ab0c-2424ff0105fb",
"#/landlords/LA12345"
],
"name": "Estate A",
"organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
"postal_code": "SW1P 4RG",
"property_groups": [
"cb42b925-ec59-497c-a03d-9d3e1e458af1"
],
"property_managers": [
"936e4694-0bae-4b79-9a7d-e6f75eebbe05",
"#/property_managers/PA12345"
]
}
],
"landlords": [
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"email": "hello@email.com",
"external_reference": "LA12345",
"first_name": "John",
"last_name": "Doe",
"organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
"phone_number": "+44123456",
"postcode": "SW1P 4RG",
"town": "London"
}
],
"properties": [
{
"address_line_1": "Millbank",
"address_line_2": "Westminster",
"address_zone": "London",
"city": "London",
"external_reference": "PA12345",
"landlords": [
"936449c6-f69b-4edf-afcb-abb008e936d1",
"#/landlords/LA98765"
],
"name": "Property A",
"organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
"parent_block_uuid": "#/blocks/BA12345",
"parent_estate_uuid": "#/estates/EA12345",
"postal_code": "SW1P 4RG",
"property_groups": [
"cb42b925-ec59-497c-a03d-9d3e1e458af1"
],
"property_managers": [
"f457eb34-7990-4f6d-b731-69de0cc226dd",
"#/property_managers/PA98765"
],
"tenants": [
"dd8410ff-b7fd-46be-8576-e5867de3aef1",
"#/tenants/TA98765"
]
}
],
"property_managers": [
{
"email": "neal.curtis@email.com",
"external_reference": "PA12345",
"first_name": "Neal",
"last_name": "Curtis",
"organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
"phone_number": "+44123456"
}
],
"tenants": [
{
"email": "emmanuel.allison@email.com",
"external_reference": "TA12345",
"first_name": "Emmanuel",
"last_name": "Allison",
"organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
"phone_number": "+44123456"
}
]
}
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 send a payload to our "bulk import" endpoint. |
blocks | body | [object] | false | none |
address_line_1 | body | string | true | 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 | true | The town or city of the resource. This field is not required for the UK region. |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
parent_estate_uuid | body | string | false | The estate's unique identifier (UUID) or internal reference. |
postal_code | body | string | true | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
estates | body | [object] | false | none |
address_line_1 | body | string | true | 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 | true | The town or city of the resource. This field is not required for the UK region. |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
postal_code | body | string | true | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
landlords | 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. |
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 |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
postcode | body | string | false | The postcode of the resource. |
town | body | string | false | The town or city of the resource. |
properties | body | [object] | false | none |
address_line_1 | body | string | true | 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 | true | The town or city of the resource. This field is not required for the UK region. |
external_reference | body | string¦null | true | The client-provided external reference of the resource. |
landlords | body | [string] | false | none |
metadata | body | object¦null | false | Field holding custom data in key-value pairs (max. 6). |
name | body | string | false | The name of the resource. |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
parent_block_uuid | body | string | false | The block's unique identifier (UUID) or internal reference. |
parent_estate_uuid | body | string | false | The estate's unique identifier (UUID) or internal reference. |
postal_code | body | string | true | The postal code of the resource. |
property_groups | body | [string] | false | A list of property groups applied to the property/estate/block. |
property_managers | body | [string] | false | none |
tenants | body | [string] | false | none |
property_managers | body | [object] | false | 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 |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
tenants | body | [object] | false | 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 |
organisation_uuid | body | string(uuid) | true | A UUID that identifies the Organisation of the entry. |
phone_number | body | string(telephone) | false | none |
Example responses
201 Response
{
"creation_date": "2023-01-19T08:10:58Z",
"import_uuid": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | The import identifier for the request | Inline |
400 | Bad Request | Validation error details for a bulk import | 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 |
409 | Conflict | Conflict | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creation_date | string(date-time) | false | none | none |
import_uuid | string(uuid) | false | none | none |
Status Code 400
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
blocks | [object] | false | none | none |
external_reference | [string] | false | none | none |
postcode | [string] | false | none | none |
estates | [object] | false | none | none |
external_reference | [string] | false | none | none |
postcode | [string] | false | none | none |
landlords | [object] | false | none | none |
external_reference | [string] | false | none | none |
last_name | [string] | false | none | none |
properties | [object] | false | none | none |
external_reference | [string] | false | none | none |
postcode | [string] | false | none | none |
property_managers | [object] | false | none | none |
external_reference | [string] | false | none | none |
tenants | [object] | false | none | none |
external_reference | [string] | 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 |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
Delete bulk import
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/bulk-import/{bulk_import_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/bulk-import/{bulk_import_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /bulk-import/{bulk_import_uuid}
This endpoint can be used to delete a bulk import which has already started using its UUID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
bulk_import_uuid | path | string(uuid) | true | UUID of the bulk import. |
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 |
Retrieve bulk import status
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/bulk-import/{bulk_import_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/bulk-import/{bulk_import_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
GET /bulk-import/{bulk_import_uuid}
This endpoint can be used to get the status of a bulk import which has already started using its UUID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
bulk_import_uuid | path | string(uuid) | true | UUID of the bulk import. |
Example responses
200 Response
{
"added_entities": [
{
"count": 100,
"entity_type": "property"
},
{
"count": 80,
"entity_type": "block"
}
],
"errors": [
{
"entity_type": "property",
"external_reference": "#/properties/P12345",
"message": "The element has not been found"
}
],
"excluded_entities": [
{
"count": 10,
"entity_type": "block"
}
],
"payload_size": 1234,
"processing_time": 1354,
"progress": 0.64,
"status": "failed",
"unchanged_entities": [
{
"count": 10,
"entity_type": "block"
}
],
"updated_entities": [
{
"count": 20,
"entity_type": "property"
}
],
"uploaded_entities": [
{
"count": 120,
"entity_type": "property"
},
{
"count": 100,
"entity_type": "block"
}
],
"uuid": "c39a8bea-adff-471f-b873-5a412ff9702a"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The import identifier for the request | 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 |
---|---|---|---|---|
added_entities | [object] | false | none | How many entities have been newly added to platform. |
count | number | false | none | Number of entities. |
entity_type | string | false | none | The type of the entity |
errors | [object] | false | none | none |
entity_type | string | false | none | The type of the missing resource |
external_reference | string | false | none | A reference of a resource (UUID or internal reference). |
message | string | false | none | An error message that describes the issue |
excluded_entities | [object] | false | none | How many entities have been discarded due to invalid data. |
count | number | false | none | Number of entities. |
entity_type | string | false | none | The type of the entity |
payload_size | number | false | none | Size of uploaded entities in bytes. |
processing_time | number | false | none | Current processing time in seconds. |
progress | number(float) | false | none | Percentage of imported entities as number between [0, 1]. |
status | string | false | none | none |
unchanged_entities | [object] | false | none | How many entities have stayed unchanged. |
count | number | false | none | Number of entities. |
entity_type | string | false | none | The type of the entity |
updated_entities | [object] | false | none | How many entities have been updated in platform. |
count | number | false | none | Number of entities. |
entity_type | string | false | none | The type of the entity |
uploaded_entities | [object] | false | none | How many entities have been uploaded. |
count | number | false | none | Number of entities. |
entity_type | string | false | none | The type of the entity |
uuid | string(uuid) | false | none | none |
Enumerated Values
Property | Value |
---|---|
entity_type | property_manager |
entity_type | landlord |
entity_type | tenant |
entity_type | property |
entity_type | block |
entity_type | estate |
entity_type | property_manager |
entity_type | landlord |
entity_type | tenant |
entity_type | property |
entity_type | block |
entity_type | estate |
entity_type | property_manager |
entity_type | landlord |
entity_type | tenant |
entity_type | property |
entity_type | block |
entity_type | estate |
status | new |
status | in_progress |
status | failed |
status | success |
entity_type | property_manager |
entity_type | landlord |
entity_type | tenant |
entity_type | property |
entity_type | block |
entity_type | estate |
entity_type | property_manager |
entity_type | landlord |
entity_type | tenant |
entity_type | property |
entity_type | block |
entity_type | estate |
entity_type | property_manager |
entity_type | landlord |
entity_type | tenant |
entity_type | property |
entity_type | block |
entity_type | estate |
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 |
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/2021-10-28/categories', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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/2021-10-28/categories/{category_uuid}/services', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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/2021-10-28/fault-categories', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 |
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/2021-10-28/services', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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. |
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 |
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/2021-10-28/invoices', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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. |
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
[
{
"created": "2023-01-19T08:10:58Z",
"due_date": "2023-01-19",
"external_reference": "EG1234",
"organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
"paid_on": "2023-01-19T08:10:58Z",
"property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
"service_date": "2023-01-19T08:10:58Z",
"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 |
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 | none |
due_date | string(date) | false | none | none |
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. |
paid_on | string(date-time) | false | none | The paid date-time of the invoice |
property_uuid | string | false | none | The property's unique identifier (UUID) or internal reference. |
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 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 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/2021-10-28/invoices/unpaid/bank-transfer-payment-details', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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/2021-10-28/invoices/{invoice_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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",
"created": "2020-02-28T01:41:58.538216Z",
"due_date": "2020-03-13",
"external_reference": "234567/1",
"id": "211706",
"invoice_type": "job_invoice",
"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",
"property_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 |
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 |
---|---|---|---|---|
account_code | number | false | none | none |
approval_completion_date | string(date-time) | false | none | none |
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 |
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. |
property_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 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 |
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/2021-10-28/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/2021-10-28/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/2021-10-28/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/2021-10-28/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/2021-10-28/invoices/{invoice_uuid}/pdf', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 |
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/2021-10-28/organisations', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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/2021-10-28/organisations/{organisation_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 |
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/2021-10-28/reports', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"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/2021-10-28/reports/{report_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"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/2021-10-28/reports/{report_uuid}/runs', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"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/2021-10-28/reports/{report_uuid}/runs', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"invoice_status_list": [
"paid"
],
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"property_groups": [
"58df3292-2767-44bb-80c6-285e8eb85c97"
],
"to_datetime": "2023-01-19T08:10:58Z"
},
"version": "842e7286-71bb-4fd1-a9e1-a7bd4a98664d"
}
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 | true | 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. |
organisations | body | [string] | true | Organisation UUIDs of report run. |
property_groups | body | [string] | false | Property Group UUIDs. |
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 | uuid of report type version that will be associated with this report (by default oldest version for this report type will be used) |
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-01-19T08:10:58Z",
"parameters": {
"from": "2020-09-26 07:00:00+00:00",
"invoice_status_list": [
"paid"
],
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"property_groups": [
"58df3292-2767-44bb-80c6-285e8eb85c97"
],
"to": "2020-09-26 12:00:00+00:00"
},
"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 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 |
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 | The JSON of parameters belonging to Report |
from | string(date-time) | false | none | Start date of Report. |
invoice_status_list | [string] | false | none | The invoice statuses of agent invoices, this field will be returned for only agent invoices report type. |
organisations | [string] | false | none | Organisation UUIDs of Report. |
property_groups | [string] | false | none | Property Group UUIDs. |
to | string(date-time) | false | none | End date of Report. |
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/2021-10-28/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/2021-10-28/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-01-19T08:10:58Z",
"parameters": {
"from": "2020-09-26 07:00:00+00:00",
"invoice_status_list": [
"paid"
],
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"property_groups": [
"58df3292-2767-44bb-80c6-285e8eb85c97"
],
"to": "2020-09-26 12:00:00+00:00"
},
"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 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 |
---|---|---|---|---|
created | string(date-time) | false | none | The creation date-time of report_run |
parameters | object | false | none | The JSON of parameters belonging to Report |
from | string(date-time) | false | none | Start date of Report. |
invoice_status_list | [string] | false | none | The invoice statuses of agent invoices, this field will be returned for only agent invoices report type. |
organisations | [string] | false | none | Organisation UUIDs of Report. |
property_groups | [string] | false | none | Property Group UUIDs. |
to | string(date-time) | false | none | End date of Report. |
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 |
---|---|---|---|---|
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/2021-10-28/account-codes', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor.",
"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/2021-10-28/account-codes', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor.",
"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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor.",
"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/2021-10-28/account-codes/{account_code_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/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/2021-10-28/account-codes/{account_code_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/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": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in semper felis, ac iaculis dui. Praesent lacinia eros massa, vel viverra nibh accumsan eu. Praesent a dapibus ligula. Duis pellentesque eros eu augue posuere congue. Proin magna sapien, tristique a sapien sed, posuere feugiat purus. Etiam convallis eleifend cursus. Nunc ligula neque, laoreet volutpat mauris ut, euismod imperdiet nisi. Sed nec tellus lorem. Nulla eu felis sit amet erat scelerisque sodales non non dolor.",
"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 |
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/2021-10-28/tags', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 | property |
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": "property",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tags 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 |
---|---|---|---|---|
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 | property |
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 |
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/2021-10-28/tags', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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": "property"
}
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 | property |
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 |
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 |
---|---|---|---|---|
201 | X-Api-Version | string | date | The date of version |
201 | X-Resource-Id | string | The ID (usually 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/2021-10-28/tags/{tag_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/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/2021-10-28/tags/{tag_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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": "property",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tag | 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 | property |
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/2021-10-28/tags/{tag_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X PATCH https://api.plentific.com/2021-10-28/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": "property"
}
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 | property |
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": "property",
"uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Tag | 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 | property |
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 |
Property Groups
List all property 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/2021-10-28/property-groups', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/property-groups \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'X-Pagination-Limit: 100' \
-H 'X-Pagination-Offset: 0'
GET /property-groups
This endpoint returns all property 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 | Property groups 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 | true | none | The name of the resource. |
uuid | string(uuid) | true | 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 property group
Code samples
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.post('https://api.plentific.com/2021-10-28/property-groups', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/property-groups \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
POST /property-groups
This endpoint creates a new property 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 | Property Group 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 |
---|---|---|---|---|
name | string | true | none | The name of the resource. |
uuid | string(uuid) | true | 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 property group
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.delete('https://api.plentific.com/2021-10-28/property-groups/{property_group_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/property-groups/{property_group_uuid} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>'
DELETE /property-groups/{property_group_uuid}
This endpoint deletes a property group's data from the client's account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | Authorization header |
property_group_uuid | path | string(uuid) | true | UUID of the Property 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 |
Files
Upload a file
Code samples
curl --request POST \
--url https://api.plentific.com/2021-10-28/files \
-H 'Content-Type: image/jpeg' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'X-Plentific-File: {"name": "report.pdf"}' \
--data-binary @/Downloads/report.pdf
import requests
headers = {
'Content-Type': 'application/pdf',
'Accept': 'application/json',
'Authorization': 'string',
'X-Plentific-File': '{"name": "report.pdf"}',
}
with open("/Downloads/report.pdf", "rb") as f:
r = requests.post(
'https://api.plentific.com/2021-10-28/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 | This is the body that can be used to obtain a new token. |
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 | X-Api-Version | string | date | The date of version |
201 | X-Resource-Id | string | The ID (usually UUID) of the newly created element |
Retrieve file details
Code samples
curl -X GET https://api.plentific.com/2021-10-28/files/{file_uuid} \
--header 'authorization: string' \
--output report.jpg
import requests
headers = {
'Authorization': 'string',
}
r = requests.get(
'https://api.plentific.com/2021-10-28/files', headers=headers
)
r.raise_for_status()
with open("./report.pdf", "wb") as f:
f.write(r.content)
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 |
Webhook Subscriptions
Plentific uses webhooks to provide notifications of changes within the platform. You can use them as the trigger to start workflows elsewhere, keeping your data in sync between systems.
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/2021-10-28/webhooks/subscriptions', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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/2021-10-28/webhooks/subscriptions', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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 | invoice.* |
matching_events | invoice.approved |
matching_events | invoice.cancelled |
matching_events | invoice.overdue |
matching_events | invoice.paid |
matching_events | invoice.received |
matching_events | outstanding_issue.* |
matching_events | outstanding_issue.closed |
matching_events | outstanding_issue.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 |
matching_events | repair_report.* |
matching_events | repair_report.created |
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/2021-10-28/webhooks/subscriptions/{subscription_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X DELETE https://api.plentific.com/2021-10-28/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/2021-10-28/webhooks/subscriptions/{subscription_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 |
Webhook Events
Plentific uses webhooks to provide notifications of changes within the platform. You can use this group of endpoints to list all available events and associated webhook subscriptions.
List all Webhook Events
Code samples
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <access_token>'
}
r = requests.get('https://api.plentific.com/2021-10-28/webhooks/events', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 |
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/2021-10-28/roles', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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 |
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/2021-10-28/users', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"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/2021-10-28/users', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X POST https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"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/2021-10-28/users/{user_uuid}', params={
}, headers = headers)
print r.json()
# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/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-01-19T08:10:58Z",
"email": "hello@email.com",
"first_name": "John",
"last_name": "Doe",
"organisations": [
"49df3292-2767-44bb-80c5-285e8eb85c97"
],
"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 |