NAV Navbar
Python curl

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

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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

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 an estate

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve estate details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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"
  ],
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ]
}

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.
tenants [string] false none none

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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

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 block

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve block details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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

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.

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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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

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 property

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve property details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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

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

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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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.
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
email 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': 'string'
}

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: string'

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

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 tenant

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve tenant details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
email 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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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.
email 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': 'string'
}

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: string'

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

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 landlord

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve landlord details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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 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
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
email 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': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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
email 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': 'string'
}

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: string'

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

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 property manager

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve property manager details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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 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 Property Manager

Name Type Required Restrictions Description
blocks [string] false none none
email 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': 'string'
}

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: string'

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
email 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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Work Orders

Work Orders can be raised in Plentific, using the 'service_uuid' to post the works out for quotes from tradesmen with the correct skillset. The Get Service Details endpoint will return the list of Plentific 'service_uuids'.

List all work orders

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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": "2022-09-20T13:16:04Z",
    "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 B2C
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': 'string'
}

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: string'

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": "tenant"
    }
  ],
  "created_by": "johndoe@test.com",
  "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"
  ]
}

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.
email 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 Pro.
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.
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.

Enumerated Values

Parameter Value
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

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": "2022-09-20T13:16:04Z",
  "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": "2022-09-20T13:16:04Z",
      "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 B2C
work_order_type MARKETPLACE

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
201 X-Api-Version string date The date of version

Retrieve work order details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
  "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": "2022-09-20T13:16:04Z",
      "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 B2C
work_order_type MARKETPLACE

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
200 X-Api-Version string date The date of version

Update a work order

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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",
  "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.
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
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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

List all work order appointed contractors

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
  "end_datetime": "2022-09-20T13:16:04Z",
  "start_datetime": "2022-09-20T13:16:04Z",
  "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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
  "declined_on": "2022-09-20T13:16:04Z",
  "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": "2022-09-20T13:16:04Z"
}

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': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

List all faults

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve fault details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
  "approval_steps": [
    {
      "last_status": "approved",
      "last_status_changed_on": "2022-09-20T13:16:04Z",
      "step_number": 1
    }
  ],
  "created": "2022-09-20T13:16:04Z",
  "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": "2022-09-20T13:16:04Z",
  "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 acception 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': 'string'
}

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: string'

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': 'string'
}

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: string'

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:

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.
email 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
email 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
email 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": "2022-09-20T13:16:04Z",
  "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': 'string'
}

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: string'

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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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 Category detail 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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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 Service detail 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': 'string'
}

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: string'

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.

Enumerated Values

Parameter Value
status paid
status overdue
status outstanding

Example responses

200 Response

[
  {
    "created": "2022-09-20T13:16:04Z",
    "due_date": "2022-09-20",
    "external_reference": "EG1234",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
    "paid_on": "2022-09-20T13:16:04Z",
    "property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "service_date": "2022-09-20T13:16:04Z",
    "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

Retrieve invoice details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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",
  "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
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 as PDF

Code samples

import requests
headers = {
  'Accept': 'application/pdf',
  'Authorization': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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": "2022-09-20T13:16:04Z",
        "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': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
      "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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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": "2022-09-20T13:16:04Z",
    "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': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
    "invoice_status_list": [
      "paid"
    ],
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ],
    "property_groups": [
      "58df3292-2767-44bb-80c6-285e8eb85c97"
    ],
    "to_datetime": "2022-09-20T13:16:04Z"
  },
  "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": "2022-09-20T13:16:04Z",
  "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': 'string'
}

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: string'

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": "2022-09-20T13:16:04Z",
  "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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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 Code 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': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Update an account code

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element
409 X-Api-Version string date The date of version

Tags

List all tags

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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': 'string'
}

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: string'

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
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Retrieve tag details

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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': 'string'
}

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: string'

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': 'string',
  'X-Pagination-Limit': '0',
  '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: string' \
  -H 'X-Pagination-Limit: 0' \
  -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': 'string'
}

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: string'

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 false none The name of the resource.
uuid string(uuid) false none A UUID that references a resource.

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
201 X-Api-Version string date The date of version

Delete a property group

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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': 'string'
}

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: string'

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

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': 'string'
}

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: string'

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 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.published

Example responses

201 Response

{
  "alerts_enabled": true,
  "endpoint_url": "http://example.com",
  "endpoint_version": "v3",
  "is_enabled": true,
  "matching_events": [
    "*"
  ],
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}

Responses

Status Meaning Description Schema
201 Created Webhook Subscription Inline
400 Bad Request Validation error details Inline
401 Unauthorized Authorisation error details Inline
403 Forbidden Authorisation error details Inline
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 201

Name Type Required Restrictions Description
alerts_enabled boolean false none none
endpoint_url string(uri) false none none
endpoint_version string false none The version of payload schema that will be sent to webhook endpoint_url.
is_enabled boolean false none none
matching_events [string] false none none
uuid string(uuid) false none A UUID that references a resource.

Enumerated Values

Property Value
endpoint_version v1
endpoint_version v2
endpoint_version v3

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
201 X-Api-Version string date The date of version

Delete a webhook subscription

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

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: string'

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': 'string'
}

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: string'

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': 'string'
}

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: string'

GET /webhooks/events

This endpoint returns all the available webhook events

Parameters

Name In Type Required Description
Authorization header string true none

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

Contractors

Retrieve details of a contractor

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string'
}

r = requests.get('https://api.plentific.com/2021-10-28/contractors/{contractor_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET https://api.plentific.com/2021-10-28/contractors/{contractor_uuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

GET /contractors/{contractor_uuid}

This endpoint returns the details of a particular contractor

Parameters

Name In Type Required Description
Authorization header string true Authorization header
contractor_uuid path string(uuid) true UUID of the contractor.

Example responses

200 Response

{
  "address": {
    "address_line_1": "Millbank",
    "address_line_2": "Westminster",
    "address_zone": "London",
    "city": "London",
    "country": "GB",
    "postal_code": "SW1P 4RG"
  },
  "company_registration_number": "206198",
  "company_type": "Limited Liability Partnership (LLP)",
  "name": "Custom resource name",
  "tax_number": "268371123",
  "trade_categories": [
    "550b4495-80c9-4ef3-8b34-2b5bd802dc9d",
    "9be2d512-f7ee-49f5-984c-e8dba260f4cf"
  ],
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "vat_number": "DE268371123"
}

Responses

Status Meaning Description Schema
200 OK Contractor's details Inline
400 Bad Request Validation error details Inline
401 Unauthorized Authorisation error details Inline
403 Forbidden Authorisation error details Inline
404 Not Found Resource Not Found None
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

Contractor

Name Type Required Restrictions Description
address object false none none
address_line_1 string false none The first address line of the resource.
address_line_2 string¦null false none The second address line of the resource.
address_zone string false none The address zone of the resource.
city string false none The town or city of the resource. This field is not required for the UK region.
country string false none The country of the resource
postal_code string false none The postal code of the resource.
company_registration_number string false none Registration number of the contractor.
company_type string false none The type of company
name string false none The name of the resource.
tax_number string¦null false none DE-Tax number used by German contractors.
trade_categories [string] false none The list of Categories (UUIDs) handled by the contractor
uuid string(uuid) false none A UUID that references contractor
vat_number string¦null false none EU-VAT number of a contractor

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
200 X-Api-Version string date The date of version

Schemas

AccountCodeDuplicateResponseBody

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

AccountCodeRequestBody

{
  "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"
  ]
}

Properties

Name Type Required Restrictions Description
code string true none The account code.
description string true none This is the account code description given in Plentific.
organisations [string] true none A list of Organisations uuids using this Account Code.

AccountCodeResponse

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

Properties

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.

AccountCodesResponse

[
  {
    "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"
  }
]

Properties

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.

AuthorisationErrorResponseBody

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

Block

{
  "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": "#/estates/EA12345",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "property_groups": [
    "cb42b925-ec59-497c-a03d-9d3e1e458af1"
  ],
  "property_managers": [
    "3759dbb5-73ef-4b25-9896-d41a4c459fc3",
    "#/property_managers/PA12345"
  ]
}

Properties

Name Type Required Restrictions Description
address_line_1 string true 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 true 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 string false none The estate's unique identifier (UUID) or internal reference.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
property_groups [string] false none A list of property groups applied to the property/estate/block.
property_managers [string] false none none
town string false none This field is deprecated. Use the city parameter instead.

BlockBrief

{
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ],
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}

Properties

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 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).

BlocksCollectionResponseBody

[
  {
    "external_reference": "EG1234",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
    "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
    "property_groups": [
      "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
      "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
    ],
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  }
]

Properties

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 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).

BookingDetailedResponseBody

{
  "cancelling_reason": "string",
  "cancelling_reason_message": "string",
  "created": "2022-09-20T13:16:04Z",
  "end_datetime": "2022-09-20T13:16:04Z",
  "start_datetime": "2022-09-20T13:16:04Z",
  "status": "attended"
}

Properties

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

BulkImportRequestBody

{
  "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": "#/estates/EA12345",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "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",
      "postcode": "deprecated",
      "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": "#/blocks/BA12345",
      "parent_estate": "#/estates/EA12345",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "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"
    }
  ]
}

Properties

Name Type Required Restrictions Description
blocks [object] false none none
address_line_1 string true 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 true 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 string false none The estate's unique identifier (UUID) or internal reference.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
property_groups [string] false none A list of property groups applied to the property/estate/block.
property_managers [string] false none none
town string false none This field is deprecated. Use the city parameter instead.
estates [object] false none none
address_line_1 string true 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 true 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.
postcode string false none This field is deprecated. Use the postal_code field instead.
property_groups [string] false none A list of property groups applied to the property/estate/block.
property_managers [string] false none none
town string false none This field is deprecated. Use the city parameter instead.
landlords [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.
email string(email) false none none
external_reference string¦null true none The client-provided external reference of the resource.
first_name string false none none
last_name string false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
phone_number string(telephone) false none none
postcode string false none The postcode of the resource.
town string false none The town or city of the resource.
properties [object] false none none
address_line_1 string true 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 true 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 string false none The block's unique identifier (UUID) or internal reference.
parent_estate string false none The estate's unique identifier (UUID) or internal reference.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
property_groups [string] false none A list of property groups applied to the property/estate/block.
property_managers [string] false none none
tenants [string] false none none
town string false none This field is deprecated. Use the city parameter instead.
property_managers [object] false none none
email string(email) false none none
external_reference string¦null true none The client-provided external reference of the resource.
first_name string false none none
last_name string false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
phone_number string(telephone) false none none
tenants [object] false none none
email string(email) false none none
external_reference string¦null true none The client-provided external reference of the resource.
first_name string false none none
last_name string false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
phone_number string(telephone) false none none

BulkImportResponseBody

{
  "creation_date": "2022-09-20T13:16:04Z",
  "import_uuid": "string"
}

Properties

Name Type Required Restrictions Description
creation_date string(date-time) false none none
import_uuid string(uuid) false none none

BulkImportStatusResponseBody

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

Properties

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

BulkImportValidationErrorResponseBody

{
  "blocks": [
    {
      "external_reference": [
        "This field is required."
      ],
      "postcode": [
        "This field is required."
      ]
    }
  ],
  "estates": [
    {
      "external_reference": [
        "This field is required."
      ],
      "postcode": [
        "This field is required."
      ]
    }
  ],
  "landlords": [
    {
      "external_reference": [
        "This field is required."
      ],
      "last_name": [
        "This field is required."
      ]
    }
  ],
  "properties": [
    {
      "external_reference": [
        "This field is required."
      ],
      "postcode": [
        "This field is required."
      ]
    }
  ],
  "property_managers": [
    {
      "external_reference": [
        "This field is required."
      ]
    }
  ],
  "tenants": [
    {
      "external_reference": [
        "This field is required."
      ]
    }
  ]
}

Properties

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

CategoriesResponseBody

[
  {
    "deactivated": false,
    "name": "Home Security Specialist",
    "slug": "home-security-specialist",
    "url": "/home-security-specialist/",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  }
]

Properties

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.

CompletionReportDetailedResponseBody

{
  "additional_information": "string",
  "additional_information_attachments": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "created": "2022-09-20T13:16:04Z",
  "declined_on": "2022-09-20T13:16:04Z",
  "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": "2022-09-20T13:16:04Z"
}

Properties

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

CursorBasedPaginatorObject

{
  "next": "string",
  "prev": "string"
}

Properties

Name Type Required Restrictions Description
next string(url)¦null false none This is the URL to go to the next page (if any) when accessing a paginated endpoint
prev string(url)¦null false none This is the URL to go to the previous page (if any) when accessing a paginated endpoint

EntityStats

[
  {
    "count": 120,
    "entity_type": "property"
  }
]

Properties

Name Type Required Restrictions Description
count number false none Number of entities.
entity_type string false none The type of the entity

Enumerated Values

Property Value
entity_type property_manager
entity_type landlord
entity_type tenant
entity_type property
entity_type block
entity_type estate

EntityStatsItem

{
  "count": 120,
  "entity_type": "property"
}

Properties

Name Type Required Restrictions Description
count number false none Number of entities.
entity_type string false none The type of the entity

Enumerated Values

Property Value
entity_type property_manager
entity_type landlord
entity_type tenant
entity_type property
entity_type block
entity_type estate

Estate

{
  "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",
  "postcode": "deprecated",
  "property_groups": [
    "cb42b925-ec59-497c-a03d-9d3e1e458af1"
  ],
  "property_managers": [
    "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
    "#/property_managers/PA12345"
  ]
}

Properties

Name Type Required Restrictions Description
address_line_1 string true 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 true 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.
postcode string false none This field is deprecated. Use the postal_code field instead.
property_groups [string] false none A list of property groups applied to the property/estate/block.
property_managers [string] false none none
town string false none This field is deprecated. Use the city parameter instead.

EstateBrief

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

Properties

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).

EstatesCollectionResponseBody

[
  {
    "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"
  }
]

Properties

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).

FailedDependencyErrorResponseBody

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

FaultCategoriesResponseBody

[
  {
    "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"
  }
]

Properties

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.

InvoiceResponseBody

{
  "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",
  "items": [
    {
      "amount_including_tax": 150,
      "description": "We do 2 inspections once a week.",
      "quantity": 1,
      "type": "LABOUR",
      "unit_price": 150,
      "vat": 0
    }
  ],
  "job_address": {
    "address": {
      "address_line_1": "72 Strattondale Street",
      "address_line_2": "London",
      "city": "London",
      "country": "UK",
      "postal_code": "E14 3LR"
    },
    "external_reference": "67895422/1",
    "uuid": "4f69c0c7-d288-49e7-8ccb-cfc3ffc3927d"
  },
  "outstanding_amount": 0,
  "paid_on": "2020-03-12T11:06:13.178151Z",
  "pdf_url": "/invoices/967fb16f-0273-45bb-9cce-45ef747526cf/pdf",
  "recipient": {
    "beneficiary": {
      "address": {
        "address_line_1": "8 Plevna Street",
        "address_line_2": "",
        "city": "London",
        "country": "UK",
        "postal_code": "E14 3LP"
      },
      "name": "Pfeffer LLC"
    },
    "billing_address": {
      "address": {
        "address_line_1": "8 Plevna Street",
        "address_line_2": null,
        "city": "London",
        "country": "UK",
        "postal_code": "E14 3LP"
      },
      "name": "Pfeffer LLC",
      "uuid": "2d238e20-d195-45a6-9a69-740b88404d10"
    }
  },
  "sender": {
    "address": {
      "address_line_1": null,
      "address_line_2": null,
      "city": null,
      "postal_code": null
    },
    "companies_registration_number": 42798,
    "contractor_wallet_id": "567483",
    "name": "Boyer and Sons",
    "vat_number": null
  },
  "service_date": "2020-02-26T12:00:00Z",
  "status": "paid",
  "tax_withheld": 16.5,
  "total_excl_vat": 55,
  "total_incl_vat": 66,
  "total_only_vat": 11,
  "uuid": "967fb16f-0273-45bb-9cce-45ef747526cf",
  "work_order": {
    "external_reference": "12341234/1",
    "uuid": "131f86c8-4427-4579-8b63-b1c2f540d0a2"
  }
}

Properties

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.
items [object] false none none
amount_including_tax number(float) false none none
description 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.
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.
uuid string(uuid) false none none
outstanding_amount number(float) false none none
paid_on string(date-time)¦null false none none
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.
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 n