NAV Navbar
Python curl

Plentific Public API v1.0.0

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

The base API URL is https://api.plentific.com.

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('/token', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /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

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('/estates', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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
postcode query string false This parameter is deprecated. Use the postal_code parameter instead.
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": "EA12345",
    "uuid": "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
    "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
  }
]

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 false none The client-provided external reference of the resource.
uuid string(uuid) false none Estate unique identifier (UUID).
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.

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

Create an estate

Code samples

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

r = requests.post('/estates', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /estates \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /estates

This endpoint creates a new estate asset

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postcode": "deprecated",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
name
body string(string) false The name of the resource.
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.
city
body string true The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
postal_code
body string true The postal code of the resource.
landlords
body [string] false none
property_managers
body [string] false none
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'property' applied to the property/estate/block.
property_groups
body [string] false A list of property groups 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 Location string The location of the new created element
201 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('/estates/{estate_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
estate_uuid path string(uuid) true UUID of the estate.

Example responses

200 Response

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "external_reference": "EG1234",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

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
name string(string) false none The name of the resource.
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.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
parent_estate string(uuid) false none The parent estate of the block.
external_reference string true none The client-provided external reference of the resource.
tenants [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups 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

Update an estate

Code samples

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

r = requests.patch('/estates/{estate_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
estate_uuid path string(uuid) true UUID of the estate.
body body object true none
name
body string(string) false The name of the resource.
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.
city
body string false The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string false The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
landlords
body [string] false none
property_managers
body [string] false none
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'property' applied to the property/estate/block.
property_groups
body [string] false A list of property groups applied to the property/estate/block.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 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('/estates/{estate_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

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 proprties. 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('/blocks', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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
postcode query string false This parameter is deprecated. Use the postal_code parameter instead.
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

[
  {
    "uuid": "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
    "external_reference": "EA12345",
    "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
    "parent_estate": "07db84e0-4f8f-4c76-938f-817d3258dd9d"
  }
]

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
uuid string(uuid) false none Block unique identifier (UUID).
external_reference string 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.

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

Create a block

Code samples

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

r = requests.post('/blocks', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /blocks \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /blocks

This endpoint creates a new block asset

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "external_reference": "EG1234",
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
name
body string(string) false The name of the resource.
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.
city
body string true The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string true The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
landlords
body [string] false none
property_managers
body [string] false none
external_reference
body string true The client-provided external reference of the resource.
parent_estate
body string(uuid) false The parent estate of the block.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'property' applied to the property/estate/block.
property_groups
body [string] false A list of property groups 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 Location string The location of the new created element
201 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('/blocks/{block_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
block_uuid path string(uuid) true UUID of the block.

Example responses

200 Response

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

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
name string(string) false none The name of the resource.
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.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
parent_estate string(uuid) false none The parent estate of the block.
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups 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

Update a block

Code samples

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

r = requests.patch('/blocks/{block_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
block_uuid path string(uuid) true UUID of the block.
body body object true none
name
body string(string) false The name of the resource.
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.
city
body string false The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string false The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
landlords
body [string] false none
property_managers
body [string] false none
parent_estate
body string(uuid) false The parent estate of the block.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'property' applied to the property/estate/block.
property_groups
body [string] false A list of property groups applied to the property/estate/block.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 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('/blocks/{block_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

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('/properties', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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
postcode query string false This parameter is deprecated. Use the postal_code parameter instead.
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

[
  {
    "uuid": "25f46b98-5bb4-46d8-9cc0-8d7f923b1b89",
    "external_reference": "PA12345",
    "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
    "parent_estate": "07db84e0-4f8f-4c76-938f-817d3258dd9d",
    "parent_block": "116dd512-91c9-472c-86bc-1cbf5d0c5bae"
  }
]

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
uuid string(uuid) false none Property unique identifier (UUID).
external_reference string 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.
parent_block string(uuid) false none The parent block of the property.
property_groups [string] false none A list of property groups 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-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

Create a property

Code samples

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

r = requests.post('/properties', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /properties \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /properties

This endpoint creates a new property asset

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "external_reference": "EG1234",
  "parent_block": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
name
body string(string) false The name of the resource.
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.
city
body string true The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string true The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
landlords
body [string] false none
property_managers
body [string] false none
external_reference
body string true The client-provided external reference of the resource.
parent_block
body string(uuid) false The parent block of the property.
tenants
body [string] false none
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'property' applied to the property/estate/block.
property_groups
body [string] false A list of property groups 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 Location string The location of the new created element
201 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('/properties/{property_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
property_uuid path string(uuid) true UUID of the property.

Example responses

200 Response

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_block": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "external_reference": "EG1234",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

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
name string(string) false none The name of the resource.
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.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
parent_block string(uuid) false none The parent block of the property.
external_reference string true none The client-provided external reference of the resource.
tenants [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups 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

Update a property

Code samples

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

r = requests.patch('/properties/{property_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_block": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
property_uuid path string(uuid) true UUID of the property.
body body object true none
name
body string(string) false The name of the resource.
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.
city
body string false The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string false The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
landlords
body [string] false none
property_managers
body [string] false none
parent_block
body string(uuid) false The parent block of the property.
tenants
body [string] false none
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'property' applied to the property/estate/block.
property_groups
body [string] false A list of property groups applied to the property/estate/block.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 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('/properties/{property_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

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('/tenants', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "+441234567890",
    "email": "hello@email.com",
    "external_reference": "EG1234",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "property": "15791638-f098-49ca-b1a6-40da5bc47255",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
  }
]

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
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none A UUID that references a resource.
property string false none The property's unique identifier (UUID) or internal reference.
organisation_uuid string(uuid) false none A UUID that identifies the Organisation of the entry.

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

Create a tenant

Code samples

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

r = requests.post('/tenants', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /tenants \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /tenants

This endpoint creates a new tenant

Body parameter

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "property": "15791638-f098-49ca-b1a6-40da5bc47255",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
first_name
body string false none
last_name
body string false none
phone_number
body string(telephone) false none
email
body string(email) false none
external_reference
body string true The client-provided external reference of the resource.
property
body string true The property's unique identifier (UUID) or internal reference.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.

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 Location string The location of the new created element
201 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('/tenants/{tenant_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
tenant_uuid path string(uuid) true UUID of the tenant.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 X-Resource-Id string The ID (usually UUID) of the newly created element

Update a tenant

Code samples

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

r = requests.patch('/tenants/{tenant_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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 none
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 false The client-provided external reference of the resource.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 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('/tenants/{tenant_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

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('/landlords', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 registered in the client's account

Parameters

Name In Type Required Description
Authorization header string true none
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

[
  {
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "+441234567890",
    "email": "hello@email.com",
    "estates": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "blocks": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "properties": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "external_reference": "EG1234",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
  }
]

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
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none A UUID that references a resource.
organisation_uuid string(uuid) false none A UUID that identifies the Organisation of the entry.

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

Create a landlord

Code samples

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

r = requests.post('/landlords', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /landlords \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /landlords

This endpoint creates a new landlord

Body parameter

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
first_name
body string false none
last_name
body string false none
phone_number
body string(telephone) false none
email
body string(email) false none
external_reference
body string true The client-provided external reference of the resource.
estates
body [string] false none
properties
body [string] false none
blocks
body [string] false none
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.

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 Location string The location of the new created element
201 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('/landlords/{landlord_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
landlord_uuid path string(uuid) true UUID of the landlord.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 X-Resource-Id string The ID (usually UUID) of the newly created element

Update a landlord

Code samples

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

r = requests.patch('/landlords/{landlord_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Parameters

Name In Type Required Description
Authorization header string true none
landlord_uuid path string(uuid) true UUID of the landlord.
body body object true none
first_name
body string false none
last_name
body string false none
phone_number
body string(telephone) false none
estates
body [string] false none
blocks
body [string] false none
properties
body [string] false none
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.

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 Location string The location of the new created element
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('/landlords/{landlord_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
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('/managers', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "first_name": "John",
    "last_name": "Doe",
    "email": "hello@email.com",
    "phone_number": "+441234567890",
    "estates": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "blocks": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "properties": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "external_reference": "EG1234",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
  }
]

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
first_name string false none none
last_name string false none none
email string(email) false none none
phone_number string(telephone) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
uuid string(uuid) false none A UUID that references a resource.
external_reference string 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.

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

Create a property manager

Code samples

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

r = requests.post('/managers', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /managers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /managers

This endpoint creates a new property manager

Body parameter

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
first_name
body string true none
last_name
body string true none
phone_number
body string(telephone) true none
email
body string(email) true none
external_reference
body string true The client-provided external reference of the resource.
estates
body [string] false none
properties
body [string] false none
blocks
body [string] false none
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.

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 Location string The location of the new created element
201 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('/managers/{manager_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
manager_uuid path string(uuid) true UUID of the property manager.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 X-Resource-Id string The ID (usually UUID) of the newly created element

Update a property manager

Code samples

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

r = requests.patch('/managers/{manager_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "first_name": "John",
  "last_name": "Doe",
  "email": "hello@email.com",
  "phone_number": "+441234567890",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Parameters

Name In Type Required Description
Authorization header string true none
manager_uuid path string(uuid) true UUID of the property manager.
body body object true none
first_name
body string false none
last_name
body string false none
email
body string(email) false none
phone_number
body string(telephone) false none
estates
body [string] false none
properties
body [string] false none
blocks
body [string] false none
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 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('/managers/{manager_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
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('/work-orders', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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.
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

{
  "property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "is_emergency": true
}

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
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

The Work Order

Name Type Required Restrictions Description
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.
created string(date-time) false none none
status string false none none
external_reference string 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.
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.
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
is_emergency boolean false none If this is an emergency work order this flag will be set.

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

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

Create a work order

Code samples

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

r = requests.post('/work-orders', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /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

{
  "property": {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "external_reference": "EG1234"
  },
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "faults": [
    {
      "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
      "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.",
      "attachments": [
        "e75665c2-9f6e-4017-8596-ed13db0c8851",
        "f9219b92-e00d-4357-84df-e274737eb06e"
      ]
    }
  ],
  "created_by": "johndoe@test.com",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": false,
  "is_emergency": true,
  "booking_preferences": {
    "calendar_events": [
      {
        "from_datetime": "2020-09-26T07:00:00.000Z",
        "to_datetime": "2020-09-26T12:00:00.000Z"
      }
    ],
    "info": "Please avoid 3-4pm school run."
  },
  "contacts": [
    {
      "role": "tenant",
      "first_name": "John",
      "last_name": "Doe",
      "phone_number": "+441234567890",
      "email": "hello@email.com",
      "external_reference": "EG1234",
      "is_private": true
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true This is the body that can be used to create a new work order.
property
body object true We expect client will send us either UUID or external reference for the property.
uuid
body string(uuid) false A UUID that references a resource.
external_reference
body string false The client-provided external reference of the resource.
external_reference
body string false The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
account_code
body string true The account code.
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.
faults
body [object] true none
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.
description
body string(string) true This is the detailed explanation of the work order. We expect a concatenated text from your systems.
attachments
body [string] false 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.
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_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_emergency
body boolean false If this is an emergency work order this flag will be set.
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.
contacts
body [object] false Tenant/Nominated contacts designated for the work order.
role
body string true none
first_name
body string true none
last_name
body string true none
phone_number
body string(telephone) true none
email
body string(email) false none
external_reference
body string true The client-provided external reference of the resource.
is_private
body boolean false If contact information should be private or shared with the Pro.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'enquiry' applied to the work order.

Enumerated Values

Parameter Value
role tenant
role other_contact

Example responses

201 Response

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "contractor": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ],
  "faults": [
    {
      "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
      "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.",
      "attachments": [
        "e75665c2-9f6e-4017-8596-ed13db0c8851",
        "f9219b92-e00d-4357-84df-e274737eb06e"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
201 Created Work Order details Inline
400 Bad Request Validation error details Inline
401 Unauthorized Authorisation error details Inline
403 Forbidden Authorisation error details Inline
409 Conflict Conflict None
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 201

The Work Order

Name Type Required Restrictions Description
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
contractor [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.
faults [object] false none none
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.
description string(string) true none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
attachments [string] false none none

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Retrieve work order details

Code samples

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

r = requests.get('/work-orders/{work_order_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
work_order_uuid path string(uuid) true UUID of the work order.

Example responses

200 Response

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "contractor": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ],
  "faults": [
    {
      "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
      "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.",
      "attachments": [
        "e75665c2-9f6e-4017-8596-ed13db0c8851",
        "f9219b92-e00d-4357-84df-e274737eb06e"
      ]
    }
  ]
}

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
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
contractor [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.
faults [object] false none none
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.
description string(string) true none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
attachments [string] false none none

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Update a work order

Code samples

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

r = requests.patch('/work-orders/{work_order_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "status": "job_leads_sent",
  "contractor_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}

Parameters

Name In Type Required Description
Authorization header string true none
work_order_uuid path string(uuid) true UUID of the work order.
body body object true none
status
body string true none
contractor_uuid
body string(uuid) false A UUID that references a resource.

Enumerated Values

Parameter Value
status job_leads_sent

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 Location string The location of the new created element
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('/work-orders/{work_order_uuid}/appointed-contractors', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "name": "Custom resource name"
}

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

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.put('/bulk-import', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PUT /bulk-import \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

PUT /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

{
  "estates": [
    {
      "name": "Estate A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "external_reference": "EA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
      "landlords": [
        "01987c90-6b0c-4686-ab0c-2424ff0105fb",
        "#/landlords/LA12345"
      ],
      "property_managers": [
        "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
        "#/property_managers/PA12345"
      ],
      "property_groups": [
        "cb42b925-ec59-497c-a03d-9d3e1e458af1"
      ]
    }
  ],
  "blocks": [
    {
      "name": "Block A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "external_reference": "BA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
      "parent_estate": "#/estates/EA12345",
      "landlords": [
        "1964cd8b-c861-4a29-b701-c237a123fe8a",
        "#/landlords/LA12345"
      ],
      "property_managers": [
        "3759dbb5-73ef-4b25-9896-d41a4c459fc3",
        "#/property_managers/PA12345"
      ],
      "property_groups": [
        "cb42b925-ec59-497c-a03d-9d3e1e458af1"
      ]
    }
  ],
  "properties": [
    {
      "name": "Property A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "external_reference": "PA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
      "parent_estate": "#/estates/EA12345",
      "parent_block": "#/blocks/BA12345",
      "landlords": [
        "936449c6-f69b-4edf-afcb-abb008e936d1",
        "#/landlords/LA98765"
      ],
      "property_managers": [
        "f457eb34-7990-4f6d-b731-69de0cc226dd",
        "#/property_managers/PA98765"
      ],
      "tenants": [
        "dd8410ff-b7fd-46be-8576-e5867de3aef1",
        "#/tenants/TA98765"
      ],
      "property_groups": [
        "cb42b925-ec59-497c-a03d-9d3e1e458af1"
      ]
    }
  ],
  "landlords": [
    {
      "first_name": "John",
      "last_name": "Doe",
      "phone_number": "+44123456",
      "email": "hello@email.com",
      "external_reference": "LA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
    }
  ],
  "property_managers": [
    {
      "first_name": "Neal",
      "last_name": "Curtis",
      "phone_number": "+44123456",
      "email": "neal.curtis@email.com",
      "external_reference": "PA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
    }
  ],
  "tenants": [
    {
      "first_name": "Emmanuel",
      "last_name": "Allison",
      "phone_number": "+44123456",
      "email": "emmanuel.allison@email.com",
      "external_reference": "TA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
    }
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true This is the body that can be used to send a payload to our "bulk import" endpoint.
estates
body [object] false none
name
body string(string) false The name of the resource.
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.
city
body string true The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string true The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
landlords
body [string] false none
property_managers
body [string] false none
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
property_groups
body [string] false A list of property groups applied to the property/estate/block.
blocks
body [object] false none
name
body string(string) false The name of the resource.
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.
city
body string true The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string true The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
parent_estate
body string false The estate's unique identifier (UUID) or internal reference.
landlords
body [string] false none
property_managers
body [string] false none
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
property_groups
body [string] false A list of property groups applied to the property/estate/block.
properties
body [object] false none
name
body string(string) false The name of the resource.
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.
city
body string true The town or city of the resource.
town
deprecated
body string false This field is deprecated. Use the city parameter instead.
postal_code
body string true The postal code of the resource.
postcode
deprecated
body string false This field is deprecated. Use the postal_code field instead.
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
parent_estate
body string false The estate's unique identifier (UUID) or internal reference.
parent_block
body string false The block's unique identifier (UUID) or internal reference.
landlords
body [string] false none
property_managers
body [string] false none
tenants
body [string] false none
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
property_groups
body [string] false A list of property groups applied to the property/estate/block.
landlords
body [object] false none
first_name
body string false none
last_name
body string false none
phone_number
body string(telephone) false none
email
body string(email) false none
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
property_managers
body [object] false none
first_name
body string true none
last_name
body string true none
phone_number
body string(telephone) true none
email
body string(email) true none
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
tenants
body [object] false none
first_name
body string false none
last_name
body string false none
phone_number
body string(telephone) false none
email
body string(email) false none
external_reference
body string true The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.

Example responses

200 Response

{
  "import_uuid": "string",
  "creation_date": "2021-02-18T17:19:59Z"
}

Responses

Status Meaning Description Schema
200 OK 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
409 Conflict Conflict None
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

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

Status Code 400

Name Type Required Restrictions Description
estates [object] false none none
external_reference [string] false none none
postcode [string] false none none
blocks [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

Retrieve bulk import status

Code samples

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

r = requests.get('/bulk-import/{bulk_import_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
bulk_import_uuid path string(uuid) true UUID of the bulk import.

Example responses

200 Response

{
  "uuid": "c39a8bea-adff-471f-b873-5a412ff9702a",
  "status": "failed",
  "errors": [
    {
      "message": "The element has not been found",
      "external_reference": "#/properties/P12345",
      "entity_type": "property"
    }
  ]
}

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
uuid string(uuid) false none none
status string false none none
errors [object] false none none
message string false none An error message that describes the issue
external_reference string false none A reference of a resource (UUID or internal reference).
entity_type string false none The type of the missing resource

Enumerated Values

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

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

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('/categories', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

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

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

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-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 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('/category/{category_uuid}/services', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /category/{category_uuid}/services \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'X-Pagination-Limit: 0' \
  -H 'X-Pagination-Offset: 0'

GET /category/{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 none
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

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "name": "Home Security Specialist",
    "slug": "home-security-specialist",
    "category_uuid_list": [
      "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
uuid string(uuid) false none A UUID that references a resource.
name string false none Service name.
slug string false none Service's slug.
category_uuid_list [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-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

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('/services', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "name": "Home Security Specialist",
    "slug": "home-security-specialist",
    "category_uuid_list": [
      "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
uuid string(uuid) false none A UUID that references a resource.
name string false none Service name.
slug string false none Service's slug.
category_uuid_list [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-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

Invoices

Retrieve invoice details

Code samples

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

r = requests.get('/invoices/{invoice_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
invoice_uuid path string(uuid) true UUID of the invoice.

Example responses

200 Response

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

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
uuid string(uuid) false none none
external_reference string false none The client-provided external reference of the resource.
created string(date-time) false none none
service_date string(date-time) false none none
pdf_url string(url) false none none
status string false none none
due_date string(date) false none none
paid_on string(date-time)¦null false none none
outstanding_amount number(float) false none none
total_incl_vat number(float) false none none
total_excl_vat number(float) false none none
total_only_vat number(float) false none none
tax_withheld number(float)¦null false none none
account_code number false none none
work_order object false none none
uuid string(uuid) false none none
external_reference string false none The client-provided external reference of the resource.
items [object] false none none
description string false none none
vat number(float) false none none
unit_price number(float) false none none
quantity number(float) false none none
type string false none none
recipient object false none none
billing_address object false none none
name string(string) false none The name of the resource.
uuid string(uuid) 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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
name string false none none
job_address object false none none
uuid string(uuid) false none none
external_reference string false none The client-provided external reference of the resource.
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
sender object false none none
name string(string) false none The name of the resource.
vat_number string false none none
companies_registration_number string false none none
contractor_wallet_id string¦null false none Contractor wallet's id
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.

Enumerated Values

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

Retrieve invoice as PDF

Code samples

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

r = requests.get('/invoices/{invoice_uuid}/pdf', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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-Type string none
200 Content-Length string none
200 Content-Disposition string none

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('/organisations', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
name string(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-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 organisation details

Code samples

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

r = requests.get('/organisations/{organisation_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
organisation_uuid path string(uuid) true UUID of the organisation.

Example responses

200 Response

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "name": "Custom resource name",
  "legal_addresss": {
    "address_line_1": "Millbank",
    "address_line_2": "Westminster",
    "postal_code": "SW1P 4RG",
    "city": "London",
    "country": "GB"
  },
  "beneficiary_address": {
    "address_line_1": "Millbank",
    "address_line_2": "Westminster",
    "postal_code": "SW1P 4RG",
    "city": "London",
    "country": "GB"
  },
  "call_centre_number": "+440800623777256",
  "contractor_tax_withholding_enabled": false,
  "background_check_always_required": false,
  "disclaimer": "string",
  "quote_approval_threshold": 900,
  "invoice_approval_threshold": 900,
  "invoice_due_period": 14,
  "finance_only_payment": false
}

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
uuid string(uuid) false none A UUID that references a resource.
name string(string) false none The name of the resource.
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
country string false none The country of the resource
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
country string false none The country 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
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
disclaimer string false none The disclaimer for this Organisation that is appended to every work order
quote_approval_threshold number¦null false none The financial threshold set for quotes to require approval by managers before being accepted
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
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

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Reports

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('/reports/{report_uuid}/runs', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "created": "2021-02-18T17:19:59Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
]

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
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none The creation date-time of report run
organisations [string] false none Organisation UUIDs of report run.

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

Create a new report run

Code samples

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

r = requests.post('/reports/{report_uuid}/runs', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /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": {
    "from_datetime": "2021-02-18T17:19:59Z",
    "to_datetime": "2021-02-18T17:19:59Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
}

Parameters

Name In Type Required Description
Authorization header string true none
report_uuid path string(uuid) true UUID of the report.
body body object true none
parameters
body object true none
from_datetime
body string(date-time) true The start date-time of report run
to_datetime
body string(date-time) true The end date-time of report run
organisations
body [string] true Organisation UUIDs of report run.

Example responses

202 Response

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "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",
  "parameters": {
    "from": "2020-09-26T07:00:00.000Z",
    "to": "2020-09-26T12:00:00.000Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
}

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
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none The creation date-time of report_run
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.
parameters object false none The JSON of parameters belonging to Report
from string(date-time) false none Start date of Report.
to string(date-time) false none End date of Report.
organisations [string] false none Organisation UUIDs of 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

List all reports

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'string',
  'X-Pagination-Limit': '0',
  'X-Pagination-Offset': '0'
}

r = requests.get('/reports', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "slug": "string"
  }
]

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
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
slug string false none The slug value of Report Type

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-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 report details

Code samples

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

r = requests.get('/reports/{report_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
report_uuid path string(uuid) true UUID of the report.

Example responses

200 Response

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "description": "string"
}

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
uuid string(uuid) false none A UUID that references a resource.
description string false none The slug value of Report Type

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Retrieve report run details

Code samples

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

r = requests.get('/reports/{report_uuid}/runs/{report_run_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "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",
  "parameters": {
    "from": "2020-09-26T07:00:00.000Z",
    "to": "2020-09-26T12:00:00.000Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
}

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
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none The creation date-time of report_run
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.
parameters object false none The JSON of parameters belonging to Report
from string(date-time) false none Start date of Report.
to string(date-time) false none End date of Report.
organisations [string] false none Organisation UUIDs of 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

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('/account-codes', params={
  'organisation_uuid': '4c7b4f87-00a2-4565-a1d7-41ffa6bdea31'
}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /account-codes?organisation_uuid=4c7b4f87-00a2-4565-a1d7-41ffa6bdea31 \
  -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 none
organisation_uuid query string(uuid) true UUID of the Organisation.
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",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "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"
    ]
  }
]

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

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

Create an account code

Code samples

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

r = requests.post('/account-codes', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /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 none
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",
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "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"
  ]
}

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

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

Update an account code

Code samples

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

r = requests.patch('/account-codes/{account_code_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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 none
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 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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Delete an account code

Code samples

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

r = requests.delete('/account-codes/{account_code_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

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('/tags', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "type": "property",
    "color": "#328c47",
    "organisations": [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ],
    "name": "Custom resource name"
  }
]

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
uuid string(uuid) false none A UUID that references a resource.
type string false none none
color string¦null false none The color of the tag expresed as an RGB hex code.
organisations [string] false none A list of Organisations uuids using this Account Code.
name string(string) false none The name of the 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-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

Create a tag

Code samples

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

r = requests.post('/tags', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /tags \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /tags

This endpoint creates a new tag

Body parameter

{
  "type": "property",
  "color": "#328c47",
  "is_enabled": true,
  "name": "Custom resource name",
  "organisations": [
    "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
    "96cac9aa-575b-4976-a03d-d671884dbd16"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true none
type
body string 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(string) true The name of the resource.
organisations
body [string] true A list of Organisations uuids using this Account Code.

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 Location string The location of the new created element
201 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('/tags/{tag_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
tag_uuid path string(uuid) true UUID of the tag.

Example responses

200 Response

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "type": "property",
  "color": "#328c47",
  "organisations": [
    "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
    "96cac9aa-575b-4976-a03d-d671884dbd16"
  ],
  "name": "Custom resource name"
}

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
uuid string(uuid) false none A UUID that references a resource.
type string false none none
color string¦null false none The color of the tag expresed as an RGB hex code.
organisations [string] false none A list of Organisations uuids using this Account Code.
name string(string) false none The name of the 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

Delete a tag

Code samples

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

r = requests.delete('/tags/{tag_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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 Location string The location of the new created element
204 X-Resource-Id string The ID (usually UUID) of the newly created element

Update a tag

Code samples

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

r = requests.patch('/tags/{tag_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X PATCH /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

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "type": "property",
  "color": "#328c47",
  "organisations": [
    "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
    "96cac9aa-575b-4976-a03d-d671884dbd16"
  ],
  "name": "Custom resource name"
}

Parameters

Name In Type Required Description
Authorization header string true none
tag_uuid path string(uuid) true UUID of the tag.
body body object true none
uuid
body string(uuid) false A UUID that references a resource.
type
body string false none
color
body string¦null false The color of the tag expresed as an RGB hex code.
organisations
body [string] false A list of Organisations uuids using this Account Code.
name
body string(string) false The name of the resource.

Enumerated Values

Parameter Value
type property
type enquiry
type job

Example responses

400 Response

{
  "detail": "string"
}

Responses

Status Meaning Description Schema
200 OK 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
200 Location string The location of the new created element
200 X-Resource-Id string The ID (usually UUID) of the newly created element

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('/property-groups', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /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 none
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

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "name": "Custom resource name"
  }
]

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
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

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

Create a property group

Code samples

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

r = requests.post('/property-groups', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /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 none
body body object true none
name
body string(string) true The name of the resource.

Example responses

201 Response

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "name": "Custom resource name"
}

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
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.
name string(string) false none The name of the 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

Delete a property group

Code samples

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

r = requests.delete('/property-groups/{property_group_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X DELETE /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 none
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

Files

Upload a file

Code samples

import requests
headers = {
  'Content-Type': '*/*',
  'Accept': 'application/json',
  'Authorization': 'string',
  'X-Plentific-File': '{"name": "foobar.pdf", "url": null}',
  'Content-Type': [
  "image/png",
  "application/pdf"
],
  'Accept': 'application/json'
}

r = requests.post('/files', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /files \
  -H 'Content-Type: */*' \
  -H 'Accept: application/json' \
  -H 'Authorization: string' \
  -H 'X-Plentific-File: {"name": "foobar.pdf", "url": null}' \
  -H 'Content-Type: image/png,application/pdf' \
  -H 'Accept: application/json'

POST /files

This endpoint uploads a file to the platform

Body parameter

Parameters

Name In Type Required Description
Authorization header string true none
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
406 Not Acceptable Response content type error details Inline
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 201

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Status Code 406

Name Type Required Restrictions Description
detail string false none Error details

Response Headers

Status Header Type Format Description
201 Location string The location of the new created element

Retrieve file details

Code samples

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'string',
  'Accept': 'application/octet-stream'
}

r = requests.get('/files/{file_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /files/{file_uuid} \
  -H 'Accept: */*' \
  -H 'Authorization: string' \
  -H 'Accept: application/octet-stream'

GET /files/{file_uuid}

This endpoint returns the details of a particular file

Parameters

Name In Type Required Description
Authorization header string true none
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-Type string none
200 Content-Length string none
200 Content-Disposition string none

Deprecated

List of endpoints that are deprecated and will be removed soon.

Create new work order

Code samples

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

r = requests.post('/work-order', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X POST /work-order \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

POST /work-order

This endpoint can be used by an organisation to create a new work order.

Body parameter

{
  "property": {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "external_reference": "EG1234"
  },
  "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.",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "user_email": "deprecated@dontuse.me",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": false,
  "is_emergency": true,
  "attachments": [
    "e75665c2-9f6e-4017-8596-ed13db0c8851",
    "f9219b92-e00d-4357-84df-e274737eb06e"
  ],
  "booking_preferences": {
    "calendar_events": [
      {
        "from_datetime": "2020-09-26T07:00:00.000Z",
        "to_datetime": "2020-09-26T12:00:00.000Z"
      }
    ],
    "info": "Please avoid 3-4pm school run."
  },
  "contacts": [
    {
      "role": "tenant",
      "first_name": "John",
      "last_name": "Doe",
      "phone_number": "+441234567890",
      "email": "hello@email.com",
      "external_reference": "EG1234",
      "is_private": true
    }
  ],
  "access_notes": "No parking available at this property.",
  "visitation_rules": [
    "PAIR_VISIT",
    "CONTACT_PM_BEFORE"
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ]
}

Parameters

Name In Type Required Description
Authorization header string true none
body body object true This is the body that can be used to create a new work order.
property
body object true We expect client will send us either UUID or external reference for the property.
uuid
body string(uuid) false A UUID that references a resource.
external_reference
body string false The client-provided external reference of the resource.
description
body string(string) true This is the detailed explanation of the work order. We expect a concatenated text from your systems.
external_reference
body string false The client-provided external reference of the resource.
organisation_uuid
body string(uuid) true A UUID that identifies the Organisation of the entry.
account_code
body string true The account code.
service_uuid
body string(uuid) true 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.
work_order_type
body string false This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
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.
user_email
deprecated
body string(email) false This field is deprecated. Please use the created_by field instead.
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_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_emergency
body boolean false If this is an emergency work order this flag will be set.
attachments
body [string] false none
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.
contacts
body [object] false Tenant/Nominated contacts designated for the work order.
role
body string true none
first_name
body string true none
last_name
body string true none
phone_number
body string(telephone) true none
email
body string(email) false none
external_reference
body string true The client-provided external reference of the resource.
is_private
body boolean false If contact information should be private or shared with the Pro.
access_notes
body string¦null false Details about accessibility information for the property, if known.
visitation_rules
body [string] false Rules regarding property visitation for the work order, if known.
metadata
body string(json) false Field holding custom data in key-value pairs (max. 6).
tags
body [string] false A list of tags with type 'enquiry' applied to the work order.

Enumerated Values

Parameter Value
role tenant
role other_contact
visitation_rules PAIR_VISIT
visitation_rules CONTACT_PM_BEFORE
visitation_rules PM_ONSITE_DURING

Example responses

201 Response

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "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.",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "user_email": "deprecated@dontuse.me",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "attachments": [
    "http://test.com/img1",
    "http://test.com/img2"
  ],
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ],
  "work_order_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}

Responses

Status Meaning Description Schema
201 Created 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
409 Conflict Conflict None
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 201

Name Type Required Restrictions Description
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
description string(string) false none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
user_email
deprecated
string(email) false none This field is deprecated. Please use the created_by field instead.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
attachments [string] false none none
selected_pro_details [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.
work_order_uuid
deprecated
string(uuid) false none The field is deprecated. Please use uuid instead.

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

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

Get work order details

Code samples

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

r = requests.get('/work-order/{work_order_uuid}', params={

}, headers = headers)

print r.json()

# You can also use wget
curl -X GET /work-order/{work_order_uuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: string'

GET /work-order/{work_order_uuid}

Parameters

Name In Type Required Description
Authorization header string true none
work_order_uuid path string(uuid) true UUID of the work order.

Example responses

200 Response

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "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.",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "user_email": "deprecated@dontuse.me",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "attachments": [
    "http://test.com/img1",
    "http://test.com/img2"
  ],
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ]
}

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
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
description string(string) false none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
user_email
deprecated
string(email) false none This field is deprecated. Please use the created_by field instead.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
attachments [string] false none none
selected_pro_details [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Schemas

getProperty

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_block": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "external_reference": "EG1234",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

The Property

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
parent_block string(uuid) false none The parent block of the property.
external_reference string true none The client-provided external reference of the resource.
tenants [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

getBlock

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

The Block

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
parent_estate string(uuid) false none The parent estate of the block.
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

getEstate

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "external_reference": "EG1234",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

The Estate

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
parent_estate string(uuid) false none The parent estate of the block.
external_reference string true none The client-provided external reference of the resource.
tenants [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

getLandlord

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "external_reference": "EG1234",
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

The Landlord

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none A UUID that references a resource.
organisation_uuid string(uuid) false none A UUID that identifies the Organisation of the entry.

getTenant

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "property": "15791638-f098-49ca-b1a6-40da5bc47255",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

The Tenant

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none A UUID that references a resource.
property string false none The property's unique identifier (UUID) or internal reference.
organisation_uuid string(uuid) false none A UUID that identifies the Organisation of the entry.

getPropertyManager

{
  "first_name": "John",
  "last_name": "Doe",
  "email": "hello@email.com",
  "phone_number": "+441234567890",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

The Property Manager

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
email string(email) false none none
phone_number string(telephone) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
uuid string(uuid) false none A UUID that references a resource.
external_reference string 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.

getWorkOrder

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "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.",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "user_email": "deprecated@dontuse.me",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "attachments": [
    "http://test.com/img1",
    "http://test.com/img2"
  ],
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ]
}

The Work Order

Properties

Name Type Required Restrictions Description
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
description string(string) false none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
user_email
deprecated
string(email) false none This field is deprecated. Please use the created_by field instead.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
attachments [string] false none none
selected_pro_details [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

getWorkOrderWithFaults

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "contractor": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ],
  "faults": [
    {
      "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
      "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.",
      "attachments": [
        "e75665c2-9f6e-4017-8596-ed13db0c8851",
        "f9219b92-e00d-4357-84df-e274737eb06e"
      ]
    }
  ]
}

The Work Order

Properties

Name Type Required Restrictions Description
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
contractor [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.
faults [object] false none none
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.
description string(string) true none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
attachments [string] false none none

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

getWorkOrders

{
  "property_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "is_emergency": true
}

The Work Order

Properties

Name Type Required Restrictions Description
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.
created string(date-time) false none none
status string false none none
external_reference string 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.
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.
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
is_emergency boolean false none If this is an emergency work order this flag will be set.

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

getCategories

{
  "name": "Home Security Specialist",
  "uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "slug": "home-security-specialist",
  "url": "/home-security-specialist/"
}

The Category

Properties

Name Type Required Restrictions Description
name string false none Category name
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.
slug string false none Slug of the Category
url string false none URL of the Category.

getServices

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

The Service

Properties

Name Type Required Restrictions Description
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.
slug string false none Service's slug.
url string false none URL of the Servic.

patchWorkOrder

{
  "status": "job_leads_sent",
  "contractor_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}

Properties

Name Type Required Restrictions Description
status string true none none
contractor_uuid string(uuid) false none A UUID that references a resource.

Enumerated Values

Property Value
status job_leads_sent

patchTag

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "type": "property",
  "color": "#328c47",
  "organisations": [
    "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
    "96cac9aa-575b-4976-a03d-d671884dbd16"
  ],
  "name": "Custom resource name"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
type string false none none
color string¦null false none The color of the tag expresed as an RGB hex code.
organisations [string] false none A list of Organisations uuids using this Account Code.
name string(string) false none The name of the resource.

Enumerated Values

Property Value
type property
type enquiry
type job

patchProperty

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_block": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

The Property

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string false none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
landlords [string] false none none
property_managers [string] false none none
parent_block string(uuid) false none The parent block of the property.
tenants [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

patchBlock

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

The Block

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string false none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
landlords [string] false none none
property_managers [string] false none none
parent_estate string(uuid) false none The parent estate of the block.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

patchLandlord

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

The Landlord

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

patchTenant

{
  "first_name": "John",
  "last_name": "Doe",
  "email": "hello@email.com",
  "phone_number": "+441234567890",
  "property": "15791638-f098-49ca-b1a6-40da5bc47255",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

The Tenant

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
email string(email) false none none
phone_number string(telephone) false none none
property string false none The property's unique identifier (UUID) or internal reference.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

patchPropertyManager

{
  "first_name": "John",
  "last_name": "Doe",
  "email": "hello@email.com",
  "phone_number": "+441234567890",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

The Property Manager

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
email string(email) false none none
phone_number string(telephone) false none none
estates [string] false none none
properties [string] false none none
blocks [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

postProperty

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "external_reference": "EG1234",
  "parent_block": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "tenants": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
city string true none The town or city of the resource.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string true none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
landlords [string] false none none
property_managers [string] false none none
external_reference string true none The client-provided external reference of the resource.
parent_block string(uuid) false none The parent block of the property.
tenants [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

postBlock

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "external_reference": "EG1234",
  "parent_estate": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
city string true none The town or city of the resource.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string true none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
landlords [string] false none none
property_managers [string] false none none
external_reference string true none The client-provided external reference of the resource.
parent_estate string(uuid) false none The parent estate of the block.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

postEstate

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "town": "deprecated",
  "postcode": "deprecated",
  "postal_code": "SW1P 4RG",
  "landlords": [
    [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ]
  ],
  "property_managers": [
    [
      "75881afb-11d8-46db-ae5f-549cc3eb5527",
      "c9475373-da74-4688-abe5-72f762ab5e72"
    ]
  ],
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "76be6cf4-5939-4b72-91d6-b7d5dc803dd6",
    "50a82ead-46f8-4a7e-be52-419b05ee3b39"
  ],
  "property_groups": [
    "19c719c9-1c07-4afd-9f6c-a0c46f395ac8",
    "9bc9d182-db3c-44b7-8a1e-43603d6279d9"
  ]
}

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
city string true none The town or city of the resource.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
postal_code string true none The postal code of the resource.
landlords [string] false none none
property_managers [string] false none none
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'property' applied to the property/estate/block.
property_groups [string] false none A list of property groups applied to the property/estate/block.

postTenant

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "property": "15791638-f098-49ca-b1a6-40da5bc47255",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string true none The client-provided external reference of the resource.
property string true none The property's unique identifier (UUID) or internal reference.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

postLandlord

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string true none The client-provided external reference of the resource.
estates [string] false none none
properties [string] false none none
blocks [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

postReportRun

{
  "parameters": {
    "from_datetime": "2021-02-18T17:19:59Z",
    "to_datetime": "2021-02-18T17:19:59Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
}

Properties

Name Type Required Restrictions Description
parameters object true none none
from_datetime string(date-time) true none The start date-time of report run
to_datetime string(date-time) true none The end date-time of report run
organisations [string] true none Organisation UUIDs of report run.

postPropertyManager

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+441234567890",
  "email": "hello@email.com",
  "external_reference": "EG1234",
  "estates": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "properties": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "blocks": [
    "15791638-f098-49ca-b1a6-40da5bc47255"
  ],
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
}

Properties

Name Type Required Restrictions Description
first_name string true none none
last_name string true none none
phone_number string(telephone) true none none
email string(email) true none none
external_reference string true none The client-provided external reference of the resource.
estates [string] false none none
properties [string] false none none
blocks [string] false none none
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

postTags

{
  "type": "property",
  "color": "#328c47",
  "is_enabled": true,
  "name": "Custom resource name",
  "organisations": [
    "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
    "96cac9aa-575b-4976-a03d-d671884dbd16"
  ]
}

Properties

Name Type Required Restrictions Description
type string true none none
color string¦null true none The color of the tag expresed as an RGB hex code.
is_enabled boolean true none Indicates whether a tag is enabled or not.
name string(string) true none The name of the resource.
organisations [string] true none A list of Organisations uuids using this Account Code.

Enumerated Values

Property Value
type property
type enquiry
type job

postPropertyGroup

{
  "name": "Custom resource name"
}

Properties

Name Type Required Restrictions Description
name string(string) true none The name of the resource.

PropertyGroup

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "name": "Custom resource name"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
name string(string) false none The name of the resource.

Property

{
  "name": "Property A",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "external_reference": "PA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
  "parent_estate": "#/estates/EA12345",
  "parent_block": "#/blocks/BA12345",
  "landlords": [
    "936449c6-f69b-4edf-afcb-abb008e936d1",
    "#/landlords/LA98765"
  ],
  "property_managers": [
    "f457eb34-7990-4f6d-b731-69de0cc226dd",
    "#/property_managers/PA98765"
  ],
  "tenants": [
    "dd8410ff-b7fd-46be-8576-e5867de3aef1",
    "#/tenants/TA98765"
  ],
  "property_groups": [
    "cb42b925-ec59-497c-a03d-9d3e1e458af1"
  ]
}

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
city string true none The town or city of the resource.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string true none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
external_reference string true none The client-provided external reference 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.
parent_block string false none The block's unique identifier (UUID) or internal reference.
landlords [string] false none none
property_managers [string] false none none
tenants [string] false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
property_groups [string] false none A list of property groups applied to the property/estate/block.

Block

{
  "name": "Block A",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "external_reference": "BA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
  "parent_estate": "#/estates/EA12345",
  "landlords": [
    "1964cd8b-c861-4a29-b701-c237a123fe8a",
    "#/landlords/LA12345"
  ],
  "property_managers": [
    "3759dbb5-73ef-4b25-9896-d41a4c459fc3",
    "#/property_managers/PA12345"
  ],
  "property_groups": [
    "cb42b925-ec59-497c-a03d-9d3e1e458af1"
  ]
}

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
city string true none The town or city of the resource.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string true none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
external_reference string true none The client-provided external reference 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.
landlords [string] false none none
property_managers [string] false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
property_groups [string] false none A list of property groups applied to the property/estate/block.

Estate

{
  "name": "Estate A",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "city": "London",
  "postal_code": "SW1P 4RG",
  "postcode": "deprecated",
  "external_reference": "EA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
  "landlords": [
    "01987c90-6b0c-4686-ab0c-2424ff0105fb",
    "#/landlords/LA12345"
  ],
  "property_managers": [
    "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
    "#/property_managers/PA12345"
  ],
  "property_groups": [
    "cb42b925-ec59-497c-a03d-9d3e1e458af1"
  ]
}

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
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.
city string true none The town or city of the resource.
town
deprecated
string false none This field is deprecated. Use the city parameter instead.
postal_code string true none The postal code of the resource.
postcode
deprecated
string false none This field is deprecated. Use the postal_code field instead.
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
landlords [string] false none none
property_managers [string] false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
property_groups [string] false none A list of property groups applied to the property/estate/block.

Landlord

{
  "first_name": "John",
  "last_name": "Doe",
  "phone_number": "+44123456",
  "email": "hello@email.com",
  "external_reference": "LA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
}

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

Tenant

{
  "first_name": "Emmanuel",
  "last_name": "Allison",
  "phone_number": "+44123456",
  "email": "emmanuel.allison@email.com",
  "external_reference": "TA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
}

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

PropertyManager

{
  "first_name": "Neal",
  "last_name": "Curtis",
  "phone_number": "+44123456",
  "email": "neal.curtis@email.com",
  "external_reference": "PA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
}

Properties

Name Type Required Restrictions Description
first_name string true none none
last_name string true none none
phone_number string(telephone) true none none
email string(email) true none none
external_reference string true none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.

Issue

{
  "message": "The element has not been found",
  "external_reference": "15791638-f098-49ca-b1a6-40da5bc47255",
  "entity_type": "property"
}

Properties

Name Type Required Restrictions Description
message string false none An error message that describes the issue
external_reference string false none A reference of a resource (UUID or internal reference).
entity_type string false none The type of the missing resource

Enumerated Values

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

BulkImportRequestBody

{
  "estates": [
    {
      "name": "Estate A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "external_reference": "EA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
      "landlords": [
        "01987c90-6b0c-4686-ab0c-2424ff0105fb",
        "#/landlords/LA12345"
      ],
      "property_managers": [
        "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
        "#/property_managers/PA12345"
      ],
      "property_groups": [
        "cb42b925-ec59-497c-a03d-9d3e1e458af1"
      ]
    }
  ],
  "blocks": [
    {
      "name": "Block A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "external_reference": "BA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
      "parent_estate": "#/estates/EA12345",
      "landlords": [
        "1964cd8b-c861-4a29-b701-c237a123fe8a",
        "#/landlords/LA12345"
      ],
      "property_managers": [
        "3759dbb5-73ef-4b25-9896-d41a4c459fc3",
        "#/property_managers/PA12345"
      ],
      "property_groups": [
        "cb42b925-ec59-497c-a03d-9d3e1e458af1"
      ]
    }
  ],
  "properties": [
    {
      "name": "Property A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1P 4RG",
      "postcode": "deprecated",
      "external_reference": "PA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
      "parent_estate": "#/estates/EA12345",
      "parent_block": "#/blocks/BA12345",
      "landlords": [
        "936449c6-f69b-4edf-afcb-abb008e936d1",
        "#/landlords/LA98765"
      ],
      "property_managers": [
        "f457eb34-7990-4f6d-b731-69de0cc226dd",
        "#/property_managers/PA98765"
      ],
      "tenants": [
        "dd8410ff-b7fd-46be-8576-e5867de3aef1",
        "#/tenants/TA98765"
      ],
      "property_groups": [
        "cb42b925-ec59-497c-a03d-9d3e1e458af1"
      ]
    }
  ],
  "landlords": [
    {
      "first_name": "John",
      "last_name": "Doe",
      "phone_number": "+44123456",
      "email": "hello@email.com",
      "external_reference": "LA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
    }
  ],
  "property_managers": [
    {
      "first_name": "Neal",
      "last_name": "Curtis",
      "phone_number": "+44123456",
      "email": "neal.curtis@email.com",
      "external_reference": "PA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
    }
  ],
  "tenants": [
    {
      "first_name": "Emmanuel",
      "last_name": "Allison",
      "phone_number": "+44123456",
      "email": "emmanuel.allison@email.com",
      "external_reference": "TA12345",
      "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
    }
  ]
}

Properties

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

BulkImportResponseBody

{
  "import_uuid": "string",
  "creation_date": "2021-02-18T17:19:59Z"
}

Properties

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

BulkImportStatusResponseBody

{
  "uuid": "c39a8bea-adff-471f-b873-5a412ff9702a",
  "status": "failed",
  "errors": [
    {
      "message": "The element has not been found",
      "external_reference": "#/properties/P12345",
      "entity_type": "property"
    }
  ]
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none none
status string false none none
errors [object] false none none
message string false none An error message that describes the issue
external_reference string false none A reference of a resource (UUID or internal reference).
entity_type string false none The type of the missing resource

Enumerated Values

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

CategoriesResponseBody

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

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
name string false none Category name
slug string false none Slug of the Category
url string false none URL of the Category.

ServicesResponseBody

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

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
name string false none Service name.
slug string false none Service's slug.
category_uuid_list [string] false none none

WorkOrderRequestBodyDeprecated

{
  "property": {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "external_reference": "EG1234"
  },
  "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.",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "user_email": "deprecated@dontuse.me",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": false,
  "is_emergency": true,
  "attachments": [
    "e75665c2-9f6e-4017-8596-ed13db0c8851",
    "f9219b92-e00d-4357-84df-e274737eb06e"
  ],
  "booking_preferences": {
    "calendar_events": [
      {
        "from_datetime": "2020-09-26T07:00:00.000Z",
        "to_datetime": "2020-09-26T12:00:00.000Z"
      }
    ],
    "info": "Please avoid 3-4pm school run."
  },
  "contacts": [
    {
      "role": "tenant",
      "first_name": "John",
      "last_name": "Doe",
      "phone_number": "+441234567890",
      "email": "hello@email.com",
      "external_reference": "EG1234",
      "is_private": true
    }
  ],
  "access_notes": "No parking available at this property.",
  "visitation_rules": [
    "PAIR_VISIT",
    "CONTACT_PM_BEFORE"
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ]
}

Properties

Name Type Required Restrictions Description
property object true none We expect client will send us either UUID or external reference for the property.
uuid string(uuid) false none A UUID that references a resource.
external_reference string false none The client-provided external reference of the resource.
description string(string) true none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
external_reference string false none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
account_code string true none The account code.
service_uuid string(uuid) true 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.
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
user_email
deprecated
string(email) false none This field is deprecated. Please use the created_by field instead.
is_contractor_tax_withheld boolean false none This denotes whether the work order is susceptible to the CIS scheme for UK clients, or the Bauabzugssteuer scheme for German clients.
is_background_check_required boolean false none This denotes whether the work order only be sent to contractors who have a valid DBS check in the UK.
is_emergency boolean false none If this is an emergency work order this flag will be set.
attachments [string] false none none
booking_preferences object false none Preferred appointment slots for the work order.
calendar_events [object]¦null false none Up to 4 preferences.
from_datetime string(date-time) true none Start of preferred booking slot.
to_datetime string(date-time) true none End of preferred booking slot.
info string false none Additional notes for the booking preferences.
contacts [object] false none Tenant/Nominated contacts designated for the work order.
role string true none none
first_name string true none none
last_name string true none none
phone_number string(telephone) true none none
email string(email) false none none
external_reference string true none The client-provided external reference of the resource.
is_private boolean false none If contact information should be private or shared with the Pro.
access_notes string¦null false none Details about accessibility information for the property, if known.
visitation_rules [string] false none Rules regarding property visitation for the work order, if known.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.

Enumerated Values

Property Value
role tenant
role other_contact

WorkOrderRequestBody

{
  "property": {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "external_reference": "EG1234"
  },
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "faults": [
    {
      "service_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
      "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.",
      "attachments": [
        "e75665c2-9f6e-4017-8596-ed13db0c8851",
        "f9219b92-e00d-4357-84df-e274737eb06e"
      ]
    }
  ],
  "created_by": "johndoe@test.com",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": false,
  "is_emergency": true,
  "booking_preferences": {
    "calendar_events": [
      {
        "from_datetime": "2020-09-26T07:00:00.000Z",
        "to_datetime": "2020-09-26T12:00:00.000Z"
      }
    ],
    "info": "Please avoid 3-4pm school run."
  },
  "contacts": [
    {
      "role": "tenant",
      "first_name": "John",
      "last_name": "Doe",
      "phone_number": "+441234567890",
      "email": "hello@email.com",
      "external_reference": "EG1234",
      "is_private": true
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ]
}

Properties

Name Type Required Restrictions Description
property object true none We expect client will send us either UUID or external reference for the property.
uuid string(uuid) false none A UUID that references a resource.
external_reference string false none The client-provided external reference of the resource.
external_reference string false none The client-provided external reference of the resource.
organisation_uuid string(uuid) true none A UUID that identifies the Organisation of the entry.
account_code string true none The account code.
category_uuid string true 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.
faults [object] true none none
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.
description string(string) true none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
attachments [string] false none none
created_by string(email) false 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.
is_contractor_tax_withheld boolean false none This denotes whether the work order is susceptible to the CIS scheme for UK clients, or the Bauabzugssteuer scheme for German clients.
is_background_check_required boolean false none This denotes whether the work order only be sent to contractors who have a valid DBS check in the UK.
is_emergency boolean false none If this is an emergency work order this flag will be set.
booking_preferences object false none Preferred appointment slots for the work order.
calendar_events [object]¦null false none Up to 4 preferences.
from_datetime string(date-time) true none Start of preferred booking slot.
to_datetime string(date-time) true none End of preferred booking slot.
info string false none Additional notes for the booking preferences.
contacts [object] false none Tenant/Nominated contacts designated for the work order.
role string true none none
first_name string true none none
last_name string true none none
phone_number string(telephone) true none none
email string(email) false none none
external_reference string true none The client-provided external reference of the resource.
is_private boolean false none If contact information should be private or shared with the Pro.
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.

Enumerated Values

Property Value
role tenant
role other_contact

PostWorkOrderResponseDeprecatedBody

{
  "property": {
    "type": "GenericProperty",
    "external_reference": "EG1234",
    "uuid": "82e03dcc-bd93-41ea-a234-db5dfe8a4617"
  },
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "status": "new",
  "service": {
    "name": "Home Security Specialist",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  },
  "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.",
  "external_reference": "EG1234",
  "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97",
  "account_code": "ACCOUNT-1",
  "is_contractor_tax_withheld": true,
  "is_background_check_required": true,
  "work_order_type": "MARKETPLACE",
  "created_by": "johndoe@test.com",
  "user_email": "deprecated@dontuse.me",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "attachments": [
    "http://test.com/img1",
    "http://test.com/img2"
  ],
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2021-02-18T17:19:59Z"
    }
  ],
  "metadata": {
    "key1": "value1",
    "key2": 2
  },
  "tags": [
    "1300ac83-504b-48ad-88e8-c061ece90780",
    "e7b383c0-61e7-4e3a-9da8-3c2bef2e6c87"
  ],
  "work_order_uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
}

Properties

Name Type Required Restrictions Description
property object false none none
type string false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none none
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none none
status string false none none
service object false 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.
description string(string) false none This is the detailed explanation of the work order. We expect a concatenated text from your systems.
external_reference string 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.
account_code string false none The account code.
is_contractor_tax_withheld boolean false none none
is_background_check_required boolean false none none
work_order_type string false none This is the type of the work order. The default value is MARKETPLACE if nothing is provided.
created_by string(email) false 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.
user_email
deprecated
string(email) false none This field is deprecated. Please use the created_by field instead.
is_emergency boolean false none If this is an emergency work order this flag will be set.
invoice_uuid string false none Invoice's unique identifier (UUID).
attachments [string] false none none
selected_pro_details [object] false none none
name string(string) false none The name of the resource.
uuid string false none Contractor's unique identifier (UUID).
state_history [object] false none none
state string false none none
date string(date-time) false none none
metadata string(json) false none Field holding custom data in key-value pairs (max. 6).
tags [string] false none A list of tags with type 'enquiry' applied to the work order.
work_order_uuid
deprecated
string(uuid) false none The field is deprecated. Please use uuid instead.

Enumerated Values

Property Value
type GenericProperty
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
state new
state approval_pending
state approved
state declined
state job_leads_sent
state customer_engaged
state pro_engaged
state customer_pro_engaged
state pro_claimed_job
state quoted
state quote_accepted
state hired
state booked
state customer_cancelled
state deposit_paid
state invoice_outstanding
state invoice_paid
state invoice_overdue
state invalid
state lost
state expired
state refunded
state paid_off_platform
state done
state signed_off

getWorkOrderAppointedContractors

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "name": "Custom resource name"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
name string(string) false none The name of the resource.

TokenResponseBody

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJteS1wcm9qZWN0IiwiZXhwIjoxNTA5NjUwODAxLCJpYXQiOjE1MDk2NTQ0MDF9.F4iKO0R0wvHkpCcQoyrYttdGxE5FLAgDhbTJQLEHIBPsbL2WkLxXB9IGbDESn9rE7oxn89PJFRtcLn7kJwvdQkQcsPxn2RQorvDAnvAi1w3k8gpxYWo2DYJlnsi7mxXDqSUCNm1UCLRCW68ssYJxYLSg7B1xGMgDADGyYPaIx1EdN4dDbh-WeDyLLa7a8iWVBXdbmy1H3fEuiAyxiZpk2ll7DcQ6ryyMrU2XadwEr9PDqbLe5SrlaJsQbFi8RIdlQJSo_DZGOoAlA5bYTDYXb-skm7qvoaH5uMtOUb0rjijYuuxhNZvZDaBerEaxgmmlO0nQgtn12KVKjmKlisG79Q",
  "expires_in": 3600,
  "scope": "client_metadata",
  "token_type": "Bearer"
}

Properties

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.

TokenRequestBody

{
  "client_id": "string",
  "client_secret": "string"
}

Properties

Name Type Required Restrictions Description
client_id string true none none
client_secret string true none none

ValidationErrorResponseBody

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

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
estates [object] false none none
external_reference [string] false none none
postcode [string] false none none
blocks [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

FailedDependencyErrorResponseBody

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

AuthorisationErrorResponseBody

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

NotAcceptableErrorResponse

{
  "detail": "string"
}

Properties

Name Type Required Restrictions Description
detail string false none Error details

CursorBasedPaginatorObject

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

Properties

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

EstateBrief

{
  "external_reference": "EA12345",
  "uuid": "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
}

Properties

Name Type Required Restrictions Description
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none Estate unique identifier (UUID).
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.

BlockBrief

{
  "uuid": "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
  "external_reference": "EA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
  "parent_estate": "07db84e0-4f8f-4c76-938f-817d3258dd9d"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none Block unique identifier (UUID).
external_reference string 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.

PropertyBrief

{
  "uuid": "25f46b98-5bb4-46d8-9cc0-8d7f923b1b89",
  "external_reference": "PA12345",
  "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
  "parent_estate": "07db84e0-4f8f-4c76-938f-817d3258dd9d",
  "parent_block": "116dd512-91c9-472c-86bc-1cbf5d0c5bae"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none Property unique identifier (UUID).
external_reference string 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.
parent_block string(uuid) false none The parent block of the property.
property_groups [string] false none A list of property groups applied to the property/estate/block.

EstatesCollectionResponseBody

[
  {
    "external_reference": "EA12345",
    "uuid": "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
    "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684"
  }
]

Properties

Name Type Required Restrictions Description
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none Estate unique identifier (UUID).
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.

BlocksCollectionResponseBody

[
  {
    "uuid": "936e4694-0bae-4b79-9a7d-e6f75eebbe05",
    "external_reference": "EA12345",
    "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
    "parent_estate": "07db84e0-4f8f-4c76-938f-817d3258dd9d"
  }
]

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none Block unique identifier (UUID).
external_reference string 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.

OrganisationsResponse

[
  {
    "name": "Custom resource name",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
  }
]

Properties

Name Type Required Restrictions Description
name string(string) false none The name of the resource.
uuid string(uuid) false none A UUID that references a resource.

OrganisationResponse

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "name": "Custom resource name",
  "legal_addresss": {
    "address_line_1": "Millbank",
    "address_line_2": "Westminster",
    "postal_code": "SW1P 4RG",
    "city": "London",
    "country": "GB"
  },
  "beneficiary_address": {
    "address_line_1": "Millbank",
    "address_line_2": "Westminster",
    "postal_code": "SW1P 4RG",
    "city": "London",
    "country": "GB"
  },
  "call_centre_number": "+440800623777256",
  "contractor_tax_withholding_enabled": false,
  "background_check_always_required": false,
  "disclaimer": "string",
  "quote_approval_threshold": 900,
  "invoice_approval_threshold": 900,
  "invoice_due_period": 14,
  "finance_only_payment": false
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
name string(string) false none The name of the resource.
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
country string false none The country of the resource
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
country string false none The country 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
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
disclaimer string false none The disclaimer for this Organisation that is appended to every work order
quote_approval_threshold number¦null false none The financial threshold set for quotes to require approval by managers before being accepted
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
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

PropertiesCollectionResponseBody

[
  {
    "uuid": "25f46b98-5bb4-46d8-9cc0-8d7f923b1b89",
    "external_reference": "PA12345",
    "organisation_uuid": "d9366cc6-f26d-46a0-b96a-159aa6f13684",
    "parent_estate": "07db84e0-4f8f-4c76-938f-817d3258dd9d",
    "parent_block": "116dd512-91c9-472c-86bc-1cbf5d0c5bae"
  }
]

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none Property unique identifier (UUID).
external_reference string 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.
parent_block string(uuid) false none The parent block of the property.
property_groups [string] false none A list of property groups applied to the property/estate/block.

LandlordsCollectionResponseBody

[
  {
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "+441234567890",
    "email": "hello@email.com",
    "estates": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "blocks": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "properties": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "external_reference": "EG1234",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
  }
]

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none A UUID that references a resource.
organisation_uuid string(uuid) false none A UUID that identifies the Organisation of the entry.

TenantsCollectionResponseBody

[
  {
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "+441234567890",
    "email": "hello@email.com",
    "external_reference": "EG1234",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "property": "15791638-f098-49ca-b1a6-40da5bc47255",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
  }
]

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
phone_number string(telephone) false none none
email string(email) false none none
external_reference string false none The client-provided external reference of the resource.
uuid string(uuid) false none A UUID that references a resource.
property string false none The property's unique identifier (UUID) or internal reference.
organisation_uuid string(uuid) false none A UUID that identifies the Organisation of the entry.

PropertyManagersCollectionResponseBody

[
  {
    "first_name": "John",
    "last_name": "Doe",
    "email": "hello@email.com",
    "phone_number": "+441234567890",
    "estates": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "blocks": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "properties": [
      "15791638-f098-49ca-b1a6-40da5bc47255"
    ],
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "external_reference": "EG1234",
    "organisation_uuid": "49df3292-2767-44bb-80c5-285e8eb85c97"
  }
]

Properties

Name Type Required Restrictions Description
first_name string false none none
last_name string false none none
email string(email) false none none
phone_number string(telephone) false none none
estates [string] false none none
blocks [string] false none none
properties [string] false none none
uuid string(uuid) false none A UUID that references a resource.
external_reference string 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.

PropertyGroupsResponseBody

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "name": "Custom resource name"
  }
]

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
name string(string) false none The name of the resource.

AccountCodeResponse

{
  "code": "ACCOUNT-1",
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "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 false none The account code.
uuid string(uuid) false none A UUID that references a resource.
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.

AccountCodesResponse

[
  {
    "code": "ACCOUNT-1",
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "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 false none The account code.
uuid string(uuid) false none A UUID that references a resource.
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.

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.

TagResponse

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "type": "property",
  "color": "#328c47",
  "organisations": [
    "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
    "96cac9aa-575b-4976-a03d-d671884dbd16"
  ],
  "name": "Custom resource name"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
type string false none none
color string¦null false none The color of the tag expresed as an RGB hex code.
organisations [string] false none A list of Organisations uuids using this Account Code.
name string(string) false none The name of the resource.

Enumerated Values

Property Value
type property
type enquiry
type job

TagsResponse

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "type": "property",
    "color": "#328c47",
    "organisations": [
      "842e7286-71bb-4fd1-a9e1-a7bd4a98664d",
      "96cac9aa-575b-4976-a03d-d671884dbd16"
    ],
    "name": "Custom resource name"
  }
]

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
type string false none none
color string¦null false none The color of the tag expresed as an RGB hex code.
organisations [string] false none A list of Organisations uuids using this Account Code.
name string(string) false none The name of the resource.

Enumerated Values

Property Value
type property
type enquiry
type job

ReportRunResponseBody

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "created": "2021-02-18T17:19:59Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
]

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none The creation date-time of report run
organisations [string] false none Organisation UUIDs of report run.

ReportsResponseBody

[
  {
    "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
    "slug": "string"
  }
]

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
slug string false none The slug value of Report Type

ReportResponseBody

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "description": "string"
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
description string false none The slug value of Report Type

ReportRunDetailedResponseBody

{
  "uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "created": "2021-02-18T17:19:59Z",
  "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",
  "parameters": {
    "from": "2020-09-26T07:00:00.000Z",
    "to": "2020-09-26T12:00:00.000Z",
    "organisations": [
      "49df3292-2767-44bb-80c5-285e8eb85c97"
    ]
  }
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none A UUID that references a resource.
created string(date-time) false none The creation date-time of report_run
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.
parameters object false none The JSON of parameters belonging to Report
from string(date-time) false none Start date of Report.
to string(date-time) false none End date of Report.
organisations [string] false none Organisation UUIDs of Report.

Enumerated Values

Property Value
status pending
status scheduled
status generated
status complete
status error
status none

InvoiceResponseBody

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

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none none
external_reference string false none The client-provided external reference of the resource.
created string(date-time) false none none
service_date string(date-time) false none none
pdf_url string(url) false none none
status string false none none
due_date string(date) false none none
paid_on string(date-time)¦null false none none
outstanding_amount number(float) false none none
total_incl_vat number(float) false none none
total_excl_vat number(float) false none none
total_only_vat number(float) false none none
tax_withheld number(float)¦null false none none
account_code number false none none
work_order object false none none
uuid string(uuid) false none none
external_reference string false none The client-provided external reference of the resource.
items [object] false none none
description string false none none
vat number(float) false none none
unit_price number(float) false none none
quantity number(float) false none none
type string false none none
recipient object false none none
billing_address object false none none
name string(string) false none The name of the resource.
uuid string(uuid) 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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
name string false none none
job_address object false none none
uuid string(uuid) false none none
external_reference string false none The client-provided external reference of the resource.
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.
sender object false none none
name string(string) false none The name of the resource.
vat_number string false none none
companies_registration_number string false none none
contractor_wallet_id string¦null false none Contractor wallet's id
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.
postal_code string false none The postal code of the resource.
city string false none The town or city of the resource.

Enumerated Values

Property Value
type LABOUR
type MATERIALS

patchAccountCode

{
  "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
description string false none This is the account code description given in Plentific.
organisations array false none none