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 sandbox.plentific.com/login.

The API is available at the base URL .

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

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.

Get Estates Listing

Code samples

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

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'

GET /estates

The endpoint returns all the estates 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.
sort_by query string false listing ordering
cursor query string false Pagination cursor identifier. Using this parameter you can navigate to the previous/next page (please check the 'links' field in the response for more information).

Enumerated Values

Parameter Value
sort_by created
sort_by -created
sort_by external_reference
sort_by -external_reference

Example responses

200 Response

{
  "links": {
    "prev": "string",
    "next": "string"
  },
  "data": {
    "estates": [
      {
        "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
links object false none none
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
data object false none none
estates [object] false none none
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.

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

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

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false The second address line of the resource.
town
body string true The town or city of the resource.
postcode
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).

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

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

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",
  "town": "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
  }
}

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 false none The second address line of the resource.
town 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).

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name 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 Estate details

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}

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false The second address line of the resource.
town
body string false The town or city of the resource.
postal_code
body string false The postal code of the resource.
postcode
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).

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

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.

Get Blocks Listing

Code samples

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

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'

GET /blocks

The endpoint returns all the blocks 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.
sort_by query string false listing ordering
cursor query string false Pagination cursor identifier. Using this parameter you can navigate to the previous/next page (please check the 'links' field in the response for more information).

Enumerated Values

Parameter Value
sort_by created
sort_by -created
sort_by external_reference
sort_by -external_reference

Example responses

200 Response

{
  "links": {
    "prev": "string",
    "next": "string"
  },
  "data": {
    "estates": [
      {
        "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
links object false none none
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
data object false none none
estates [object] false none none
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.

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

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

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false The second address line of the resource.
town
body string true The town or city of the resource.
postal_code
body string true The postal code of the resource.
postcode
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).

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

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

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",
  "town": "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
  }
}

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 false none The second address line of the resource.
town 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).

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Edit existing 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}

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false The second address line of the resource.
town
body string false The town or city of the resource.
postal_code
body string false The postal code of the resource.
postcode
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).

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

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.

Get Properties Listing

Code samples

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

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'

GET /properties

The 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
cursor query string false Pagination cursor identifier. Using this parameter you can navigate to the previous/next page (please check the 'links' field in the response for more information).

Enumerated Values

Parameter Value
sort_by created
sort_by -created
sort_by external_reference
sort_by -external_reference

Example responses

200 Response

{
  "links": {
    "prev": "string",
    "next": "string"
  },
  "data": {
    "estates": [
      {
        "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
links object false none none
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
data object false none none
estates [object] false none none
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.

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

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

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false The second address line of the resource.
town
body string true The town or city of the resource.
postal_code
body string true The postal code of the resource.
postcode
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).

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

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

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",
  "town": "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
  }
}

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 false none The second address line of the resource.
town 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).

Status Code 400

Name Type Required Restrictions Description
detail string false none Error details

Status Code 401

Name Type Required Restrictions Description
detail string false none Error details

Status Code 403

Name Type Required Restrictions Description
detail string false none Error details

Edit existing 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}

Body parameter

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false The second address line of the resource.
town
body string false The town or city of the resource.
postal_code
body string false The postal code of the resource.
postcode
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).

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

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

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.
X-Pagination-Offset header number false Requested offset of the results.

Example responses

200 Response

[
  {
    "first_name": "Una",
    "last_name": "McDonald",
    "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 new 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

Body parameter

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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 false 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

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

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

Edit existing 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}

Body parameter

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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 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}

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

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.
X-Pagination-Offset header number false Requested offset of the results.

Example responses

200 Response

[
  {
    "first_name": "Una",
    "last_name": "McDonald",
    "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 new 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

Body parameter

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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

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

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

Edit existing 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}

Body parameter

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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 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}

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

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.
X-Pagination-Offset header number false Requested offset of the results.

Example responses

200 Response

[
  {
    "first_name": "Una",
    "last_name": "McDonald",
    "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 new 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

Body parameter

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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

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

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

Edit existing 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}

Body parameter

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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 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}

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

Create new work order [deprecated]

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": "tom@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": "Una",
      "last_name": "McDonald",
      "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": "2020-11-26T18:19:03Z",
  "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": "tom@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": "2020-11-26T18:19:03Z"
    }
  ],
  "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 [deprecated]

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": "2020-11-26T18:19:03Z",
  "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": "tom@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": "2020-11-26T18:19:03Z"
    }
  ],
  "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

Get work orders list

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

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.
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": "2020-11-26T18:19:03Z",
  "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": "tom@test.com",
  "is_emergency": true
}

Responses

Status Meaning Description Schema
200 OK Work Order list Inline
401 Unauthorized Authorisation error details Inline
403 Forbidden Authorisation error details Inline
500 Internal Server Error Internal Server Error None

Response Schema

Status Code 200

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 Category unique identifier (UUID).
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 401

Name Type Required Restrictions Description
detail string false 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

Post 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 can be used by an organisation to create 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",
  "work_order_type": "MARKETPLACE",
  "created_by": "tom@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": "Una",
      "last_name": "McDonald",
      "phone_number": "+441234567890",
      "email": "hello@email.com",
      "external_reference": "EG1234",
      "is_private": true
    }
  ],
  "category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "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"
      ]
    }
  ]
}

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.
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.
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.
category_uuid
body string false Category unique identifier (UUID).
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.
faults
body [object] true none
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.
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

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": "2020-11-26T18:19:03Z",
  "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": "tom@test.com",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2020-11-26T18:19:03Z"
    }
  ],
  "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).
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.
faults [object] false none none
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.
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

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

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": "2020-11-26T18:19:03Z",
  "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": "tom@test.com",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2020-11-26T18:19:03Z"
    }
  ],
  "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).
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.
faults [object] false none none
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.
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

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",
      "town": "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"
      ]
    }
  ],
  "blocks": [
    {
      "name": "Block A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "town": "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"
      ]
    }
  ],
  "properties": [
    {
      "name": "Property A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "town": "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"
      ]
    }
  ],
  "landlords": [
    {
      "first_name": "Stefania",
      "last_name": "McDonald",
      "phone_number": "+44123456",
      "email": "stefania.mcdonald@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 false The second address line of the resource.
town
body string true The town or city of the resource.
postal_code
body string true The postal code of the resource.
postcode
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).
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 false The second address line of the resource.
town
body string true The town or city of the resource.
postal_code
body string true The postal code of the resource.
postcode
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).
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 false The second address line of the resource.
town
body string true The town or city of the resource.
postal_code
body string true The postal code of the resource.
postcode
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).
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": "2020-11-26T18:19:03Z"
}

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

Get status of bulk import

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.

Get Category Details

Code samples

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

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'

GET /categories

This endpoint can be used by anyone to get and search for 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.

Example responses

200 Response

{
  "category_list": [
    {
      "name": "Home Security Specialist",
      "slug": "home-security-specialist",
      "uuid": "39c7ff15-6d40-4722-95f9-371eb152c4f6",
      "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 none
name string false none none
slug string false none none
url 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

Get Service Details of a Category

Code samples

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

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'

GET /category/{category_uuid}/services

This endpoint can be used by anyone to get and search for services of 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.

Example responses

200 Response

{
  "service_list": [
    {
      "name": "CCTV drain survey / inspection",
      "slug": "cctv-drain-survey-inspection",
      "uuid": "3b6dd74d-95e4-4e8e-850f-b226014fa26d",
      "category_uuid_list": [
        "829528b4-a528-42d6-b530-996c8ea410b5"
      ]
    }
  ]
}

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 none
name string false none none
slug string false none none
category_uuid_list string(uuid) 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

Services

Services provided by professionals e.g. Gas Safety inspection.

Get Service Details

Code samples

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

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'

GET /services

This endpoint can be used by anyone to get 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.

Example responses

200 Response

{
  "service_list": [
    {
      "name": "CCTV drain survey / inspection",
      "slug": "cctv-drain-survey-inspection",
      "uuid": "3b6dd74d-95e4-4e8e-850f-b226014fa26d",
      "category_uuid_list": [
        "829528b4-a528-42d6-b530-996c8ea410b5"
      ]
    }
  ]
}

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 none
name string false none none
slug string false none none
category_uuid_list string(uuid) 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

Invoices

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

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",
        "town": "London"
      }
    },
    "beneficiary": {
      "name": "Pfeffer LLC",
      "address": {
        "address_line_1": "8 Plevna Street",
        "address_line_2": "",
        "postal_code": "E14 3LP",
        "town": "London"
      }
    }
  },
  "job_address": {
    "uuid": "4f69c0c7-d288-49e7-8ccb-cfc3ffc3927d",
    "external_reference": "67895422/1",
    "address": {
      "town": "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,
    "address": {
      "address_line_1": null,
      "address_line_2": null,
      "postal_code": null,
      "town": 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 false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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 false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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 false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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
address object false none none
address_line_1 string false none The first address line of the resource.
address_line_2 string false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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

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

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

Get 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

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

Account Codes

Get Account Codes list

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

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

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

Edit existing 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}

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

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

Get tags list

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

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

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

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

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

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

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}

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

Files

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

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

Get File Details

Code samples

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

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'

GET /files/{file_uuid}

Parameters

Name In Type Required Description
Authorization header string true none
file_uuid path string(uuid) true UUID of the File

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

Schemas

getProperty

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "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
  }
}

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 false none The second address line of the resource.
town 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).

getBlock

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "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
  }
}

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 false none The second address line of the resource.
town 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).

getEstate

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "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
  }
}

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 false none The second address line of the resource.
town 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).

getLandlord

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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": "Una",
  "last_name": "McDonald",
  "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": "Una",
  "last_name": "McDonald",
  "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": "2020-11-26T18:19:03Z",
  "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": "tom@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": "2020-11-26T18:19:03Z"
    }
  ],
  "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": "2020-11-26T18:19:03Z",
  "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": "tom@test.com",
  "is_emergency": true,
  "invoice_uuid": "15791638-f098-49ca-b1a6-40da5bc47255",
  "selected_pro_details": [
    {
      "name": "Custom resource name",
      "uuid": "15791638-f098-49ca-b1a6-40da5bc47255"
    }
  ],
  "state_history": [
    {
      "state": "new",
      "date": "2020-11-26T18:19:03Z"
    }
  ],
  "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).
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.
faults [object] false none none
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.
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": "2020-11-26T18:19:03Z",
  "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": "tom@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 Category unique identifier (UUID).
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 Category unique identifier (UUID).
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.

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",
  "town": "London",
  "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
  }
}

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 false none The second address line of the resource.
town string false none The town or city of the resource.
postal_code string false none The postal code of the resource.
postcode 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).

patchBlock

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false none The second address line of the resource.
town string false none The town or city of the resource.
postal_code string false none The postal code of the resource.
postcode 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).

patchLandlord

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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": "Una",
  "last_name": "McDonald",
  "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": "Una",
  "last_name": "McDonald",
  "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",
  "town": "London",
  "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
  }
}

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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).

postBlock

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).

postEstate

{
  "name": "Custom resource name",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "London",
  "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
  }
}

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 false none The second address line of the resource.
town string true none The town or city of the resource.
postcode 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).

postTenant

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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 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.

postLandlord

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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.

postPropertyManager

{
  "first_name": "Una",
  "last_name": "McDonald",
  "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

Property

{
  "name": "Property A",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "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"
  ]
}

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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).

Block

{
  "name": "Block A",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "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"
  ]
}

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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).

Estate

{
  "name": "Estate A",
  "address_line_1": "Millbank",
  "address_line_2": "Westminster",
  "town": "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"
  ]
}

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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).

Landlord

{
  "first_name": "Stefania",
  "last_name": "McDonald",
  "phone_number": "+44123456",
  "email": "stefania.mcdonald@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",
      "town": "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"
      ]
    }
  ],
  "blocks": [
    {
      "name": "Block A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "town": "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"
      ]
    }
  ],
  "properties": [
    {
      "name": "Property A",
      "address_line_1": "Millbank",
      "address_line_2": "Westminster",
      "town": "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"
      ]
    }
  ],
  "landlords": [
    {
      "first_name": "Stefania",
      "last_name": "McDonald",
      "phone_number": "+44123456",
      "email": "stefania.mcdonald@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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).
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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).
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 false none The second address line of the resource.
town string true none The town or city of the resource.
postal_code string true none The postal code of the resource.
postcode string false none This field is deprecated. Use the postal_code field instead.
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).
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": "2020-11-26T18:19:03Z"
}

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

{
  "category_list": [
    {
      "name": "Home Security Specialist",
      "slug": "home-security-specialist",
      "uuid": "39c7ff15-6d40-4722-95f9-371eb152c4f6",
      "url": "/home-security-specialist/"
    }
  ]
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none none
name string false none none
slug string false none none
url string false none none

ServicesResponseBody

{
  "service_list": [
    {
      "name": "CCTV drain survey / inspection",
      "slug": "cctv-drain-survey-inspection",
      "uuid": "3b6dd74d-95e4-4e8e-850f-b226014fa26d",
      "category_uuid_list": [
        "829528b4-a528-42d6-b530-996c8ea410b5"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
uuid string(uuid) false none none
name string false none none
slug string false none none
category_uuid_list string(uuid) 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": "tom@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": "Una",
      "last_name": "McDonald",
      "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",
  "work_order_type": "MARKETPLACE",
  "created_by": "tom@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": "Una",
      "last_name": "McDonald",
      "phone_number": "+441234567890",
      "email": "hello@email.com",
      "external_reference": "EG1234",
      "is_private": true
    }
  ],
  "category_uuid": "23791438-f098-49ca-b1e6-40da5bc47255",
  "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"
      ]
    }
  ]
}

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.
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_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.
category_uuid string false none Category unique identifier (UUID).
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] true none none
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.
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
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": "2020-11-26T18:19:03Z",
  "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": "tom@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": "2020-11-26T18:19:03Z"
    }
  ],
  "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

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.

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.

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.

EstatesCollectionResponseBody

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

Properties

Name Type Required Restrictions Description
links object false none none
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
data object false none none
estates [object] false none none
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.

BlocksCollectionResponseBody

{
  "links": {
    "prev": "string",
    "next": "string"
  },
  "data": {
    "estates": [
      {
        "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
links object false none none
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
data object false none none
estates [object] false none none
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.

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.

PropertiesCollectionResponseBody

{
  "links": {
    "prev": "string",
    "next": "string"
  },
  "data": {
    "estates": [
      {
        "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
links object false none none
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
data object false none none
estates [object] false none none
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.

LandlordsCollectionResponseBody

[
  {
    "first_name": "Una",
    "last_name": "McDonald",
    "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": "Una",
    "last_name": "McDonald",
    "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": "Una",
    "last_name": "McDonald",
    "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.

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

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",
        "town": "London"
      }
    },
    "beneficiary": {
      "name": "Pfeffer LLC",
      "address": {
        "address_line_1": "8 Plevna Street",
        "address_line_2": "",
        "postal_code": "E14 3LP",
        "town": "London"
      }
    }
  },
  "job_address": {
    "uuid": "4f69c0c7-d288-49e7-8ccb-cfc3ffc3927d",
    "external_reference": "67895422/1",
    "address": {
      "town": "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,
    "address": {
      "address_line_1": null,
      "address_line_2": null,
      "postal_code": null,
      "town": 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 false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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 false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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 false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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
address object false none none
address_line_1 string false none The first address line of the resource.
address_line_2 string false none The second address line of the resource.
postal_code string false none The postal code of the resource.
town 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