CRM Services - Core Functions

API for CRM CLOUD used by Server to Server or Authenticated admi User
Products
GET /products
GET /products/{id}/variants
GET /products/{id}/components
GET /products/{id}/components
POST /quotations
List of Products
GET /products

Request parameters

productType
string optional

Type of Product

Enumeration:
PHYSICAL
SERVICE
EXPENSE
EVENT
businessType
array of string optional

Business Type

Collection format: csv
soldAs
string optional
Enumeration:
SINGLE
BUNDLE
COMPONENT
sold_by
string optional

Organistion ID of who is selling the products uses different price group for pricing

purchase_by
string optional
location
string optional

Location code

currency
string optional

Currency

include_variants
string optional
integration_id
string optional

Use an External Products List

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
4132336f-95b8-11ea-a45f-42010a9a005d
createdOn
integer
Example:
1590526341
name
string
Example:
Latte
description
string
Example:
Our signature blend espresso with steamed milk for a smooth and creamy coffee
businessType
string
Example:
FOOD_DRINK
productType
string
Example:
PHYSICAL
soldAs
string
Example:
SINGLE
sku
string
Example:
LATTE-01
families
Array
Object
id
string
Example:
37803fc4-1b69-4050-9c4b-3747ea01b732
name
string
Example:
Vizulink
description
string
Example:
Vizulink
brands
Array
Object
id
string
Example:
b203637e-a731-11ea-a45f-42010a9a005d
name
string
Example:
Costa Coffee
description
string
Example:
Costa Coffee
pricing
Array of unknown
pageable
Object
page
integer
size
integer
Example:
10
sort
Object
orders
Array of unknown
total
integer
Example:
2
Example 1
Example 2

Food and Drink No Pricing as uses Variant and Components for Pricing

GET /products HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4132336f-95b8-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Latte",
            "description": "Our signature blend espresso with steamed milk for a smooth and creamy coffee",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "SINGLE",
            "sku": "LATTE-01",
            "families": [
                {
                    "id": "37803fc4-1b69-4050-9c4b-3747ea01b732",
                    "name": "Vizulink",
                    "description": "Vizulink"
                }
            ],
            "brands": [
                {
                    "id": "b203637e-a731-11ea-a45f-42010a9a005d",
                    "name": "Costa Coffee",
                    "description": "Costa Coffee"
                }
            ],
            "pricing": []
        },
        {
            "id": "8ced94dc-9605-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Americano",
            "description": "Espresso combined with hot water for a smooth black coffee - enjoyed black or with a splash of milk",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "SINGLE",
            "sku": "AMERICANO-01",
            "families": [],
            "brands": [],
            "pricing": []
        }
    ],
    "pageable": {
        "page": 0,
        "size": 10,
        "sort": {
            "orders": []
        }
    },
    "total": 2
}
GET /products HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "4132336f-95b8-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Latte",
            "description": "Our signature blend espresso with steamed milk for a smooth and creamy coffee",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "SINGLE",
            "sku": "LATTE-01",
            "families": [
                {
                    "id": "37803fc4-1b69-4050-9c4b-3747ea01b732",
                    "name": "coffee",
                    "description": "Our Coffee Range"
                }
            ],
            "brands": [
                {
                    "id": "b203637e-a731-11ea-a45f-42010a9a005d",
                    "name": "Costa Coffee",
                    "description": "Costa Coffee"
                }
            ],
            "pricing": [],
            "features": [],
            "filters": []
        },
        {
            "id": "8ced94dc-9605-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Americano",
            "description": "Espresso combined with hot water for a smooth black coffee - enjoyed black or with a splash of milk",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "SINGLE",
            "sku": "AMERICANO-01",
            "families": [],
            "brands": [],
            "pricing": [],
            "features": [],
            "filters": []
        }
    ],
    "pageable": {
        "page": 0,
        "size": 20,
        "sort": {
            "orders": []
        }
    },
    "total": 2
}
List of Products ( termed )
GET /products

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
d41045fd-9da8-11ea-a45f-42010a9a005d
createdOn
integer
Example:
1590526341
name
string
Example:
Superfast Broadband
description
string
Example:
Using Fibre to the Home the fastest available speeds
businessType
string
Example:
BROADBAND
productType
string
Example:
SERVICE
soldAs
string
Example:
SINGLE
sku
string
Example:
BB-SUPERFAST
families
Array of unknown
brands
Array of unknown
term
Object
id
string
Example:
a50eff8c-9dae-11ea-a45f-42010a9a005d
term
integer
Example:
1
termUnit
string
Example:
MONTH
binding
integer
Example:
18
bindingUnit
string
Example:
MONTH
name
string
Example:
Monthly, 18 Month Binding
priceModel
string
Example:
VARIABLE
autoRenew
boolean
Example:
true
pricing
Array
Object
id
string
Example:
be29be7b-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation
prices
Array
Object
id
string
Example:
c7af956c-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation Fee
locationCode
string
Example:
UK
currency
string
Example:
GBP
displayPrice
string
Example:
£50
effectiveDate
integer
Example:
1590278400
duringBinding
boolean
price
integer
Example:
50
taxModel
string
Example:
INCLUSIVE
priceType
string
Example:
ONE_OFF
isPrimary
boolean
pageable
Object
page
integer
size
integer
Example:
10
sort
Object
orders
Array of unknown
total
integer
Example:
2
Example 1
GET /products HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "af474667-9da8-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Essential Broadband",
            "description": "Essential Broadband",
            "businessType": "BROADBAND",
            "productType": "SERVICE",
            "soldAs": "SINGLE",
            "sku": "BB-ESSENTIAL",
            "families": [],
            "brands": [],
            "pricing": []
        },
        {
            "id": "d41045fd-9da8-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Superfast Broadband",
            "description": "Using Fibre to the Home the fastest available speeds",
            "businessType": "BROADBAND",
            "productType": "SERVICE",
            "soldAs": "SINGLE",
            "sku": "BB-SUPERFAST",
            "families": [],
            "brands": [],
            "term": {
                "id": "a50eff8c-9dae-11ea-a45f-42010a9a005d",
                "term": 1,
                "termUnit": "MONTH",
                "binding": 18,
                "bindingUnit": "MONTH",
                "name": "Monthly, 18 Month Binding",
                "priceModel": "VARIABLE",
                "autoRenew": true,
                "pricing": [
                    {
                        "id": "be29be7b-9dc2-11ea-a45f-42010a9a005d",
                        "name": "Activation",
                        "prices": [
                            {
                                "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                                "name": "Activation Fee",
                                "locationCode": "UK",
                                "currency": "GBP",
                                "displayPrice": "£50",
                                "effectiveDate": 1590278400,
                                "duringBinding": false,
                                "price": 50,
                                "taxModel": "INCLUSIVE"
                            }
                        ],
                        "priceType": "ONE_OFF",
                        "isPrimary": false
                    },
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Superfast 18 Month",
                        "prices": [
                            {
                                "id": "99e93efa-9dbd-11ea-a45f-42010a9a005d",
                                "name": "Monthly Service Fee",
                                "locationCode": "UK",
                                "currency": "GBP",
                                "displayPrice": "£34",
                                "effectiveDate": 1590278400,
                                "duringBinding": false,
                                "price": 34,
                                "taxModel": "INCLUSIVE"
                            }
                        ],
                        "priceModel": "FLAT",
                        "priceType": "RECURRING",
                        "isPrimary": true
                    }
                ]
            }
        }
    ],
    "pageable": {
        "page": 0,
        "size": 10,
        "sort": {
            "orders": []
        }
    },
    "total": 2
}
Product Variant List
GET /products/{id}/variants

Path variables

id
string required

Request parameters

business_type
array of string optional

Business Type

Collection format: csv
sold_by
string optional

Organistion ID of who is selling the products uses different price group for pricing

purchase_by
string optional
location
string optional

Location code

currency
string optional

Currency

include_variants
string optional

Responses

200 OK
Body
Object
content
Array
Object
variants
Array
Object
id
string
sku
string
attributes
Array
Object
id
string
Example:
guid
variant_value
string
Example:
small
variant_map
Object
id
string
Example:
guid
name
string
Example:
size
pricing
Object
id
string
name
string
price_model
string
Example:
FLAT
payment_model
string
Example:
PREPAY
prices
Array
Object
id
string
name
string
price
string
currency
string
display_price
integer
Example:
1
tax_model
string
Example:
INCLUSIVE
tiering
Object
id
string
name
string
tier_type
string
Example:
QTY
lower_tier
integer
Example:
1
upper_tier
string
tier_unit
string
Example:
YEAR
Example 1
GET /products/{id}/variants HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "variants": [
                {
                    "id": "",
                    "sku": "",
                    "attributes": [
                        {
                            "id": "guid",
                            "variant_value": "small",
                            "variant_map": {
                                "id": "guid",
                                "name": "size"
                            }
                        }
                    ],
                    "pricing": {
                        "id": "",
                        "name": "",
                        "price_model": "FLAT",
                        "payment_model": "PREPAY",
                        "price_variants": [
                            {
                                "id": "",
                                "name": "",
                                "price": "",
                                "currency": "",
                                "display_price": 1,
                                "tax_model": "INCLUSIVE",
                                "tiering": {
                                    "id": "",
                                    "name": "",
                                    "tier_type": "QTY",
                                    "lower_tier": 1,
                                    "upper_tier": "",
                                    "tier_unit": "YEAR"
                                }
                            }
                        ]
                    }
                }
            ]
        }
    ]
}
Product Components - Not Rated
GET /products/{id}/components

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
769173ec-9ac1-11ea-a45f-42010a9a005d
createdOn
integer
Example:
1590526341
name
string
Example:
Skimmed Milk
description
string
Example:
Skimmed Milk
businessType
string
Example:
FOOD_DRINK
productType
string
Example:
PHYSICAL
sku
string
Example:
SKIMMED-MILK-01
families
Array of unknown
brands
Array of unknown
component
Object
id
string
Example:
d52d83d9-9ac3-11ea-a45f-42010a9a005d
isInclusive
boolean
Example:
true
componentType
string
Example:
MODIFIER
sellType
string
Example:
CROSS_SELL
componentMap
Object
name
string
Example:
Milks
pricing
Array
Object
id
string
Example:
318e9723-9cf7-11ea-a45f-42010a9a005d
name
string
Example:
Latte Coconut Milk
prices
Array
Object
id
string
Example:
fbcc3bb6-9ac2-11ea-a45f-42010a9a005d
name
string
Example:
Coconut Milk
locationCode
unknown nullable
currency
string
Example:
GBP
displayPrice
unknown nullable
effectiveDate
unknown nullable
duringBinding
boolean
price
number
Example:
0.45
taxModel
string
Example:
INCLUSIVE
priceModel
string
Example:
FLAT
priceType
string
Example:
ONE_OFF
isPrimary
boolean
pageable
Object
page
integer
size
integer
Example:
10
sort
Object
orders
Array of unknown
total
integer
Example:
12
Example 1
GET /products/{id}/components HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "769173ec-9ac1-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Skimmed Milk",
            "description": "Skimmed Milk",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "SKIMMED-MILK-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "d52d83d9-9ac3-11ea-a45f-42010a9a005d",
                "isInclusive": true,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Milks"
                }
            },
            "pricing": [
                {
                    "id": "318e9723-9cf7-11ea-a45f-42010a9a005d",
                    "name": "Latte Coconut Milk",
                    "prices": [
                        {
                            "id": "fbcc3bb6-9ac2-11ea-a45f-42010a9a005d",
                            "name": "Coconut Milk",
                            "locationCode": null,
                            "currency": "GBP",
                            "displayPrice": null,
                            "effectiveDate": null,
                            "duringBinding": false,
                            "price": 0.45,
                            "taxModel": "INCLUSIVE"
                        }
                    ],
                    "priceModel": "FLAT",
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        },
        {
            "id": "a63ca7ae-9ac1-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Semi-Skimmed",
            "description": "Semi Skimmed",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "SEMI-SKIM-MILK-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "de34935f-9ac3-11ea-a45f-42010a9a005d",
                "isInclusive": true,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Milks"
                }
            },
            "pricing": [
                {
                    "id": "e7fa1a76-9d1a-11ea-a45f-42010a9a005d",
                    "name": "Latte Soya Milk",
                    "prices": [
                        {
                            "id": "488236f0-9ac6-11ea-a45f-42010a9a005d",
                            "name": null,
                            "locationCode": null,
                            "currency": "GBP",
                            "displayPrice": null,
                            "effectiveDate": null,
                            "duringBinding": false,
                            "price": 0.35,
                            "taxModel": "INCLUSIVE"
                        }
                    ],
                    "priceModel": "FLAT",
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        },
        {
            "id": "bec0a919-9ac1-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Coconut Milk",
            "description": "Exotic flavours of coconut milk",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "COCONUT-MILK-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "fa19d2ab-9ac3-11ea-a45f-42010a9a005d",
                "isInclusive": false,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Milks"
                }
            },
            "pricing": [
                {
                    "id": "f3dc3f39-9d1a-11ea-a45f-42010a9a005d",
                    "name": "Latte Soya Milk",
                    "prices": [
                        {
                            "id": "fcfd8705-9b6d-11ea-a45f-42010a9a005d",
                            "name": null,
                            "locationCode": null,
                            "currency": "GBP",
                            "displayPrice": null,
                            "effectiveDate": null,
                            "duringBinding": false,
                            "price": 0.25,
                            "taxModel": "INCLUSIVE"
                        }
                    ],
                    "priceModel": "FLAT",
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        },
        {
            "id": "d149778e-9ac1-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Soya Milk",
            "description": "Made from soya for vegan friendly",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "SOYA-MILK-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "7bed6914-9ac6-11ea-a45f-42010a9a005d",
                "isInclusive": true,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Milks"
                }
            },
            "pricing": [
                {
                    "id": "3e30a3d3-9d1b-11ea-a45f-42010a9a005d",
                    "name": "Latte Character Bean",
                    "prices": [],
                    "priceModel": "FLAT",
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        },
        {
            "id": "5e231add-9ac6-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Almond Milk",
            "description": "Made from Almonds for vegan friendly",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "ALMOND-MILK-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "8c474073-9ac6-11ea-a45f-42010a9a005d",
                "isInclusive": false,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Milks"
                }
            },
            "pricing": []
        },
        {
            "id": "fe9c7d65-9b6b-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Siganature Blend",
            "description": "Signature Blend Bean",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "SIGNATURE-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "51f1d021-9b74-11ea-a45f-42010a9a005d",
                "isInclusive": true,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Beans"
                }
            },
            "pricing": []
        },
        {
            "id": "0bc46df8-9b6c-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Character Blend",
            "description": "Character Blend Bean",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "CHARACTER-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "70dd5669-9b74-11ea-a45f-42010a9a005d",
                "isInclusive": false,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Beans"
                }
            },
            "pricing": []
        },
        {
            "id": "2ee97ebf-9b6c-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Decaf Blend",
            "description": "Decaf blend bean for coffee lovers without the buzz",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "DECAF-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "74fd22b8-9b74-11ea-a45f-42010a9a005d",
                "isInclusive": true,
                "componentType": "MODIFIER",
                "sellType": "CROSS_SELL",
                "componentMap": {
                    "name": "Beans"
                }
            },
            "pricing": []
        },
        {
            "id": "8266f5cf-9b76-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Caramel",
            "description": "Caramel Syrup",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "CARAMEL-SYRUP-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "37857e47-9b79-11ea-a45f-42010a9a005d",
                "isInclusive": false,
                "componentType": "ADD_ON",
                "sellType": "UP_SELL",
                "componentMap": {
                    "name": "Syrups"
                }
            },
            "pricing": [
                {
                    "id": "0102bed5-9dc9-11ea-a45f-42010a9a005d",
                    "name": "Latte Caramel",
                    "prices": [],
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        },
        {
            "id": "90742e19-9b76-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Hazelnut",
            "description": "Hazelnut Syrup",
            "businessType": "FOOD_DRINK",
            "productType": "PHYSICAL",
            "soldAs": "COMPONENT",
            "sku": "HAZELNUT-SYRUP-01",
            "families": [],
            "brands": [],
            "component": {
                "id": "3ae13120-9b79-11ea-a45f-42010a9a005d",
                "isInclusive": false,
                "componentType": "ADD_ON",
                "sellType": "UP_SELL",
                "componentMap": {
                    "name": "Syrups"
                }
            },
            "pricing": [
                {
                    "id": "05ab6933-9dc9-11ea-a45f-42010a9a005d",
                    "name": "Latte Caramel",
                    "prices": [],
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        }
    ],
    "pageable": {
        "page": 0,
        "size": 10,
        "sort": {
            "orders": []
        }
    },
    "total": 12
}
Product Components - Rated
GET /products/{id}/components

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
cb639733-9c34-11ea-a45f-42010a9a005d
createdOn
integer
Example:
1590526341
name
string
Example:
Just UP Gas
description
string
Example:
Just UP Gas Component
businessType
string
Example:
ENERGY
productType
string
Example:
COMPONENT
sku
string
Example:
JUST-UP-01-GAS
families
Array of unknown
brands
Array of unknown
component
Object
id
string
Example:
56e5ed6b-9c4b-11ea-a45f-42010a9a005d
isInclusive
boolean
componentType
string
Example:
OPTIONAL
sellType
string
Example:
BASE
componentMap
Object
name
string
Example:
Fuel Type
pricing
Array
Object
id
string
Example:
0aa9ecaa-9d30-11ea-a45f-42010a9a005d
name
string
Example:
Just UP Gas Usage
ratecard
Object
id
string
Example:
73d2d663-9d27-11ea-a45f-42010a9a005d
name
string
Example:
Gas Usage Charge
rateType
string
Example:
GAS
effectiveDate
integer
Example:
1590192000
useProvider
boolean
rating
Array
Object
id
string
Example:
3bc9dd81-9d29-11ea-a45f-42010a9a005d
name
string
Example:
Gas Unit Rate GSP 10
salesOrgId
string
Example:
UP
purchaserId
unknown nullable
rateUnit
string
Example:
KWH
timePeriod
unknown nullable
locationCode
string
Example:
UK
price
number
Example:
3.01
currency
string
Example:
GBP
taxModel
string
Example:
INCLUSIVE
minCharge
unknown nullable
chargeAfter
unknown nullable
roundTo
unknown nullable
effectiveDate
integer
Example:
1590192000
ratingValues
Array
Object
id
string
Example:
d29928e5-a99b-11ea-a45f-42010a9a005d
rateMap
Object
id
string
Example:
7bdd2769-a99b-11ea-a45f-42010a9a005d
name
string
Example:
Outcode
description
string
Example:
List of Postal Outcodes Relevant to the Rating
rateValue
string
Example:
GU27
prices
Array of unknown
priceModel
string
Example:
RATED
priceType
string
Example:
RECURRING
isPrimary
boolean
pageable
Object
page
integer
size
integer
Example:
10
sort
Object
orders
Array of unknown
total
integer
Example:
2
Example 1
GET /products/{id}/components HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "cb639733-9c34-11ea-a45f-42010a9a005d",
            "createdOn": 1590526341,
            "name": "Just UP Gas",
            "description": "Just UP Gas Component",
            "businessType": "ENERGY",
            "productType": "COMPONENT",
            "sku": "JUST-UP-01-GAS",
            "families": [
                null
            ],
            "brands": [
                null
            ],
            "component": {
                "id": "56e5ed6b-9c4b-11ea-a45f-42010a9a005d",
                "isInclusive": true,
                "componentType": "OPTIONAL",
                "sellType": "BASE",
                "componentMap": {
                    "name": "Fuel Type"
                }
            },
            "pricing": [
                {
                    "id": "0aa9ecaa-9d30-11ea-a45f-42010a9a005d",
                    "name": "Just UP Gas Usage",
                    "ratecard": {
                        "id": "73d2d663-9d27-11ea-a45f-42010a9a005d",
                        "name": "Gas Usage Charge",
                        "rateType": "GAS",
                        "effectiveDate": 1590192000,
                        "useProvider": true,
                        "rating": [
                            {
                                "id": "3bc9dd81-9d29-11ea-a45f-42010a9a005d",
                                "name": "Gas Unit Rate GSP 10",
                                "salesOrgId": "UP",
                                "purchaserId": null,
                                "rateUnit": "KWH",
                                "timePeriod": null,
                                "locationCode": "UK",
                                "price": 3.01,
                                "currency": "GBP",
                                "taxModel": "INCLUSIVE",
                                "minCharge": null,
                                "chargeAfter": null,
                                "roundTo": null,
                                "effectiveDate": 1590192000,
                                "ratingValues": [
                                    {
                                        "id": "d29928e5-a99b-11ea-a45f-42010a9a005d",
                                        "rateMap": {
                                            "id": "7bdd2769-a99b-11ea-a45f-42010a9a005d",
                                            "name": "Outcode",
                                            "description": "List of Postal Outcodes Relevant to the Rating"
                                        },
                                        "rateValue": "GU27"
                                    }
                                ]
                            }
                        ]
                    },
                    "prices": [
                        null
                    ],
                    "priceModel": "RATED",
                    "priceType": "RECURRING",
                    "isPrimary": true
                }
            ]
        }
    ],
    "pageable": {
        "page": 1,
        "size": 10,
        "sort": {
            "orders": [
                null
            ]
        }
    },
    "total": 2
}
Quotations
POST /quotations

List of Products with Components and prices that make up the full product quotation

Request body

Object
account
Object

Existing Account information with another service to use the details such as as address and existing products to provide a new quote.

provider
string

Where is the account stored

Enumeration:
REDFISH
DYBALL
id
string

ID of the account to enable a lookup

Example:
AC200017
service_address
Object
postcode
string
propertyNumber
string
propertyName
string
propertyStreet
string
address
string
phones
Object
phone_number
string

Existing phone number

new_line
boolean

New line required

product_type
string

Type of Product

Enumeration:
PHYSICAL
SERVICE
EXPENSE
EVENT
business_type
string

Type of Business

Enumeration:
BROADBAND
FIXED_LINE
MOBILE
ENTERTAINMENT
IOT
rating
Array
Object
rate_type
string
rate_amount
number
rate_value
string

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
221b48c1-9c2b-11ea-a45f-42010a9a005d
name
string
Example:
Just UP
description
string
Example:
Just UP fixed rate or basic package
businessType
string
Example:
ENERGY
productType
string
Example:
SERVICE
soldAs
string
Example:
SINGLE
sku
string
Example:
JUST-UP-01
families
Array
Object
id
string
Example:
4e65ee2c-abee-11ea-a45f-42010a9a005d
name
string
Example:
Utility Point
description
string
Example:
Utility Point Gas and Electric Products
brands
Array of unknown
term
Object
id
string
Example:
a50eff8c-9dae-11ea-a45f-42010a9a005d
name
string
Example:
Monthly Payment, 18 Month Binding
term
integer
Example:
1
termUnit
string
Example:
MONTH
binding
integer
Example:
18
bindingUnit
string
Example:
MONTH
priceModel
string

Can the prices be modfied during the binding operiod fixed or variable

Enumeration:
FIXED
VARIABLE
autoRenew
boolean
Example:
true
components
Array

List of component products

Object
id
string
Example:
0aa9ecaa-9d30-11ea-a45f-42010a9a005d
name
string
Example:
Just UP Gas
description
string
SKU
string
pricing
Object
priceType
string

Type of price

Enumeration:
ONE_OFF
RECURRING
priceModel
string

Type of pricing

Enumeration:
FLAT
TIERED
RATED
paymentModel
string

How is the payment processed

Enumeration:
PREPAY
ADD_TO_BILL
ratecard
Object
id
string
Example:
73d2d663-9d27-11ea-a45f-42010a9a005d
name
string
Example:
Gas Usage Charge
rateType
string
Example:
GAS
rating
Array
Object
id
string
Example:
43d9fb32-9d29-11ea-a45f-42010a9a005d
name
string
Example:
Gas Unit Rate GSP 11
rateUnit
string
Example:
KWH
timePeriod
unknown nullable
price
number
Example:
3.48
currency
string
Example:
GBP
taxModel
string
Example:
INCLUSIVE
ratingValues
Array
Object
rateMap
Object
id
string
Example:
59841432-9c52-11ea-a45f-42010a9a005d
name
string
Example:
Supplier
description
string
Example:
Supplier Code based on UK regions 10 - 21
rateValue
string
Example:
10
prices
Array
Object
id
string
Example:
c7af956c-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation Fee
locationCode
string
Example:
UK
currency
string
Example:
GBP
price
integer
Example:
50
displayPrice
string
Example:
£50
taxModel
string
Example:
INCLUSIVE
duringBinding
boolean
string
pricing
Object
priceType
string
priceModel
string
paymentModel
string
ratecard
Object
id
string
Example:
73d2d663-9d27-11ea-a45f-42010a9a005d
name
string
Example:
Gas Usage Charge
rateType
string
Example:
GAS
rating
Array
Object
id
string
Example:
43d9fb32-9d29-11ea-a45f-42010a9a005d
name
string
Example:
Gas Unit Rate GSP 11
salesOrgId
string
Example:
UP
purchaserId
unknown nullable
rateUnit
string
Example:
KWH
timePeriod
unknown nullable
locationCode
string
Example:
UK
price
number
Example:
3.48
currency
string
Example:
GBP
taxModel
string
Example:
INCLUSIVE
minCharge
unknown nullable
chargeAfter
unknown nullable
roundTo
unknown nullable
effectiveDate
integer
Example:
1590192000
ratingValues
Array
Object
id
string
Example:
09a43dd5-9d2e-11ea-a45f-42010a9a005d
rateMap
Object
id
string
Example:
59841432-9c52-11ea-a45f-42010a9a005d
name
string
Example:
Supplier
description
string
Example:
Supplier Code based on UK regions 10 - 21
rateValue
string
Example:
10
prices
Array
Object
id
string
Example:
c7af956c-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation Fee
locationCode
string
Example:
UK
currency
string
Example:
GBP
displayPrice
string
Example:
£50
effectiveDate
integer
Example:
1590278400
duringBinding
boolean
price
integer
Example:
50
taxModel
string
Example:
INCLUSIVE
features
Array
Object
id
string
Example:
e7cc22f0-abf3-11ea-a45f-42010a9a005d
name
string
Example:
Free rewards programme
description
string
Example:
Free reewards program with access to over 40000 products
language
string
Example:
en
priority
integer
Example:
3
filters
Array
Object
id
string
Example:
97c24531-abf1-11ea-a45f-42010a9a005d
onName
string
Example:
Fixed
onDescription
string
Example:
Fixed Rate Tarriff
isOn
boolean
Example:
true
pricing
Object
ratecard
Object
id
string
Example:
73d2d663-9d27-11ea-a45f-42010a9a005d
name
string
Example:
Gas Usage Charge
rateType
string
Example:
GAS
effectiveDate
integer
Example:
1590192000
useProvider
boolean
rating
Array
Object
id
string
Example:
43d9fb32-9d29-11ea-a45f-42010a9a005d
name
string
Example:
Gas Unit Rate GSP 11
salesOrgId
string
Example:
UP
purchaserId
unknown nullable
rateUnit
string
Example:
KWH
timePeriod
unknown nullable
locationCode
string
Example:
UK
price
number
Example:
3.48
currency
string
Example:
GBP
taxModel
string
Example:
INCLUSIVE
minCharge
unknown nullable
chargeAfter
unknown nullable
roundTo
unknown nullable
effectiveDate
integer
Example:
1590192000
ratingValues
Array
Object
id
string
Example:
09a43dd5-9d2e-11ea-a45f-42010a9a005d
rateMap
Object
id
string
Example:
59841432-9c52-11ea-a45f-42010a9a005d
name
string
Example:
Supplier
description
string
Example:
Supplier Code based on UK regions 10 - 21
rateValue
string
Example:
10
prices
Array
Object
id
string
Example:
c7af956c-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation Fee
locationCode
string
Example:
UK
currency
string
Example:
GBP
displayPrice
string
Example:
£50
effectiveDate
integer
Example:
1590278400
duringBinding
boolean
price
integer
Example:
50
taxModel
string
Example:
INCLUSIVE
priceType
string
pricModel
string
paymentModel
string
pageable
Object
page
integer
size
integer
Example:
10
sort
Object
orders
Array of unknown
total
integer
Example:
1
Example 1
Example 2
POST /quotations HTTP/1.1 

Content-Type: application/json

{
    "service_address": {
        "post_code": "",
        "property_identifier": ""
    },
    "product_type": "SERVICE",
    "businessType": "MOBILE",
    "rating": [
        {
            "rate_type": "",
            "rate_amount": 1,
            "rate_value": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "af474667-9da8-11ea-a45f-42010a9a005d",
        "createdOn": 1590526341.000000000,
        "name": "Essential Unlimited Fibre",
        "description": "Essential Unlimited Fibre",
        "businessType": "BROADBAND",
        "productType": "SERVICE",
        "soldAs": "SINGLE",
        "sku": "BB-ESSENTIAL",
        "families": [],
        "brands": [],
        "pricing": [],
        "features": [
            {
                "id": "4ae60e4c-065f-11eb-bf12-42010a9a001b",
                "name": "FREE UP router worth £70.00 just plug in and go!",
                "description": "FREE UP router worth £70.00 just plug in and go!",
                "language": "en",
                "priority": 0
            },
            {
                "id": "af8ca82d-0661-11eb-bf12-42010a9a001b",
                "name": "Average Speed 16MB",
                "description": "Average Speed 16MB",
                "language": "en",
                "priority": 0
            },
            {
                "id": "fb7421e3-065e-11eb-bf12-42010a9a001b",
                "name": "UK customer care and support",
                "description": "UK customer care and support",
                "language": "en",
                "priority": 0
            },
            {
                "id": "f2200705-0661-11eb-bf12-42010a9a001b",
                "name": "Call options and extras to suit your needs",
                "description": "Call options and extras to suit your needs",
                "language": "en",
                "priority": 0
            }
        ],
        "filters": []
    },
    {
        "id": "d41045fd-9da8-11ea-a45f-42010a9a005d",
        "createdOn": 1590526341.000000000,
        "name": "Unlimited Fibre Plus",
        "description": "Unlimited Fibre Plus",
        "businessType": "BROADBAND",
        "productType": "SERVICE",
        "soldAs": "SINGLE",
        "sku": "BB-SUPERFAST",
        "families": [],
        "brands": [],
        "term": {
            "id": "18bc6cd9-bc78-11ea-a45f-42010a9a005d",
            "term": 1,
            "termUnit": "MONTH",
            "binding": 12,
            "bindingUnit": "MONTH",
            "name": "Monthly, 12 Month Binding",
            "priceModel": "VARIABLE",
            "autoRenew": true,
            "pricing": [
                {
                    "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                    "name": "Ultra Ultimate",
                    "prices": [
                        {
                            "id": "99e93efa-9dbd-11ea-a45f-42010a9a005d",
                            "name": "Monthly Service Fee",
                            "locationCode": "UK",
                            "currency": "GBP",
                            "displayPrice": "£34",
                            "effectiveDate": 1590278400.000000000,
                            "duringBinding": false,
                            "price": 34.0000,
                            "taxModel": "INCLUSIVE"
                        }
                    ],
                    "paymentModel": "ADD_TO_BILL",
                    "priceModel": "FLAT",
                    "priceType": "RECURRING",
                    "isPrimary": true
                },
                {
                    "id": "be29be7b-9dc2-11ea-a45f-42010a9a005d",
                    "name": "Activation",
                    "prices": [
                        {
                            "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                            "name": "Activation Fee",
                            "locationCode": "UK",
                            "currency": "GBP",
                            "displayPrice": "£50",
                            "effectiveDate": 1590278400.000000000,
                            "duringBinding": false,
                            "price": 50.0000,
                            "taxModel": "INCLUSIVE"
                        }
                    ],
                    "paymentModel": "PREPAY",
                    "priceModel": "FLAT",
                    "priceType": "ONE_OFF",
                    "isPrimary": false
                }
            ]
        },
        "pricing": [
            {
                "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                "name": "Ultra Ultimate",
                "prices": [
                    {
                        "id": "99e93efa-9dbd-11ea-a45f-42010a9a005d",
                        "name": "Monthly Service Fee",
                        "locationCode": "UK",
                        "currency": "GBP",
                        "displayPrice": "£34",
                        "effectiveDate": 1590278400.000000000,
                        "duringBinding": false,
                        "price": 34.0000,
                        "taxModel": "INCLUSIVE"
                    }
                ],
                "paymentModel": "ADD_TO_BILL",
                "priceModel": "FLAT",
                "priceType": "RECURRING",
                "isPrimary": true
            },
            {
                "id": "be29be7b-9dc2-11ea-a45f-42010a9a005d",
                "name": "Activation",
                "prices": [
                    {
                        "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                        "name": "Activation Fee",
                        "locationCode": "UK",
                        "currency": "GBP",
                        "displayPrice": "£50",
                        "effectiveDate": 1590278400.000000000,
                        "duringBinding": false,
                        "price": 50.0000,
                        "taxModel": "INCLUSIVE"
                    }
                ],
                "paymentModel": "PREPAY",
                "priceModel": "FLAT",
                "priceType": "ONE_OFF",
                "isPrimary": false
            }
        ],
        "features": [
            {
                "id": "4ae60e4c-065f-11eb-bf12-42010a9a001b",
                "name": "FREE UP router worth £70.00 just plug in and go!",
                "description": "FREE UP router worth £70.00 just plug in and go!",
                "language": "en",
                "priority": 0
            },
            {
                "id": "baabdc61-0661-11eb-bf12-42010a9a001b",
                "name": "Average speed 35MB",
                "description": "Average speed 35MB",
                "language": "en",
                "priority": 0
            },
            {
                "id": "fb7421e3-065e-11eb-bf12-42010a9a001b",
                "name": "UK customer care and support",
                "description": "UK customer care and support",
                "language": "en",
                "priority": 0
            },
            {
                "id": "f2200705-0661-11eb-bf12-42010a9a001b",
                "name": "Call options and extras to suit your needs",
                "description": "Call options and extras to suit your needs",
                "language": "en",
                "priority": 0
            }
        ],
        "filters": []
    },
    {
        "id": "42d195d6-0658-11eb-bf12-42010a9a001b",
        "createdOn": 1601826171.000000000,
        "name": "Ultra Unlimited Fibre Plus",
        "description": "Ultra Unlimited Fibre Plus",
        "businessType": "BROADBAND",
        "productType": "SERVICE",
        "soldAs": "SINGLE",
        "sku": "BB-ULTRA",
        "families": [],
        "brands": [],
        "pricing": [],
        "features": [
            {
                "id": "2c8f30a1-0663-11eb-bf12-42010a9a001b",
                "name": "Average Speed 63MB",
                "description": "Average Speed 63MB",
                "language": "en",
                "priority": 0
            },
            {
                "id": "4ae60e4c-065f-11eb-bf12-42010a9a001b",
                "name": "FREE UP router worth £70.00 just plug in and go!",
                "description": "FREE UP router worth £70.00 just plug in and go!",
                "language": "en",
                "priority": 0
            },
            {
                "id": "fb7421e3-065e-11eb-bf12-42010a9a001b",
                "name": "UK customer care and support",
                "description": "UK customer care and support",
                "language": "en",
                "priority": 0
            },
            {
                "id": "f2200705-0661-11eb-bf12-42010a9a001b",
                "name": "Call options and extras to suit your needs",
                "description": "Call options and extras to suit your needs",
                "language": "en",
                "priority": 0
            }
        ],
        "filters": []
    }
]




POST /quotations HTTP/1.1 

Content-Type: application/json

{
    "service_address": {
        "post_code": "",
        "property_identifier": ""
    },
    "product_type": "EXPENSE",
    "businessType": "FIXED_LINE",
    "rating": [
        {
            "rate_type": "",
            "rate_amount": 1,
            "rate_value": ""
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "221b48c1-9c2b-11ea-a45f-42010a9a005d",
            "name": "Just UP",
            "description": "Just UP fixed rate or basic package",
            "businessType": "ENERGY",
            "productType": "SERVICE",
            "soldAs": "SINGLE",
            "sku": "JUST-UP-01",
            "families": [
                {
                    "id": "4e65ee2c-abee-11ea-a45f-42010a9a005d",
                    "name": "Utility Point",
                    "description": "Utility Point Gas and Electric Products"
                }
            ],
            "brands": [
                null
            ],
            "term": {
                "id": "a50eff8c-9dae-11ea-a45f-42010a9a005d",
                "name": "Monthly Payment, 18 Month Binding",
                "term": 1,
                "termUnit": "MONTH",
                "binding": 18,
                "bindingUnit": "MONTH",
                "priceModel": "VARIABLE",
                "autoRenew": true,
                "components": [
                    {
                        "id": "0aa9ecaa-9d30-11ea-a45f-42010a9a005d",
                        "name": "Just UP Gas",
                        "description": "",
                        "SKU": "",
                        "pricing": {
                            "priceType": "ONE_OFF",
                            "priceModel": "FLAT",
                            "paymentModel": "PREPAY",
                            "ratecard": {
                                "id": "73d2d663-9d27-11ea-a45f-42010a9a005d",
                                "name": "Gas Usage Charge",
                                "rateType": "GAS",
                                "rating": [
                                    {
                                        "id": "43d9fb32-9d29-11ea-a45f-42010a9a005d",
                                        "name": "Gas Unit Rate GSP 11",
                                        "rateUnit": "KWH",
                                        "timePeriod": null,
                                        "price": 3.48,
                                        "currency": "GBP",
                                        "taxModel": "INCLUSIVE",
                                        "ratingValues": [
                                            {
                                                "rateMap": {
                                                    "id": "59841432-9c52-11ea-a45f-42010a9a005d",
                                                    "name": "Supplier",
                                                    "description": "Supplier Code based on UK regions 10  - 21"
                                                },
                                                "rateValue": "10"
                                            }
                                        ]
                                    }
                                ]
                            },
                            "prices": [
                                {
                                    "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                                    "name": "Activation Fee",
                                    "locationCode": "UK",
                                    "currency": "GBP",
                                    "price": 50,
                                    "displayPrice": "£50",
                                    "taxModel": "INCLUSIVE",
                                    "duringBinding": true
                                },
                                ""
                            ]
                        }
                    }
                ],
                "pricing": {
                    "priceType": "",
                    "priceModel": "",
                    "paymentModel": "",
                    "ratecard": {
                        "id": "73d2d663-9d27-11ea-a45f-42010a9a005d",
                        "name": "Gas Usage Charge",
                        "rateType": "GAS",
                        "rating": [
                            {
                                "id": "43d9fb32-9d29-11ea-a45f-42010a9a005d",
                                "name": "Gas Unit Rate GSP 11",
                                "salesOrgId": "UP",
                                "purchaserId": null,
                                "rateUnit": "KWH",
                                "timePeriod": null,
                                "locationCode": "UK",
                                "price": 3.48,
                                "currency": "GBP",
                                "taxModel": "INCLUSIVE",
                                "minCharge": null,
                                "chargeAfter": null,
                                "roundTo": null,
                                "effectiveDate": 1590192000,
                                "ratingValues": [
                                    {
                                        "id": "09a43dd5-9d2e-11ea-a45f-42010a9a005d",
                                        "rateMap": {
                                            "id": "59841432-9c52-11ea-a45f-42010a9a005d",
                                            "name": "Supplier",
                                            "description": "Supplier Code based on UK regions 10  - 21"
                                        },
                                        "rateValue": "10"
                                    }
                                ]
                            }
                        ]
                    },
                    "prices": [
                        {
                            "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                            "name": "Activation Fee",
                            "locationCode": "UK",
                            "currency": "GBP",
                            "displayPrice": "£50",
                            "effectiveDate": 1590278400,
                            "duringBinding": true,
                            "price": 50,
                            "taxModel": "INCLUSIVE"
                        }
                    ]
                }
            },
            "features": [
                {
                    "id": "e7cc22f0-abf3-11ea-a45f-42010a9a005d",
                    "name": "Free rewards programme",
                    "description": "Free reewards program with access to over 40000 products",
                    "language": "en",
                    "priority": 3
                }
            ],
            "filters": [
                {
                    "id": "97c24531-abf1-11ea-a45f-42010a9a005d",
                    "onName": "Fixed",
                    "onDescription": "Fixed Rate Tarriff",
                    "isOn": true
                }
            ],
            "pricing": {
                "ratecard": {
                    "id": "73d2d663-9d27-11ea-a45f-42010a9a005d",
                    "name": "Gas Usage Charge",
                    "rateType": "GAS",
                    "effectiveDate": 1590192000,
                    "useProvider": true,
                    "rating": [
                        {
                            "id": "43d9fb32-9d29-11ea-a45f-42010a9a005d",
                            "name": "Gas Unit Rate GSP 11",
                            "salesOrgId": "UP",
                            "purchaserId": null,
                            "rateUnit": "KWH",
                            "timePeriod": null,
                            "locationCode": "UK",
                            "price": 3.48,
                            "currency": "GBP",
                            "taxModel": "INCLUSIVE",
                            "minCharge": null,
                            "chargeAfter": null,
                            "roundTo": null,
                            "effectiveDate": 1590192000,
                            "ratingValues": [
                                {
                                    "id": "09a43dd5-9d2e-11ea-a45f-42010a9a005d",
                                    "rateMap": {
                                        "id": "59841432-9c52-11ea-a45f-42010a9a005d",
                                        "name": "Supplier",
                                        "description": "Supplier Code based on UK regions 10  - 21"
                                    },
                                    "rateValue": "10"
                                }
                            ]
                        }
                    ]
                },
                "prices": [
                    {
                        "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                        "name": "Activation Fee",
                        "locationCode": "UK",
                        "currency": "GBP",
                        "displayPrice": "£50",
                        "effectiveDate": 1590278400,
                        "duringBinding": true,
                        "price": 50,
                        "taxModel": "INCLUSIVE"
                    }
                ],
                "priceType": "",
                "pricModel": "",
                "paymentModel": ""
            }
        }
    ],
    "pageable": {
        "page": 1,
        "size": 10,
        "sort": {
            "orders": [
                null
            ]
        }
    },
    "total": 1
}
Publishing

Publishing Products allows order, and setting popular and special straplines, for a given Brand and Affiliate as optional parameters

List Publishing Information
GET /publish

Request parameters

brand
string optional

brand ID, required to use for publishing

affilliate
string optional

Affilliate Code

Responses

200 OK
Body
Array
Object
id
string
tarrif
Object
id
string
name
string
priority
string
strapline
string
isPopular
string
Create Publish Information
POST /publish

Publish Information for Tarrif

Request body

Object
publish_for
Object
brand_id
string
affiliate_id
string
items
Array
Object
tarriff_id
string
priority
integer
isPopular
boolean
Strapline
string
Example 1
POST /publish HTTP/1.1 

Content-Type: application/json

{
    "publish_for": {
        "brand_id": "",
        "affiliate_id": ""
    },
    "items": [
        {
            "tarriff_id": "",
            "priority": 1,
            "isPopular": true,
            "Strapline": ""
        }
    ]
}
Product Catalog
POST /catalogs
GET /catalogs
POST /catalogs/{id}/catalog_categories
GET /catalogs/{id}/catalog_categories
POST /catalog_categories/{category_id}/products
GET /catalog_categories/{id}/products
GET /product_categories
GET /product_categories/{id}
POST /catalogs/{id}/timimgs
GET /catalogs/{id}/timings
GET /family/{id}/filters
Add Catalog
POST /catalogs

Request body

Object
organisation_id
string

Ownwer of the catalog shoul dbe set by API_KEY so remove

name
string
description
string
display_name
string
is_delivery
boolean
is_pickup
boolean
is_instore
string
Examples
Example 1
POST /catalogs HTTP/1.1 

Content-Type: application/json

curl --location --request POST 'https://dev.crmcloudapi.com/v3/api/catalogs' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Test-Name",
    "description": "Test-Description",
    "display_name": "Test-Display-Name",
    "delivery": true,
    "pickup": false,
    "instore": false
}'
Get Catalogs
GET /catalogs

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
e208a911-e3bd-4b78-b778-712bea08bb1d
name
string
Example:
Bangin Burgers
description
string
Example:
Bangin Burgers delivery and pickup menu
display_name
string
Example:
Bangin Brgers
organisation_id
string
delivery
boolean
Example:
true
pickup
boolean
Example:
true
instore
boolean
Example:
true
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
10
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
1
total_elements
integer
Example:
2
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
2
first
boolean
Example:
true
size
integer
Example:
10
empty
boolean
Example 1
GET  HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

curl --location --request GET 'https://dev.crmcloudapi.com/v3/api/catalogs?delivery=true&instore=true&pickup=true'
Add Category to Catalog
POST /catalogs/{id}/catalog_categories

Add catgegories to a catalog, single POST call replaces all categories

Path variables

id
string required

Request body

Array
Object
id
string

Vizulink ID if imported or using default products

integration
Object
category_id
string

category ID from External System

integration_id
string

Integration_id of external system

priority
string

priority for ordering

Example 1
POST /catalogs/{id}/catalog_categories HTTP/1.1 

Content-Type: application/json

curl --location --request POST 'https://dev.crmcloudapi.com/v3/api/catalogs/e208a911-e3bd-4b78-b778-712bea08bb1d/catalog_categories' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "id": null,
        "integration": {
            "category_id": "37255f0a-e8f8-4eae-b256-87f0b392edd2",
            "integration_id": "b58769d9-6a35-11eb-9d2c-42010a9a0fed"
        },
        "priority": 0
    },
    {
        "id": null,
        "integration": {
            "category_id": "601496f7-0851-4ff1-86ab-73a3ffc4c165",
            "integration_id": "b58769d9-6a35-11eb-9d2c-42010a9a0fed"
        },
        "priority": 1
    },
    {
        "id": null,
        "integration": {
            "category_id": "86273d4c-ec3d-45eb-b0f7-5081330f76f3",
            "integration_id": "b58769d9-6a35-11eb-9d2c-42010a9a0fed"
        },
        "priority": 2
    }
]'
Catalog Category List
GET /catalogs/{id}/catalog_categories

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
b51b0814-76ef-4ad7-888d-566d8fb44bec
name
string
Example:
Burgers
description
string
Example:
Burgers
code
string
Example:
BURG-01
priority
integer
integration
Object
integration_id
string
Example:
b58769d9-6a35-11eb-9d2c-42010a9a0fed
category_id
string
Example:
37255f0a-e8f8-4eae-b256-87f0b392edd2
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
offset
integer
page_number
integer
page_size
integer
Example:
10
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
1
total_elements
integer
Example:
3
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
size
integer
Example:
10
number
integer
number_of_elements
integer
Example:
3
first
boolean
Example:
true
empty
boolean
Example 1
GET /catalogs/{id}/catalog_categories HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

curl --location --request GET 'https://dev.crmcloudapi.com/v3/api/catalogs/e208a911-e3bd-4b78-b778-712bea08bb1d/catalog_categories'
Add Product To Category
POST /catalog_categories/{category_id}/products

Path variables

category_id
string required

Request body

Array
Object
id
string

Internal vizulink product if imported

integration
Object
product_id
string

External Product ID

integration_id
string

Integrtation ID for example CRM, ECWID, SHOPIFY

priority
string
Example 1
POST /catalog_categories/{category_id}/products HTTP/1.1 

Content-Type: application/json

curl --location --request POST 'https://dev.crmcloudapi.com/v3/api/catalog_categories/b51b0814-76ef-4ad7-888d-566d8fb44bec/products' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "id": null,
        "integration": {
            "product_id": "5315d45f-83bb-4659-9546-b5a2fc555711",
            "integration_id": "b58769d9-6a35-11eb-9d2c-42010a9a0fed"
        },
        "priority": 0
    },
    {
        "id": null,
        "integration": {
            "product_id": "888c70b9-f071-4404-aa6f-2f0b512eac70",
            "integration_id": "b58769d9-6a35-11eb-9d2c-42010a9a0fed"
        },
        "priority": 1
    }
]'
List Products for Category
GET /catalog_categories/{id}/products

List of products configred for a Catalog Category. Supports Externally managed Products.

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
4132336f-95b8-11ea-a45f-42010a9a005d
created_on
integer
Example:
1590526341
name
string
Example:
Latte
description
string
Example:
Our signature blend espresso with steamed milk for a smooth and creamy coffee
business_type
string
Example:
FOOD_DRINK
product_type
string
Example:
PHYSICAL
sold_as
string
Example:
SINGLE
sku
string
Example:
LATTE-01
families
Array
Object
id
string
Example:
37803fc4-1b69-4050-9c4b-3747ea01b732
name
string
Example:
Vizulink
description
string
Example:
Vizulink
brands
Array
Object
id
string
Example:
b203637e-a731-11ea-a45f-42010a9a005d
name
string
Example:
Costa Coffee
description
string
Example:
Costa Coffee
pricing
Array of unknown
features
Array of unknown
filters
Array of unknown
creatives
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
10
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
3
total_elements
integer
Example:
29
last
boolean
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
10
first
boolean
Example:
true
size
integer
Example:
10
empty
boolean
Example 1
GET /catalog_categories/{id}/products HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

curl --location --request GET 'https://dev.crmcloudapi.com/v3/api/catalog_categories/b51b0814-76ef-4ad7-888d-566d8fb44bec/products'
Product Category List
GET /product_categories

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
bb264c5f-a7bc-4fa7-a8dc-40a107299b1f
name
string
Example:
Kids
description
string
Example:
Kids meals
code
string
Example:
CAT-KIDS
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
offset
integer
page_number
integer
page_size
integer
Example:
10
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
1
total_elements
integer
Example:
6
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
size
integer
Example:
10
number
integer
number_of_elements
integer
Example:
6
first
boolean
Example:
true
empty
boolean
Example 1
GET /product_categories HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

curl --location --request GET 'https://dev.crmcloudapi.com/v3/api/product_categories?integration_id=b58769d9-6a35-11eb-9d2c-42010a9a0fed'
Product Category Item
GET /product_categories/{id}

Path variables

id
string required

Responses

200 OK
Body
Object
id
string
Example:
601496f7-0851-4ff1-86ab-73a3ffc4c165
name
string
Example:
Kids Meals
description
string
Example:
Kids Meals
code
string
Example:
KIDS-01
priority
integer
integration
unknown nullable
Example 1
GET /product_categories/{id} HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

curl --location --request GET 'https://dev.crmcloudapi.com/v3/api/product_categories/601496f7-0851-4ff1-86ab-73a3ffc4c165?integration_id=b58769d9-6a35-11eb-9d2c-42010a9a0fed'
Create Catalog Timings
POST /catalogs/{id}/timimgs

Path variables

id
string required

Request body

Array
Object
day_of_week
integer

Week Day Mon = 1

start_time
string

Start time as string in 24 hour

end_time
string

End time as string in 24 hour

Get Catalog Timings
GET /catalogs/{id}/timings

get a list of Timings for a catalog

Path variables

id
string required

Responses

200 OK
Body
Array
Object
id
string
day_of_week
integer
start_time
string
end_time
string
Usage Ratings
Object
ratecards
Array
Object
id
string

ID of Ratecard

name
string

Ratecard Name

rate_type
string
Enumeration:
VOICE
DATA
SMS
FUEL
GAS
ELECTRIC
rating
Array
Object
id
string
Example:
ID of Rating
name
string
rate_unit
string
location_code
string
currency
string
price
string
display_price
string
tax_model
string
time_period
Object
id
string
name
string
day_start
string
day_end
string
start_time
string
end_time
string
rating_values
Object
id
string
name
string
rate_value
string
rate_map
Object
id
string
name
string
List of Product Filters
GET /family/{id}/filters

Path variables

id
string required

Responses

200 OK
Body
Object
id
string
Example:
4e65ee2c-abee-11ea-a45f-42010a9a005d
name
string
Example:
Utility Point
description
string
Example:
Utility Point Gas and Electric Products
filters
Array
Object
id
string
Example:
97c24531-abf1-11ea-a45f-42010a9a005d
name
string
Example:
Fixed / Flexible
onName
string
Example:
Fixed
onDescription
string
Example:
Fixed Rate Tarriff
offName
string
Example:
Flexible
offDescription
string
Example:
Tarriff rates can go up and down
isOn
boolean
Example 1
GET /family/{id}/filters HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "4e65ee2c-abee-11ea-a45f-42010a9a005d",
    "name": "Utility Point",
    "description": "Utility Point Gas and Electric Products",
    "filters": [
        {
            "id": "97c24531-abf1-11ea-a45f-42010a9a005d",
            "name": "Fixed / Flexible",
            "onName": "Fixed",
            "onDescription": "Fixed Rate Tarriff",
            "offName": "Flexible",
            "offDescription": "Tarriff rates can go up and down",
            "isOn": false
        },
        {
            "id": "c804de5a-abf1-11ea-a45f-42010a9a005d",
            "name": "Term",
            "onName": "12 mth",
            "onDescription": "12 Mth",
            "offName": "12 mth+",
            "offDescription": "Longer than 12 Months",
            "isOn": false
        },
        {
            "id": "1f76d3b9-abf2-11ea-a45f-42010a9a005d",
            "name": "Billing",
            "onName": "Paperless",
            "onDescription": "No Paper Bills",
            "offName": "Digital",
            "offDescription": "Digital Bills",
            "isOn": false
        }
    ]
}
Quotation - Energy Cloud
GET /quote

Responses

200 OK
Body
Object
brand
Object
id
string
Example:
54af047f-44d0-11e9-bfde-42010a9a0095
name
string
Example:
Utility Point
description
string
Example:
Utility Point
tariff
Object
id
string
Example:
ea2589a2-44d0-11e9-bfde-42010a9a0095
name
string
Example:
UP Variable
description
string
Example:
UP Variable
strapLine
string
Example:
Most Popular
fixedUnitRate
boolean
rewards
boolean
Example:
true
pointPledge
boolean
Example:
true
mgmtTeam
boolean
Example:
true
fixedTerm
integer
fixedEnd
unknown nullable
onlineManagement
boolean
Example:
true
features
Array
Object
id
string
Example:
c9b99db7-abf3-11ea-a45f-42010a9a005d
name
string
Example:
24/7 on-line account access
description
string
Example:
Access via portal / APP 24 x 7
language
string
Example:
en
priority
integer
filters
Array
Object
id
string
Example:
97c24531-abf1-11ea-a45f-42010a9a005d
name
string
Example:
Fixed / Flexible
offName
string
Example:
Flexible
offDescription
string
Example:
Tarriff rates can go up and down
affiliate
unknown nullable
priority
integer
id
string
Example:
ce270d34-44ec-11e9-bfde-42010a9a0095
tariffId
string
Example:
ea2589a2-44d0-11e9-bfde-42010a9a0095
regionId
integer
Example:
20
gasStandingCharge
number
Example:
13.8596
gasUnitRate
number
Example:
3.1996
elecStandingCharge
number
Example:
14.5322
elecUnitRate
number
Example:
14.2389
dualAvg
number
Example:
928.99
gasAvg
number
Example:
494.45
elecAvg
number
Example:
434.54
gasExitFee
integer
Example:
30
elecExitFee
integer
Example:
30
meterReadFreq
string
Example:
MONTHLY
onlineMgtDiscount
integer
Example:
15
outwardCode
string
Example:
GU27
onlineMgtIncluded
unknown nullable
fuelType
unknown nullable
monthlyGasFee
unknown nullable
monthlyElectricityFee
number
Example:
25.77
Example 1
GET /quote HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[{
        "brand": {
            "id": "54af047f-44d0-11e9-bfde-42010a9a0095",
            "name": "Utility Point",
            "description": "Utility Point"
        },
        "tariff": {
            "id": "ea2589a2-44d0-11e9-bfde-42010a9a0095",
            "name": "UP Variable",
            "description": "UP Variable",
            "strapLine": "Most Popular",
            "fixedUnitRate": false,
            "rewards": true,
            "pointPledge": true,
            "mgmtTeam": true,
            "fixedTerm": 0,
            "fixedEnd": null,
            "onlineManagement": true,
            "features": [
                {
                    "id": "c9b99db7-abf3-11ea-a45f-42010a9a005d",
                    "name": "24/7 on-line account access",
                    "description": "Access via portal / APP 24 x 7",
                    "language": "en",
                    "priority": 0
                },
                {
                    "id": "abfddd79-abf3-11ea-a45f-42010a9a005d",
                    "name": "Fixed Unit Rates",
                    "description": "Unit Rates are fixed for the length of the term",
                    "language": "en",
                    "priority": 0
                },
                {
                    "id": "e7cc22f0-abf3-11ea-a45f-42010a9a005d",
                    "name": "Free rewards programme",
                    "description": "Free reewards program with access to over 40000 products",
                    "language": "en",
                    "priority": 0
                }
            ],
            "filters": [
                {
                    "id": "97c24531-abf1-11ea-a45f-42010a9a005d",
                    "name": "Fixed / Flexible",
                    "offName": "Flexible",
                    "offDescription": "Tarriff rates can go up and down"
                },
                {
                    "id": "1f76d3b9-abf2-11ea-a45f-42010a9a005d",
                    "name": "Billing",
                    "onName": "Paperless",
                    "onDescription": "No Paper Bills"
                }
            ]
        },
        "affiliate": null,
        "priority": 0,
        "id": "ce270d34-44ec-11e9-bfde-42010a9a0095",
        "tariffId": "ea2589a2-44d0-11e9-bfde-42010a9a0095",
        "regionId": 20,
        "gasStandingCharge": 13.8596,
        "gasUnitRate": 3.1996,
        "elecStandingCharge": 14.5322,
        "elecUnitRate": 14.2389,
        "dualAvg": 928.99,
        "gasAvg": 494.45,
        "elecAvg": 434.54,
        "gasExitFee": 30,
        "elecExitFee": 30,
        "meterReadFreq": "MONTHLY",
        "onlineMgtDiscount": 15,
        "outwardCode": "GU27",
        "onlineMgtIncluded": null,
        "fuelType": null,
        "monthlyGasFee": null,
        "monthlyElectricityFee": 25.77
    },
    {
        "brand": {
            "id": "54af047f-44d0-11e9-bfde-42010a9a0095",
            "name": "Utility Point",
            "description": "Utility Point"
        },
        "tariff": {
            "id": "3a9878c7-44d1-11e9-bfde-42010a9a0095",
            "name": "Just UP",
            "description": "Just UP Fixed",
            "strapLine": "Best Value",
            "fixedUnitRate": true,
            "rewards": true,
            "pointPledge": true,
            "mgmtTeam": true,
            "fixedTerm": 18,
            "fixedEnd": null,
            "onlineManagement": true,
            "features": [
                {
                    "id": "c9b99db7-abf3-11ea-a45f-42010a9a005d",
                    "name": "24/7 on-line account access",
                    "description": "Access via portal / APP 24 x 7",
                    "language": "en",
                    "priority": 0
                },
                {
                    "id": "abfddd79-abf3-11ea-a45f-42010a9a005d",
                    "name": "Fixed Unit Rates",
                    "description": "Unit Rates are fixed for the length of the term",
                    "language": "en",
                    "priority": 0
                },
                {
                    "id": "e7cc22f0-abf3-11ea-a45f-42010a9a005d",
                    "name": "Free rewards programme",
                    "description": "Free reewards program with access to over 40000 products",
                    "language": "en",
                    "priority": 0
                }
            ],
            "filters": [
                {
                    "id": "97c24531-abf1-11ea-a45f-42010a9a005d",
                    "name": "Fixed / Flexible",
                    "onName": "Fixed",
                    "onDescription": "Fixed Rate Tarriff"
                },
                {
                    "id": "1f76d3b9-abf2-11ea-a45f-42010a9a005d",
                    "name": "Billing",
                    "onName": "Paperless",
                    "onDescription": "No Paper Bills"
                }
            ]
        },
        "affiliate": null,
        "priority": 0,
        "id": "e1d55bc7-44ec-11e9-bfde-42010a9a0095",
        "tariffId": "3a9878c7-44d1-11e9-bfde-42010a9a0095",
        "regionId": 20,
        "gasStandingCharge": 13.1996,
        "gasUnitRate": 3.0472,
        "elecStandingCharge": 15.9985,
        "elecUnitRate": 13.5609,
        "dualAvg": 928.99,
        "gasAvg": 494.45,
        "elecAvg": 434.54,
        "gasExitFee": 30,
        "elecExitFee": 30,
        "meterReadFreq": "MONTHLY",
        "onlineMgtDiscount": 15,
        "outwardCode": "GU27",
        "onlineMgtIncluded": null,
        "fuelType": null,
        "monthlyGasFee": null,
        "monthlyElectricityFee": 25.2
    }
]
Ordering

Ordering API

GET /orders
POST /orders
POST /orders
GET /orders/{id}
POST /quotations
POST /orders
List of Orders
GET /orders

Responses

200 OK
Body
Object
content
Array
Object
id
string

Order ID

order_date
number
notes
string
contact
Object
id
string

Contact ID

title
string
forename
string
surname
string
service_address
products
Array
Object
id
string

Product ID

name
string
description
string
product_class
string
term
Object
binding
number
binding_unit
string
life_cycle
Array of Life Cycles
Place Order
POST /orders

Place an Order for multiple Services

Request body

Object
contact
Object

Contact Details

id
string

id of an existing contact

title
string

Title

forename
string

Forename

surname
string

Surname

company_name
string

Business name.

address
Array
Object
id
string
address_type
string
products
Array
Object
id
string

Product ID

sku
string
payments
Array
Object
id
string
amount
number

Amount of Payment

gateway
Object
Example 1
POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contact": {
        "id": "",
        "title": "",
        "forename": "",
        "surname": "",
        "company_name": ""
    },
    "address": [
        {
            "id": "",
            "address_type": ""
        }
    ],
    "products": [
        {
            "id": "",
            "sku": ""
        }
    ],
    "payments": [
        {
            "id": "",
            "amount": 1,
            "gateway": {}
        }
    ]
}
New Order
POST /orders

Request body

Object
contact
Object
id
string
Example:
existing contact or shared ID from an external system
name
Object
forename
string
Example:
Andrei
surname
string
Example:
Suciu
title
string
email
string
Example:
billperkins@gmail.com
mobile
string
Example:
07566224395
landline
string
Example:
01983616214
date_of_birth
string
Example:
1990-05-24
credentials
Array

credentials for either email password or Social login

Object
provider
string
Example:
EMAIL
password
string
Example:
password
token
string

oAUTH Token like facebook or other service

Example:
FBToken
billing
bank
Object
account_name
string
Example:
Andrei S
account_number
string
Example:
21-23-12
sort_code
string
Example:
92-13-91
directdebit
Object
reference
string
Example:
UPB123456
starts
integer
Example:
1606682243312
Amount
number
Example:
115.69
referral
Object
afilliate
string
Example:
code
code
string
Example:
refer_fred
marketing
Array
Object
channel
string
Example:
EMAIL
opt_in
boolean
Example:
true
payment
Object
method_id
string

Existing payment Method ID thi scan be null if a new payment is specified

Example:
GUID
method_type
string

Payment using CARD, BANK, CASH

Enumeration:
BANK
CARD
CASH
gateway
Object

gateway used to process payment

provider
string

STRIPE,ELAVON

Enumeration:
STRIPE
ELAVON
SMARTDEBIT
token
string

Token from client hosted pages, with the credit card / payment details

identifier
string

Unique transaction ID if different to tokenised payemnt / card

amount
string

Amount processed on card

collection
string

Collect from Server or Client

Enumeration:
CLIENT
SERVER
store_card
boolean

store card for later use

site
Object
address
broadband
Object
service_line
string
Example:
01983616214
line_type
string
Example:
EXISTING
porting
string
Example:
VOFDAFONE,SKY
energy
Object
electric
Array
Object
mpan
string
Example:
2000019685021
day_eac
string
Example:
4300
night_eac
unknown nullable
gas
Array
Object
mprn
string
Example:
0000000000
aq
integer
Example:
17000
products
Array
Object
id
string
Example:
af474667-9da8-11ea-a45f-42010a9a005d
name
string
Example:
Essential Unlimited Fibre
description
string
business_type
string
Example:
BROADBAND
product_type
string
Example:
SERVICE
product_class
term
Object
id
string
name
string
billing
number
billing_unit
binding
number
binding_unit
prices
Array
Object
id
string
Example:
24224990-9dad-11ea-a45f-42010a9a005d
name
string
Example:
Essential
amount
number
Example:
19.99
tax_amount
string

tax Amount

tax_model

type of tax model

tax_rate
number
currency
string
payment_model
string
Example:
ADD_TO_BILL
price_type
string
Example:
RECURRING
Example 4
Example 1
Example 2
Example 3

New Broadband

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contact": {
        "id": "existing contact or shared ID from an external system",
        "name": {
            "forename": "Andrei",
            "surname": "Suciu",
            "title": ""
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_id": "GUID",
        "method_type": "BANK",
        "gateway": {
            "provider": "SMARTDEBIT",
            "token": "",
            "identifier": ""
        },
        "amount": "",
        "collection": "CLIENT",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "description": "",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "product_class": {
                    "product_class": "ROUTER"
                },
                "term": {
                    "id": "",
                    "name": "",
                    "billing": 1,
                    "billing_unit": {
                        "units": "WEEK"
                    },
                    "binding": 1,
                    "binding_unit": {
                        "units": "YEAR"
                    }
                },
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "tax_amount": "",
                        "tax_model": {
                            "tax_model": "INCLUSIVE"
                        },
                        "tax_rate": 1,
                        "currency": "",
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}

Set up New customer no ID supplied

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "BANK",
        "method_id": "GUID",
        "gateway": {
            "provider": "STRIPE",
            "token": ""
        },
        "amount": "",
        "collection": "CLIENT",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}

Use a provided ID for a new customer

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "energyCloud-GUID",
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "CASH",
        "method_id": "GUID",
        "gateway": {
            "provider": "ELAVON",
            "token": ""
        },
        "amount": "",
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}
POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "guid-123"
    },
    "payment": {
        "method_type": "CARD",
        "method_id": "GUID",
        "gateway": {
            "provider": "ELAVON",
            "token": ""
        },
        "amount": 45.88,
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "guid-address"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}
Get Order
GET /orders/{id}

Path variables

id
string required

Request body

Object
id
string

Unique id of Order

life_cycles
Array of Life Cycles
contact
Object
id
string
Example:
existing contact or shared ID from an external system
name
Object
forename
string
Example:
Andrei
surname
string
Example:
Suciu
title
string
billing
payment
Array of Payment Method
site
Object
address
broadband
Object
service_line
string
Example:
01983616214
line_type
string
Example:
EXISTING
porting
string
Example:
VOFDAFONE,SKY
energy
Object
electric
Array
Object
mpan
string
Example:
2000019685021
day_eac
string
Example:
4300
night_eac
unknown nullable
gas
Array
Object
mprn
string
Example:
0000000000
aq
integer
Example:
17000
products
Array
Object
id
string
Example:
af474667-9da8-11ea-a45f-42010a9a005d
name
string
Example:
Essential Unlimited Fibre
description
string
business_type
string
Example:
BROADBAND
product_type
string
Example:
SERVICE
term_id
string
Example:
guid
term_name
string
Example:
12 Months
prices
Array
Object
id
string
Example:
24224990-9dad-11ea-a45f-42010a9a005d
name
string
Example:
Essential
amount
number
Example:
19.99
tax_amount
string

tax Amount

tax_model

type of tax model

currency
string
payment_model
string
Example:
ADD_TO_BILL
price_type
string
Example:
RECURRING
Example 4
Example 1
Example 2
Example 3

New Broadband

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "external-guid",
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "CARD",
        "method_id": "GUID",
        "gateway": {
            "provider": "STRIPE",
            "token": ""
        },
        "amount": "",
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}

Set up New customer no ID supplied

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "BANK",
        "method_id": "GUID",
        "gateway": {
            "provider": "STRIPE",
            "token": ""
        },
        "amount": "",
        "collection": "CLIENT",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}

Use a provided ID for a new customer

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "energyCloud-GUID",
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "CASH",
        "method_id": "GUID",
        "gateway": {
            "provider": "ELAVON",
            "token": ""
        },
        "amount": "",
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}
POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "guid-123"
    },
    "payment": {
        "method_type": "CARD",
        "method_id": "GUID",
        "gateway": {
            "provider": "ELAVON",
            "token": ""
        },
        "amount": 45.88,
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "guid-address"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}
Quotations - CRM
POST /quotations

Responses

201 Created
Body
Object
site
Object
address_id
string

unique address ID

connections
Object
fixed_lines
Array

Number of working Lines

Object
exchange_code
string

exchange data

partial
string

Partial Number

service_type
string
Enumeration:
PSTN_SINGLE_LINE
SKY
TTB
SoGEA
technology_type
string
retention_allowed
boolean
telephone_number
string
line_status
string
Enumeration:
STOPPED
WORKING
products
Array
Object
id
string
Example:
af474667-9da8-11ea-a45f-42010a9a005d
created_on
integer
Example:
1590526341
name
string
Example:
Robin
description
string
Example:
UP Stream, Email and Social
business_type
string
Example:
BROADBAND
product_type
string
Example:
SERVICE
product_class
string
Example:
BROADBAND
sold_as
string
Example:
SINGLE
sku
string
Example:
BB-ESSENTIAL
families
Array of unknown
brands
Array of unknown
specifications
Array
Object
external_id
string
Example:
63987391-07e6-11eb-bf12-42010a9a001b
name
string
Example:
Upload Speed
classification
string
Example:
UPLOAD
specification
string
Example:
2
units
string
Example:
Mbps
publish
Object
strap_line
unknown nullable
priority
integer
popular
boolean
Example:
true
term
Object
id
string
Example:
18bc6cd9-bc78-11ea-a45f-42010a9a005d
billing
integer
Example:
1
billing_unit
string
Example:
MONTH
binding
integer
Example:
12
binding_unit
string
Example:
MONTH
name
string
Example:
Monthly, 12 Month Binding
price_model
string
Example:
VARIABLE
auto_renew
boolean
Example:
true
pricing
Array
Object
id
string
Example:
be29be7b-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation
prices
Array
Object
id
string
Example:
c7af956c-9dc2-11ea-a45f-42010a9a005d
name
string
Example:
Activation Fee
location_code
string
Example:
UK
currency
string
Example:
GBP
display_price
string
Example:
£9.99
effective_date
integer
Example:
1590278400
during_binding
boolean
price
number
Example:
9.99
tax_model
string
Example:
INCLUSIVE
payment_model
string
Example:
PREPAY
price_model
string
Example:
FLAT
price_type
string
Example:
ONE_OFF
primary
boolean
features
Array
Object
id
string
Example:
4ae60e4c-065f-11eb-bf12-42010a9a001b
name
string
Example:
FREE UP router worth £70.00 just plug in and go!
description
string
Example:
FREE UP router worth £70.00 just plug in and go!
language
string
Example:
en
priority
integer
filters
Array of unknown
Example 1
POST /quotations HTTP/1.1 

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "site": {
        "address_id": "",
        "phone_line": {
            "working_lines": [
                {
                    "exchange_code": "",
                    "partial": "",
                    "service_type": "SKY",
                    "technology_type": "",
                    "retention_allowed": true
                }
            ]
        }
    },
    "products": [
        {
            "id": "af474667-9da8-11ea-a45f-42010a9a005d",
            "created_on": 1590526341,
            "name": "Robin",
            "description": "UP Stream, Email and Social",
            "business_type": "BROADBAND",
            "product_type": "SERVICE",
            "product_class": "BROADBAND",
            "sold_as": "SINGLE",
            "sku": "BB-ESSENTIAL",
            "families": [
                null
            ],
            "brands": [
                null
            ],
            "specifications": [
                {
                    "external_id": "63987391-07e6-11eb-bf12-42010a9a001b",
                    "name": "Upload Speed",
                    "classification": "UPLOAD",
                    "specification": "2",
                    "units": "Mbps"
                }
            ],
            "publish": {
                "strap_line": null,
                "priority": 1,
                "popular": true
            },
            "term": {
                "id": "18bc6cd9-bc78-11ea-a45f-42010a9a005d",
                "billing": 1,
                "billing_unit": "MONTH",
                "binding": 12,
                "binding_unit": "MONTH",
                "name": "Monthly, 12 Month Binding",
                "price_model": "VARIABLE",
                "auto_renew": true,
                "pricing": [
                    {
                        "id": "be29be7b-9dc2-11ea-a45f-42010a9a005d",
                        "name": "Activation",
                        "prices": [
                            {
                                "id": "c7af956c-9dc2-11ea-a45f-42010a9a005d",
                                "name": "Activation Fee",
                                "location_code": "UK",
                                "currency": "GBP",
                                "display_price": "£9.99",
                                "effective_date": 1590278400,
                                "during_binding": true,
                                "price": 9.99,
                                "tax_model": "INCLUSIVE"
                            }
                        ],
                        "payment_model": "PREPAY",
                        "price_model": "FLAT",
                        "price_type": "ONE_OFF",
                        "primary": true
                    }
                ]
            },
            "features": [
                {
                    "id": "4ae60e4c-065f-11eb-bf12-42010a9a001b",
                    "name": "FREE UP router worth £70.00 just plug in and go!",
                    "description": "FREE UP router worth £70.00 just plug in and go!",
                    "language": "en",
                    "priority": 1
                }
            ],
            "filters": [
                null
            ]
        }
    ]
}
Products List with Integration
GET /products

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
4132336f-95b8-11ea-a45f-42010a9a005d
created_on
integer
Example:
1590526341
name
string
Example:
Latte
description
string
Example:
Our signature blend espresso with steamed milk for a smooth and creamy coffee
business_type
string
Example:
FOOD_DRINK
product_type
string
Example:
PHYSICAL
sold_as
string
Example:
SINGLE
sku
string
Example:
LATTE-01
families
Array
Object
id
string
Example:
37803fc4-1b69-4050-9c4b-3747ea01b732
name
string
Example:
Vizulink
description
string
Example:
Vizulink
brands
Array
Object
id
string
Example:
b203637e-a731-11ea-a45f-42010a9a005d
name
string
Example:
Costa Coffee
description
string
Example:
Costa Coffee
pricing
Array of unknown
features
Array of unknown
filters
Array of unknown
pageable
Object
sort
Object
unsorted
boolean
Example:
true
sorted
boolean
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
10
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
3
total_elements
integer
Example:
29
last
boolean
sort
Object
unsorted
boolean
Example:
true
sorted
boolean
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
10
first
boolean
Example:
true
size
integer
Example:
10
empty
boolean
General Order
POST /orders

Request body

Object
contact
Object
id
string
Example:
existing contact or shared ID from an external system
name
Object
forename
string
Example:
Andrei
surname
string
Example:
Suciu
title
string
email
string
Example:
billperkins@gmail.com
mobile
string
Example:
07566224395
landline
string
Example:
01983616214
date_of_birth
string
Example:
1990-05-24
credentials
Array

credentials for either email password or Social login

Object
provider
string
Example:
EMAIL
password
string
Example:
password
token
string

oAUTH Token like facebook or other service

Example:
FBToken
billing
bank
Object
account_name
string
Example:
Andrei S
account_number
string
Example:
21-23-12
sort_code
string
Example:
92-13-91
directdebit
Object
reference
string
Example:
UPB123456
starts
integer
Example:
1606682243312
Amount
number
Example:
115.69
referral
Object
afilliate
string
Example:
code
code
string
Example:
refer_fred
marketing
Array
Object
channel
string
Example:
EMAIL
opt_in
boolean
Example:
true
payment
Object
method_id
string

Existing payment Method ID thi scan be null if a new payment is specified

Example:
GUID
method_type
string

Payment using CARD, BANK, CASH

Enumeration:
BANK
CARD
CASH
gateway
Object

gateway used to process payment

provider
string

STRIPE,ELAVON

Enumeration:
STRIPE
ELAVON
SMARTDEBIT
token
string

Token from client hosted pages, with the credit card / payment details

identifier
string

Unique transaction ID if different to tokenised payemnt / card

amount
string

Amount processed on card

collection
string

Collect from Server or Client

Enumeration:
CLIENT
SERVER
store_card
boolean

store card for later use

site
Object
address
products
Array
Object
id
string
Example:
af474667-9da8-11ea-a45f-42010a9a005d
name
string
Example:
Essential Unlimited Fibre
description
string
business_type
string
Example:
BROADBAND
product_type
string
Example:
SERVICE
product_class
term
Object
id
string
name
string
billing
number
billing_unit
binding
number
binding_unit
prices
Array
Object
id
string
Example:
24224990-9dad-11ea-a45f-42010a9a005d
name
string
Example:
Essential
amount
number
Example:
19.99
tax_amount
string

tax Amount

tax_model

type of tax model

tax_rate
number
currency
string
payment_model
string
Example:
ADD_TO_BILL
price_type
string
Example:
RECURRING
Example 4
Example 1
Example 2
Example 3

New Broadband

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contact": {
        "id": "existing contact or shared ID from an external system",
        "name": {
            "forename": "Andrei",
            "surname": "Suciu",
            "title": ""
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_id": "GUID",
        "method_type": "BANK",
        "gateway": {
            "provider": "SMARTDEBIT",
            "token": "",
            "identifier": ""
        },
        "amount": "",
        "collection": "CLIENT",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "description": "",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "product_class": {
                    "product_class": "ROUTER"
                },
                "term": {
                    "id": "",
                    "name": "",
                    "billing": 1,
                    "billing_unit": {
                        "units": "WEEK"
                    },
                    "binding": 1,
                    "binding_unit": {
                        "units": "YEAR"
                    }
                },
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "tax_amount": "",
                        "tax_model": {
                            "tax_model": "INCLUSIVE"
                        },
                        "tax_rate": 1,
                        "currency": "",
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}

Set up New customer no ID supplied

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "BANK",
        "method_id": "GUID",
        "gateway": {
            "provider": "STRIPE",
            "token": ""
        },
        "amount": "",
        "collection": "CLIENT",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}

Use a provided ID for a new customer

POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "energyCloud-GUID",
        "name": {
            "forename": "Andrei",
            "surname": "Suciu"
        },
        "email": "billperkins@gmail.com",
        "mobile": "07566224395",
        "landline": "01983616214",
        "date_of_birth": "1990-05-24",
        "credentials": [
            {
                "provider": "EMAIL",
                "password": "password",
                "token": "FBToken"
            }
        ],
        "billing": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "bank": {
            "account_name": "Andrei S",
            "account_number": "21-23-12",
            "sort_code": "92-13-91",
            "directdebit": {
                "reference": "UPB123456",
                "starts": 1606682243312,
                "Amount": 115.69
            }
        }
    },
    "referral": {
        "afilliate": "code",
        "code": "refer_fred"
    },
    "marketing": [
        {
            "channel": "EMAIL",
            "opt_in": true
        }
    ],
    "payment": {
        "method_type": "CASH",
        "method_id": "GUID",
        "gateway": {
            "provider": "ELAVON",
            "token": ""
        },
        "amount": "",
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "",
            "address_line_1": "Driftwood",
            "address_line_2": "",
            "street_road": "Seafield Road",
            "town_city": "Seaview",
            "state_province_county": "Isle Of Wight",
            "postal_code": "PO345HD",
            "country_code": "UK"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "energy": {
            "electric": [
                {
                    "mpan": "2000019685021",
                    "day_eac": "4300",
                    "night_eac": null
                }
            ],
            "gas": [
                {
                    "mprn": "0000000000",
                    "aq": 17000
                }
            ]
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}
POST /orders HTTP/1.1 

Content-Type: application/json

{
    "contacts": {
        "id": "guid-123"
    },
    "payment": {
        "method_type": "CARD",
        "method_id": "GUID",
        "gateway": {
            "provider": "ELAVON",
            "token": ""
        },
        "amount": 45.88,
        "collection": "SERVER",
        "store_card": true
    },
    "site": {
        "address": {
            "id": "guid-address"
        },
        "broadband": {
            "service_line": "01983616214",
            "line_type": "EXISTING",
            "porting": "VOFDAFONE,SKY"
        },
        "products": [
            {
                "id": "af474667-9da8-11ea-a45f-42010a9a005d",
                "name": "Essential Unlimited Fibre",
                "business_type": "BROADBAND",
                "product_type": "SERVICE",
                "term_id": "guid",
                "term_name": "12 Months",
                "prices": [
                    {
                        "id": "24224990-9dad-11ea-a45f-42010a9a005d",
                        "name": "Essential",
                        "amount": 19.99,
                        "payment_model": "ADD_TO_BILL",
                        "price_type": "RECURRING"
                    }
                ]
            }
        ]
    }
}
Contacts
POST /contacts
Create Contact
POST /contacts

Request headers

api_key
string optional

Secret API KEY

Request body

Object
id
string

An external GUID from a third party system

Example:
CAD1E31269B76D7A65ACCE45B2E68DFD
contact_type
string
Enumeration:
PERSON
BUSINESS
company_name
string
Example:
Good Burger
title
string
Example:
Mr
firstname
string
Example:
Louis
middlename
string
Example:
Aloz
lastname
string
Example:
Kozior
identity
Object
provider
string
Example:
EMAIL
providerId
string
Example:
johndoe@crm.com
providerAuth
string
Example:
12345
validationRequired
boolean
Financial
POST /contacts/{id}/payment_methods
GET /contacts/{id}/subscriptions
Add New Payment Method
POST /contacts/{id}/payment_methods

Path variables

id
string required

Contact ID to add payment Method

Request body

Object
method_type
string
Enumeration:
BANK
CARD
is_primary
string
Example:
true
bank_details
Object
account_name
string
Example:
John Doe
account_number
string
Example:
001002001
sort_code
string
Example:
102491
iban
string
Example:
SE3550000000054910000003
swift
string
Example:
12345678
card
Object
name
string
Example:
Default Card
first6
string
Example:
42424242
last4
string
Example:
4242
holder_details
Object
first_name
string
Example:
John
last_name
string
Example:
Smith
line_1
string
Example:
Elia Papakyriakou
line_2
string
Example:
Tower Stars
city
string
Example:
Nicosia
zip_postcode
string
Example:
2000
state
string
Example:
Egkomi
country
string
Example:
CY
gateway
Array
Object
gateway_identifier
string
gateway
string
Enumeration:
STRIPE
ELAVON
SMARTDEBIT
token
string

token from the gateway or if Smart Debit user generted BACS reference.

Example:
UPB123456

Responses

200 OK
Body
Object
id
string

Guid of Payment method

Example 1
POST /contacts/{id}/payment_methods HTTP/1.1 

Content-Type: application/json

{
    "method_type": "BANK",
    "is_primary": "true",
    "bank_details": {
        "account_name": "John Doe",
        "account_number": "00100201",
        "sort_code": "102491"
    },
    "gateway": [
        {
            "gateway": "SMARTDEBIT",
            "token": "UPB123456"
        }
    ]
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": ""
}
Contact subscriptions
GET /contacts/{id}/subscriptions

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
activation_date
integer
Example:
12345567
account
Object
id
string
name
string
pages
Object
page
integer
Example:
2
size
integer
Example:
20
total
integer
Example:
5124
Example 1
GET /accounts/{id}/subscriptions HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "subscription": {
            "id": "",
            "name": "",
            "activated": 1
        }
    }
]

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "subscription": {
            "id": "",
            "name": "",
            "activated": 1
        }
    }
]
Subscriptions
GET /subscriptions/{id}
GET /subscriptions/{id}/products
GET /subscriptions/{id}/payment_methods
GET /services/{id}/calls
GET /stripe/tegc/contacts/{id}/subscriptions
Get subscription
GET /subscriptions/{id}

Get single subscription details

Path variables

id
string required

Request headers

api_key
string optional

Secure Server to server secreet API Key

auth_token
string optional

Admin user token for dashbords

Responses

200 OK
Body
Object
id
string
name
string
activation_date
string
billing_cycle
Object
cycle
string

Billing cycle

Enumeration:
DAY
WEEK
MONTH
YEAR
cycle_day
string
cycle_type
string
billing_address
service_address
term
Object
id
string
name
string
term_length
number
term_unit

Units of time for term

fixed_end
string

Fixed end date of a term such as a sports season

auto_renew
boolean
account
Object
id
string
name
string
Get subscription products
GET /subscriptions/{id}/products

Path variables

id
string required

Responses

200 OK
Body
Array
Object
id
string
product
Object
id
string
name
string
description
string
product_class
string

Product Classification

Enumeration:
BROADBAND

broadband service product

ENERGY
LINE_RENTAL
ROUTER
CALL_PACK
PHYSICAL
DIGITAL
equipment
Object
id
string
name
string
service_code
string
service_type
string
product
Object
id
string
name
string
description
string
serial_number
string
activated
number
binding_ends
string
is_usage
string
rating
Object
ratecard_id
string
ratecard_name
string
amount
string
tax_amount
string
tax_model
string
Subscription payment methods
GET /subscriptions/{id}/payment_methods

Path variables

id
string required

Responses

200 OK
Body
Array of Payment Method
Services calls
GET /services/{id}/calls

Get call usage for an installed service. Service type is a Fixed Landline.

Path variables

id
string required

Request parameters

start_date
string optional
end_date
string optional
band
string optional
charge_band
string optional

Responses

200 OK
Body
Object
content
Array
Object
id
string
start_time
number
destination_code
string
destination_desc
string
destination
string
duration
string

Duration in Seconds

provider_id
string
band
string
charge_band
string
retail_amount
number
plan_inclusive
boolean
Stripe Subscription
GET /stripe/tegc/contacts/{id}/subscriptions

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
su_1036Vs2eZvKYlo2CCWtV2RYO
billing_cycle_anchor
integer
Example:
1387222772
billing_thresholds
unknown nullable
cancel_at
unknown nullable
cancel_at_period_end
boolean
canceled_at
integer
Example:
1445989053
collection_method
string
Example:
charge_automatically
created
integer
Example:
1386790772
current_period_end
integer
Example:
1447702772
current_period_start
integer
Example:
1444678772
days_until_due
unknown nullable
default_payment_method
unknown nullable
default_source
unknown nullable
default_tax_rates
Array of unknown
discount
unknown nullable
ended_at
integer
Example:
1445989053
items
Object
data
Array
Object
id
string
Example:
si_18SfBn2eZvKYlo2C1fwOImYF
object
string
Example:
subscription_item
billing_thresholds
unknown nullable
created
integer
Example:
1386790772
metadata
Object
price
Object
id
string
Example:
40
object
string
Example:
price
active
boolean
Example:
true
billing_scheme
string
Example:
per_unit
created
integer
Example:
1386694689
currency
string
Example:
usd
livemode
boolean
lookup_key
unknown nullable
metadata
Object
charset
string
Example:
utf-8
content
string
Example:
40
nickname
unknown nullable
product
string
Example:
prod_BTcfj5EqyqxDVn
recurring
Object
aggregate_usage
unknown nullable
interval
string
Example:
week
interval_count
integer
Example:
5
usage_type
string
Example:
licensed
tiers_mode
unknown nullable
transform_quantity
unknown nullable
type
string
Example:
recurring
unit_amount
integer
Example:
5465
unit_amount_decimal
string
Example:
5465
quantity
integer
Example:
1
subscription
string
Example:
sub_36VrPHS2vVxJMq
tax_rates
Array of unknown
has_more
boolean
url
string
Example:
/v1/subscription_items?subscription=sub_36VrPHS2vVxJMq
latest_invoice
unknown nullable
livemode
boolean
metadata
Object
next_pending_invoice_item_invoice
unknown nullable
pause_collection
unknown nullable
pending_invoice_item_interval
unknown nullable
pending_setup_intent
unknown nullable
pending_update
unknown nullable
schedule
unknown nullable
start_date
integer
Example:
1386790772
status
string
Example:
canceled
transfer_data
unknown nullable
trial_end
integer
Example:
1387222772
trial_start
integer
Example:
1386790772
Property_Lifecycle
POST /properties/{id}/lifecycle
Add Property Lifecycle
POST /properties/{id}/lifecycle

Path variables

id
string required

Request body

Object
lifecycle
string
Enumeration:
LEAD_GENERATED
lead
Object
id
string
Example:
b829dfd0-8838-11ec-ae9e-42010a9a0006
Examples
{
    "lifecycle": "LEAD_GENERATED",
    "lead": {
        "id": "b829dfd0-8838-11ec-ae9e-42010a9a0006"
    }
}
Ecoes

Ecoes Survey Module

POST /properties
GET /properties/id
GET /properties
GET /imports/{id}
POST /properties/{id}/details
GET /properties
POST /properties/{id}/contacts
POST /properties/{id}/surveys
PUT /properties/{id}/details
POST /properties/{id}/energy
GET /surveys/{surveyId}/services/{id}/availability
Projects
GET /projects
POST /projects
PUT /projects/id
DELETE /projects/id
Get projects
GET /projects

Responses

200 OK
Body
Object
content
Array
Object
id
string
name
string
description
string
process
Array
Object
id
string
name
string
surveys
Example 1
GET /projects HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "name": "",
            "description": "",
            "surveys": {
                "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
                "name": "Cavity Survey",
                "description": "Cavity Deem Score Survey",
                "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "config_group": "MEASURE",
                "measure_type": "CAVITY",
                "small_icon": "CAVITY",
                "large_icon": null,
                "requires_install": true,
                "versions": [
                    {
                        "id": "b3547bd6-364e-11ec-a745-42010a9a0002",
                        "name": "1.1",
                        "published_date": 1625568811,
                        "expired_date": null,
                        "description": "Cavity Survey v1"
                    }
                ]
            }
        }
    ]
}
Create Project
POST /projects

Request body

Object
name
string
description
string
process
Array
Object
id
string
surveys
Array
Object
id
string
Examples
{
    "name": "",
    "description": "",
    "process": [
        {
            "id": ""
        }
    ],
    "surveys": [
        {
            "id": ""
        }
    ]
}
Update Project
PUT /projects/id

Request body

Object
name
string
description
string
process
Array
Object
id
string
surveys
Array
Object
id
string
Delete Project
DELETE /projects/id
Property Projects
GET /properties/{ID}/projects
POST /properties/{ID}/projects
PUT /properties/id/projects/id
Get Property Projects
GET /properties/{ID}/projects

Path variables

ID
string required

Responses

200 OK
Body
Array
Object
id
string
project
Object
id
string
name
string
description
string
start_date
number
completed_date
number
lifecycle
string
Example 1
GET /properties/{ID}/projects HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "",
        "project": {
            "id": "",
            "name": "",
            "description": ""
        },
        "start_date": 1,
        "completed_date": 1,
        "lifecycle": ""
    }
]
Add Property Projects
POST /properties/{ID}/projects

Path variables

ID
string required

Request body

Array
Object
project
Object
id
string
start_date
string
completed_date
string
lifecycle
string
Enumeration:
COMPLETED
Example 1
POST /properties/{ID}/projects HTTP/1.1 

Content-Type: application/json

[
    {
        "project": {
            "id": ""
        },
        "start_date": "",
        "completed_date": "",
        "lifecycle": "COMPLETED"
    }
]
Update Property Project
PUT /properties/id/projects/id

Request body

Object
completion_date
string
lifecycle
string
Examples
{
    "completion_date": "",
    "lifecycle": ""
}
Add Property
POST /properties

Request body

Object
id
string

If ID is set then this will trigger an auto-sync of the property

Example:
string
code
string

Auto generated if not set

Example:
string
life_cycle
string
Example:
LEAD
address
Object
building_name
string
Example:
string
building_number
string
Example:
string
country
string
Example:
string
county
string
Example:
string
district
string
Example:
string
formatted_address
string
Example:
string
locality
string
Example:
string
postcode
string
Example:
string
sub_building_name
string
Example:
string
sub_building_number
string
Example:
string
thoroughfare
string
Example:
string
town_or_city
string
Example:
string
details
Object
age_band
string
Example:
AGE_BEFORE1900
bedrooms
integer
conservatories
integer
construction
string
Example:
CONVENTIONAL_CAVITY
extensions
integer
external_walls
string
Example:
EXT_2
flat_position
string
Example:
TOP
orientation
string
Example:
LEFT
property_type
string
Example:
HOUSE
storeys
integer
sub_type
string
Example:
DETACHED
location
Object
latitude
integer
longitude
integer
resources
Array
Object
change_date
integer

date resource set

resource_type
string
Enumeration:
SALES
SURVEYOR
REVIEWER
RETROFIT-CORDINATOR'
RETROFIT-DESIGNER
RETROFIT-ADVISOR
RETROFIT-EVALUATOR
owners
Example 1
POST /properties HTTP/1.1 

Content-Type: application/json

{
    "id": "string",
    "code": "string",
    "life_cycle": "LEAD",
    "address": {
        "building_name": "string",
        "building_number": "string",
        "country": "string",
        "county": "string",
        "district": "string",
        "formatted_address": "string",
        "locality": "string",
        "postcode": "string",
        "sub_building_name": "string",
        "sub_building_number": "string",
        "thoroughfare": "string",
        "town_or_city": "string"
    },
    "details": {
        "age_band": "AGE_BEFORE1900",
        "bedrooms": 1,
        "conservatories": 1,
        "construction": "CONVENTIONAL_CAVITY",
        "extensions": 1,
        "external_walls": "EXT_2",
        "flat_position": "TOP",
        "orientation": "LEFT",
        "property_type": "HOUSE",
        "storeys": 1,
        "sub_type": "DETACHED"
    },
    "location": {
        "latitude": 1,
        "longitude": 1
    },
    "resources": [
        {
            "change_date": "",
            "resource_type": "RETROFIT-ADVISOR",
            "owners": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        }
    ]
}
Get Property
GET /properties/id

Request body

Object
id
string
Example:
4de6ee7a-15bc-4f7f-aa05-7ed54ab1a0c9
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREMIER-000522
production
unknown nullable
allocated_id
unknown nullable
created_on
integer
Example:
1639664069
created_by
string
Example:
a3a6729d-6216-4e97-a8ae-8780a9ace686
modified_on
unknown nullable
modified_by
unknown nullable
life_cycle
string
Example:
LEAD
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
Claremont, Seafield Road, Seaview, Isle of Wight, PO34 5HD
town_or_city
string
Example:
Seaview
district
string
Example:
Isle Of Wight
postcode
string
Example:
PO34 5HD
county
string
Example:
Isle of Wight
locality
string
sub_building_name
string
Example:
Claremont
thoroughfare
string
Example:
Seafield Road
sub_building_number
unknown nullable
building_number
string
details
Object
age_band
string
Example:
AGE_1930
bedrooms
integer
Example:
4
orientation
unknown nullable
extensions
integer
Example:
1
sub_type
string
Example:
DETACHED
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
2
conservatories
boolean
Example:
true
flat_position
unknown nullable
external_walls
unknown nullable
primary_heating
string
Example:
GAS_BOILER
secondary_heating
unknown nullable
is_maingas
boolean
Example:
true
tenure
unknown nullable
parkhome_size
unknown nullable
floor_number
unknown nullable
elevations
Object
left
unknown nullable
right
unknown nullable
front
unknown nullable
rear
unknown nullable
location
Object
latitude
number
Example:
50.720574
longitude
number
Example:
-1.111745
local_authority
Object
id
string
Example:
72fbb8b0-04ff-11ec-bcdb-42010a9a001a
code
string
Example:
E06000046
name
string
Example:
Isle of Wight
contacts
Array
Object
id
string
Example:
a089911f-5683-4340-84b3-7490f33ec188
title
string
Example:
Mr
forename
string
Example:
Andy
surname
string
Example:
Steward
email
string
Example:
andy@gmail.com
mobile
unknown nullable
home_phone
string
Example:
01983616214
date_of_birth
Object
month
integer
Example:
12
year
integer
Example:
1990
day
integer
Example:
12
is_primary
boolean
Example:
true
is_signatory
unknown nullable
benefit_recipient
unknown nullable
preferred_contact
string
Example:
EMAIL
assesment_type
string
Example:
DWP_CHECK
tenure
unknown nullable
contact_type
string
Example:
OWNER
surveys
Array
Object
id
string
Example:
2ae7af37-5a0e-4979-9f27-af60b6a78df8
survey
Object
id
string
Example:
e7f97130-c7aa-11eb-9bb2-42010a9a0026
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
small_icon
string
Example:
CAVITY
large_icon
unknown nullable
requires_install
boolean
Example:
true
progress
integer
survey_version_id
string
Example:
b3547bd6-364e-11ec-a745-42010a9a0002
survey_date
unknown nullable
resources
Array
Object
id
string
Example:
1e8a8241-54a6-4597-92e4-4355f41a0e82
adminuser
Object
id
string
Example:
a3a6729d-6216-4e97-a8ae-8780a9ace686
name
string
Example:
Sam Surveyor
organisation
Object
id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string
Example:
Premier Connections
resource_type
string
Example:
SURVEYOR
rag_status
unknown nullable
life_cycle
unknown nullable
epc
Array
Object
id
string
Example:
6cf5b771-7209-4334-aac7-9c965f661175
building_ref_no
string
Example:
3012568178
lodgement_date
integer
Example:
1522886400
current_rating
string
Example:
E
potential_rating
string
Example:
C
current_energy_efficiency
integer
Example:
47
potential_energy_efficiency
integer
Example:
77
Search Properties
GET /properties

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
55346f11-8502-11eb-b8ba-42010a9a004e
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREM-01
production
boolean
allocated_id
string
Example:
001a9ac4-4e22-4b51-97d9-d0697575ec6c
life_cycle
string
Example:
SURVEY
address
Object
building_name
unknown nullable
country
string
Example:
England
formatted_address
string
Example:
Driftwood, Seafield Road, Seaview, Isle Of Wight PO345HD
town_or_city
unknown nullable
district
string
Example:
Isle Of Wight
postcode
string
Example:
PO34 5HD
county
string
Example:
Seaview
locality
unknown nullable
sub_building_name
string
Example:
Driftwood
thoroughfare
string
Example:
Seafield Road
sub_building_number
unknown nullable
building_number
unknown nullable
details
Object
age_band
string
Example:
AGE_ONWARDS2012
bedrooms
integer
Example:
3
orientation
string
Example:
LEFT
extensions
integer
sub_type
string
Example:
SEMI_DETACHED
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
3
conservatories
integer
flat_position
unknown nullable
external_walls
unknown nullable
location
Object
latitude
number
Example:
50.720574
longitude
number
Example:
-1.111745
contacts
Array
Object
home_phone
string
Example:
01983616214
forename
string
Example:
Andrew
surname
string
Example:
Steward
mobile
string
Example:
07566224395
id
string
Example:
NEKDtVx6m3I4WzADjoEx
title
string
Example:
Mr
email
string
Example:
andy@stewarduk.com
surveys
Array of Property Survey
resources
Array
Object
id
string
changed_date
string
lifecycle
string
owner
survey
Object
id
string
name
string
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
5
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_elements
integer
Example:
2
total_pages
integer
Example:
1
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
2
first
boolean
Example:
true
size
integer
Example:
5
empty
boolean
Example 1
GET /properties HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "55346f11-8502-11eb-b8ba-42010a9a004e",
            "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
            "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
            "code": "PREM-01",
            "production": true,
            "allocated_id": "001a9ac4-4e22-4b51-97d9-d0697575ec6c",
            "life_cycle": "SURVEY",
            "address": {
                "building_name": null,
                "country": "England",
                "formatted_address": "Driftwood, Seafield Road, Seaview, Isle Of Wight PO345HD",
                "town_or_city": null,
                "district": "Isle Of Wight",
                "postcode": "PO34 5HD",
                "county": "Seaview",
                "locality": null,
                "sub_building_name": "Driftwood",
                "thoroughfare": "Seafield Road",
                "sub_building_number": null,
                "building_number": null
            },
            "details": {
                "age_band": "AGE_ONWARDS2012",
                "bedrooms": 3,
                "orientation": "LEFT",
                "extensions": 1,
                "sub_type": "SEMI_DETACHED",
                "property_type": "HOUSE",
                "construction": "CONVENTIONAL_CAVITY",
                "storeys": 3,
                "conservatories": 1,
                "flat_position": null,
                "external_walls": null
            },
            "location": {
                "latitude": 50.720574,
                "longitude": -1.111745
            },
            "contacts": [
                {
                    "home_phone": "01983616214",
                    "forename": "Andrew",
                    "surname": "Steward",
                    "mobile": "07566224395",
                    "id": "NEKDtVx6m3I4WzADjoEx",
                    "title": "Mr",
                    "email": "andy@stewarduk.com"
                }
            ],
            "surveys": [
                {
                    "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
                    "survey": {
                        "id": "survey_guid",
                        "name": "Cavity Survey",
                        "description": "Cavity Deem Score Survey",
                        "measure_type": "CAVITY"
                    },
                    "progress": 1,
                    "survey_version_id": "",
                    "resources": [
                        {
                            "adminuser": {
                                "id": "",
                                "name": ""
                            },
                            "organisation": {
                                "id": "",
                                "name": ""
                            },
                            "resource_type": "SURVEYOR"
                        }
                    ]
                }
            ],
            "resources": [
                {
                    "id": "",
                    "changed_date": "",
                    "lifecycle": "",
                    "owner": {
                        "adminuser": {
                            "id": "",
                            "name": ""
                        },
                        "organisation": {
                            "id": "",
                            "name": ""
                        }
                    },
                    "survey": {
                        "id": "",
                        "name": ""
                    }
                }
            ]
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 5,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_elements": 2,
    "total_pages": 1,
    "last": true,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number": 1,
    "number_of_elements": 2,
    "first": true,
    "size": 5,
    "empty": true
}
Import Properties
GET /imports/{id}

Imports a property from integration hosted Schema.

Path variables

id
string required
Add Property Details
POST /properties/{id}/details

Path variables

id
string required

Request body

Object
age_band
string
bedrooms
number

Number of Rooms

Example:
2
conservatories
number

Number of Conservatories

construction
string
Enumeration:
CONVENTIONAL_CAVITY
extensions
number
external_walls
number
flat_position
string
orientation
string
property_type
string
storeys
number
sub_type
string
Example 1
POST /properties/{id}/details HTTP/1.1 

Content-Type: application/json

{
    "age_band": "",
    "bedrooms": 2,
    "conservatories": "",
    "construction": "",
    "extensions": "",
    "external_walls": "",
    "flat_position": "",
    "orientation": "",
    "property_type": "",
    "storeys": 1,
    "sub_type": ""
}
List Properties
GET /properties

Request body

Object
content
Array
Object
id
string
Example:
lEt6gCki7kVOgIuIMgb7
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
531b755c-fc21-11eb-bcdb-42010a9a001a
code
string
Example:
PREM-000047
production
unknown nullable
allocated_id
unknown nullable
created_on
integer
Example:
1641322692
created_by
string
Example:
a3a6729d-6216-4e97-a8ae-8780a9ace686
modified_on
unknown nullable
modified_by
unknown nullable
life_cycle
string
Example:
SURVEY
address
Object
building_name
string
Example:
Elm Quay
country
string
Example:
England
formatted_address
string
Example:
45 Elm Quay, Thomas Blake Avenue, Southampton, Hampshire, SO14 5DL
town_or_city
string
Example:
Southampton
district
string
Example:
Southampton
postcode
string
Example:
SO14 5DL
county
string
Example:
Hampshire
locality
string
sub_building_name
string
thoroughfare
string
Example:
Thomas Blake Avenue
sub_building_number
unknown nullable
building_number
string
Example:
45
details
Object
age_band
string
Example:
AGE_1991
bedrooms
integer
Example:
3
orientation
unknown nullable
extensions
integer
Example:
1
sub_type
string
Example:
ENCLOSED_MID_TERRACE
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
1
conservatories
boolean
Example:
true
flat_position
unknown nullable
external_walls
unknown nullable
primary_heating
string
Example:
GAS_BOILER
secondary_heating
unknown nullable
is_maingas
boolean
Example:
true
tenure
string
Example:
PRIVATE_OWNER
parkhome_size
unknown nullable
floor_number
unknown nullable
elevations
Object
left
unknown nullable
right
unknown nullable
front
unknown nullable
rear
unknown nullable
location
Object
latitude
number
Example:
50.900624
longitude
number
Example:
-1.389319
local_authority
Object
id
string
Example:
72fbb883-04ff-11ec-bcdb-42010a9a001a
code
string
Example:
E06000045
name
string
Example:
Southampton
contacts
Array
Object
id
string
Example:
9q12UJWD6igcPHNU3NVp
title
string
Example:
Mr
forename
string
Example:
Sam
surname
string
Example:
Steward
email
unknown nullable
mobile
string
Example:
07877655701
home_phone
unknown nullable
date_of_birth
Object
month
integer
Example:
7
year
integer
Example:
2003
day
integer
Example:
4
is_primary
boolean
Example:
true
is_signatory
boolean
Example:
true
benefit_recipient
unknown nullable
preferred_contact
string
Example:
MOBILE
assesment_type
unknown nullable
tenure
unknown nullable
contact_type
string
Example:
OWNER
surveys
Array
Object
id
string
Example:
ec052e4a-b1be-4b84-af60-4d9ebbdb1e3a
survey
Object
id
string
Example:
f4985412-61ff-47b9-85d8-d0da88b3c779
name
string
Example:
Ventilation Survey
description
string
Example:
Survey about the properties ventilation
measure_type
unknown nullable
small_icon
string
Example:
VENTILATION
large_icon
unknown nullable
requires_install
boolean
Example:
true
progress
number
Example:
25.49
survey_version_id
unknown nullable
survey_date
integer
Example:
1641322692
resources
unknown nullable
rag_status
unknown nullable
life_cycle
unknown nullable
resources
unknown nullable
appointments
Array
Object
id
string
Example:
0a59e534-3557-451e-bcfb-b6aca8f34540
adminuser
Object
organisation
Object
id
string
Example:
69a8eb8c-3667-11ec-a745-42010a9a0002
name
string
Example:
Effective Installations
appointment_date
integer
Example:
1641373200
appointment_length
integer
Example:
540
appointment_status
string
Example:
COMPLETE
notes
unknown nullable
appointment_type
string
Example:
INSTALL
created_on
integer
Example:
1641378955
slot
string
Example:
ALL_DAY
workflow_logs
Array of unknown
epc
Array
Object
id
string
Example:
fab81ca5-bd8f-4c76-a129-11552deefad8
building_ref_no
string
Example:
10000363674
lodgement_date
integer
Example:
1612742400
current_rating
string
Example:
C
potential_rating
string
Example:
C
current_energy_efficiency
integer
Example:
80
potential_energy_efficiency
integer
Example:
80
pageable
Object
sort
Object
sorted
boolean
Example:
true
unsorted
boolean
empty
boolean
page_number
integer
page_size
integer
Example:
10
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_elements
integer
Example:
5
total_pages
integer
Example:
1
last
boolean
Example:
true
sort
Object
sorted
boolean
Example:
true
unsorted
boolean
empty
boolean
number
integer
number_of_elements
integer
Example:
5
first
boolean
Example:
true
size
integer
Example:
10
empty
boolean
Add properties contact
POST /properties/{id}/contacts

Path variables

id
string required

Request body

Array
Object
contact_id
string

external_id of a contact

is_primary
boolean

is this the primary contact

is_signatory
boolean

is the contact a signatory

contact_type
string

Type of the contact

Enumeration:
RENTER
OWNER
POWER_OF_ATTORNEY
THIRD_PARTY
title
string
forename
string
surname
string
date_of_birth
Object
day
string
month
string
year
string
contact_info
Object
contact_type
string
Enumeration:
EMAIL
HOME
MOBILE
Add surveys to property
POST /properties/{id}/surveys

Path variables

id
string required

Request body

Object
survey
Object
id
string
survey_version
Object
id
string
property_projects
Array
Object
id
string
progress
integer
rag_status
string
Example:
RED
survey_date
string
Example:
2022-01-17T13:36:11.897Z
life_cycle
string
Example:
SURVEY_CANCELLED
Update Property Detals
PUT /properties/{id}/details

Path variables

id
string required

Request body

Object
age_band
string
bedrooms
integer
Example:
2
conservatories
number
construction
string
extensions
number
external_walls
number
flat_position
string
orientation
string
property_type
string
storeys
integer
Example:
1
sub_type
string
Property Energy
POST /properties/{id}/energy

Path variables

id
string required

Request body

Object
mains_gas
boolean
primary_heating
string
Enumeration:
GAS_BOILER
ELECTRIC_STORAGE
OIL_BOILER
LPG_BOILER
FOSSIL_FUEL_BOILER
ELECTRIC_BOILER
GAS_ROOM_HEATER
SOLIDFUEL_ROOM_HEATER
ELECTRIC_ROOM_HEATER
OTHER
secondary_heating
string
suppliers
Array
Object
energy_type
string
supplier
string
meter_code
string
Example 1
POST /properties/{id}/energy HTTP/1.1 

Content-Type: application/json

{
    "mains_gas": true,
    "primary_heating": "SOLIDFUEL_ROOM_HEATER",
    "secondary_heating": "",
    "suppliers": [
        {
            "energy_type": "",
            "supplier": "",
            "meter_code": ""
        }
    ]
}
Properties
GET /properties/{id}/components
Property Components
GET /properties/{id}/components

Path variables

id
string required
Checklists
GET /properties/{id}/checklists
PUT /checklists/{id}
GET /review_checklists
Get property Check Lists
GET /properties/{id}/checklists

Path variables

id
string required

Responses

200 OK
Body
Object
id
string

GUID of Property Checklist

Example:
2573c433-a128-11eb-b8ba-42010a9a004e
started
integer

started date

completed
integer

completed date

review_checklist
Object
id
string

ID of Review Checklist

Example:
2573c433-a128-11eb-b8ba-42010a9a004e
name
string

Name of Review Checklist

Example:
Photo
description
string

Description of Review Checklist

Example:
All Expected Photos are uploaded
reviews
Array
Object
id
string

guid of review

Example:
5f494b68-dc9e-4cc8-9256-0d60850ccc13
review_date
integer
Example:
1
completed_date
integer
Example:
1
reviewer
transferred
action
Object
id
string
name
string
action_type
string
Enumeration:
ISSUE
ACTION
required
boolean
issues
Array
Object
id
string
evidence
Object
id
string

ID-1234

name
string

Proof of detachment type

evidence_type
string

PHOTO

shortcode
string

PROOF_DETATCHMENT

resolved_date
number

Date issue was resolved

Example:
123456
notes
Array

Review Notes

Object
id
string
note
string
note_date
string
owner
Example 1
GET /properties/{id}/checklists HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "2573c433-a128-11eb-b8ba-42010a9a004e",
    "started": 1,
    "completed": 1,
    "review_checklist": {
        "id": "2573c433-a128-11eb-b8ba-42010a9a004e",
        "name": "Photo",
        "description": "All Expected Photos are uploaded"
    },
    "reviews": [
        {
            "id": "5f494b68-dc9e-4cc8-9256-0d60850ccc13",
            "review_date": 1,
            "completed_date": 1,
            "reviewer": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            },
            "transferred": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            },
            "action": {
                "id": "",
                "name": "",
                "action_type": "ACTION",
                "required": true
            },
            "issues": [
                {
                    "id": "",
                    "evidence": {
                        "id": "",
                        "name": "",
                        "evidence_type": "",
                        "shortcode": ""
                    },
                    "resolved_date": 123456
                }
            ],
            "notes": [
                {
                    "id": "",
                    "note": "",
                    "note_date": "",
                    "owner": {
                        "adminuser": {
                            "id": "",
                            "name": ""
                        },
                        "organisation": {
                            "id": "",
                            "name": ""
                        }
                    }
                }
            ]
        }
    ]
}
Update checklist
PUT /checklists/{id}

Path variables

id
string required

Request body

Object
started
number

Date of checklist item started

completed
number

Date of checklist item completed.

Review Checklists
GET /review_checklists

Responses

200 OK
Body
Object
id
string
Example:
2573c433-a128-11eb-b8ba-42010a9a004e
name
string
Example:
Photo
description
string
Example:
All Expected Photos are uploaded
checklist_group
string
Example:
PROPERTY
is_required
boolean
Example:
true
priority
integer
stage
Object
id
string
Example:
5ae3b851-a120-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Check
actions
Array
Object
id
string
Example:
be80df59-b732-11eb-9bb2-42010a9a0026
name
string
Example:
Missing Photo
description
string
Example:
Photo Missing
priority
integer
is_required
boolean
action_type
string
Example:
ACTION
automation_id
unknown nullable
evidence_type
unknown nullable
Reviews
GET /properties/{id}/reviews
POST /properties/{id}/reviews
GET /reviews
PUT /reviews/{id}
PUT /reviews/{id}/issues
Property Reviews
GET /properties/{id}/reviews

Path variables

id
string required

Request parameters

stage_id
string optional

Filter based on Stage ID

Responses

200 OK
Body
Array
Object
reviewer
review_action
Object
id
string
name
string
action_type
string
evidence_type
string
transfer
Object
transfer_date
string
transfer_to
checkout
Object
is_checkout
boolean
Example:
true
checkout_date
string
notes
Array
Object
id
string
note_date
number
note
string
note_type
string
note_owner
Object
adminuser
Object
id
string
nname
string
organisation
Object
id
string
name
string
review_date
string
complete_date
string
Example 1
Example 2
GET /properties/{id}/reviews HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "reviewer": {
            "adminuser": {
                "id": "",
                "name": ""
            },
            "organisation": {
                "id": "",
                "name": ""
            }
        },
        "transfer": {
            "transfer_date": "",
            "transfer_to": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        },
        "checkout": {
            "is_checkout": true,
            "checkout_date": ""
        },
        "notes": [
            {
                "id": "",
                "note_date": 1,
                "note": "",
                "note_type": "",
                "note_owner": {
                    "adminuser": {
                        "id": "",
                        "nname": ""
                    },
                    "organisation": {
                        "id": "",
                        "name": ""
                    }
                }
            }
        ],
        "review_date": "",
        "complete_date": ""
    }
]
GET /properties/{id}/reviews HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "reviewer": {
            "adminuser": {
                "id": "",
                "name": ""
            },
            "organisation": {
                "id": "",
                "name": ""
            }
        },
        "review_action": {
            "id": "",
            "name": "",
            "action_type": "",
            "evidence_type": ""
        },
        "transfer": {
            "transfer_date": "",
            "transfer_to": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        },
        "checkout": {
            "is_checkout": true,
            "checkout_date": ""
        },
        "notes": [
            {
                "id": "",
                "note_date": 1,
                "note": "",
                "note_type": "",
                "note_owner": {
                    "adminuser": {
                        "id": "",
                        "nname": ""
                    },
                    "organisation": {
                        "id": "",
                        "name": ""
                    }
                }
            }
        ],
        "review_date": "",
        "complete_date": ""
    }
]
Add Property Reviews
POST /properties/{id}/reviews

Path variables

id
string required

Request body

Object
reviewer
Object
adminuser_id
string

ID of Admin User

organisation_id
string

Organisation of Admin User

transfer
Object
transfer_date
string

EPOCH of date of transfer

adminuser_id
string

Admin User ID

organisation_id
string

Organisation ID being transfered to

checkout
Object
is_checkout
boolean

Mark the item as check out

checkout_date
string

Date of check out if null use current

property_checklist
Object
id
string
review_action
Object
id
string
Example 1
POST /properties/{id}/reviews HTTP/1.1 

Content-Type: application/json

{
    "reviewer": {
        "admin_id": "",
        "organisation_id": ""
    },
    "transfer": {
        "transfer_date": "",
        "admin_id": "",
        "organisation_id": ""
    },
    "checkout": {
        "is_checkout": true,
        "checkout_date": ""
    },
    "property_checklist": {
        "id": ""
    },
    "review_action": {
        "id": ""
    }
}
Notes
POST /reviews/{id}/notes
GET /reviews/{id}/notes
PUT /reviews/{id}/notes/{notes_id}
DELETE /reviews/{id}/notes/{notes_id}
Add Reviews Note
POST /reviews/{id}/notes

Set notes to a reviewer instance using the ID from the properties reviewe ID

Path variables

id
string required

Request body

Array
Object
note_date
integer
Example:
1234
note
string
adminuser
Object
id
string
organisation
Object
id
string
Get Reviews Notes
GET /reviews/{id}/notes

Path variables

id
string required

Responses

200 OK
Body
Array
Object
id
string
note
string
note_date
string
organisation
Object
id
string
name
string
admin_user
Object
id
string
name
string
Update Note
PUT /reviews/{id}/notes/{notes_id}

Set notes to a reviewer instance using the ID from the properties reviewe ID

Path variables

id
string required
notes_id
string required

Request body

Array
Object
note_date
integer
Example:
1234
note
string
adminuser
Object
id
string
organisation
Object
id
string
Delete Note
DELETE /reviews/{id}/notes/{notes_id}

Delete Note

Path variables

id
string required
notes_id
string required
Reviews List
GET /reviews

Request parameters

property_id
string optional

Single Property

adminuser_id
string optional

Single Admin User

Responses

200 OK
Body
Object
content
Array
Object
id
string
completed_date
string
review_date
string
reviewer
transfered-to
Example 1
GET /reviews HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "completed_date": "",
            "review_date": "",
            "property": {
                "id": "DdNTL0nRRswbTkCvWkyt",
                "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "code": "PREMIER-000009",
                "production": null,
                "allocated_id": null,
                "life_cycle": "SURVEY",
                "address": {
                    "building_name": "",
                    "country": "England",
                    "formatted_address": "64 Guildford Park Avenue, Guildford, Surrey, GU2 7NL",
                    "town_or_city": "Guildford",
                    "district": "Guildford",
                    "postcode": "GU2 7NL",
                    "county": "Surrey",
                    "locality": "",
                    "sub_building_name": "",
                    "thoroughfare": "Guildford Park Avenue",
                    "sub_building_number": null,
                    "building_number": "64"
                },
                "details": {
                    "age_band": "AGE_1996",
                    "bedrooms": 3,
                    "orientation": "RIGHT",
                    "extensions": 1,
                    "sub_type": "SEMI_DETACHED",
                    "property_type": "HOUSE",
                    "construction": "CONVENTIONAL_CAVITY",
                    "storeys": 2,
                    "conservatories": 1,
                    "flat_position": null,
                    "external_walls": null
                },
                "location": {
                    "latitude": 51.239197,
                    "longitude": -0.58395
                },
                "contacts": {
                    "id": "7W38kGhSDeb3QGtcHHJJ",
                    "title": "Mr",
                    "forename": "Andy",
                    "surname": "Steward",
                    "email": null,
                    "mobile": "07566224395",
                    "home_phone": "07566224395",
                    "date_of_birth": null
                },
                "surveys": [
                    {
                        "id": "957efa83-71e9-49cd-aabf-c260a3cb7239",
                        "survey": {
                            "id": "1",
                            "name": "Cavity Survey",
                            "description": "Cavity Deem Score Survey",
                            "measure_type": "CAVITY",
                            "small_icon": "CAVITY",
                            "large_icon": null
                        },
                        "progress": 1,
                        "survey_version_id": null,
                        "survey_date": null,
                        "resources": [
                            {
                                "id": "709d7680-0ee4-4867-9209-295d75745ecd",
                                "adminuser": {
                                    "id": "4be396f8-9c50-11eb-b8ba-42010a9a004e",
                                    "name": "Baljit Mann"
                                },
                                "organisation": {
                                    "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                                    "name": "Premier Connections"
                                },
                                "resource_type": "SURVEYOR"
                            }
                        ]
                    }
                ]
            },
            "reviewer": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            },
            "transfered-to": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        }
    ]
}
Update Review
PUT /reviews/{id}

Path variables

id
string required

Request body

Object
review_date
string
completed_date
string
Update Review Issues
PUT /reviews/{id}/issues

Path variables

id
string required

Request body

Array
Object
id
string

Issue ID

resolved_date
string

Date Resolved

notes
string

Notes

lifecycle
string
Enumeration:
PENDING
APPROVED
REVIEW
REJECTED
Example 1
PUT /reviews/{id}/issues HTTP/1.1 

Content-Type: application/json

[
    {
        "issues": {
            "id": "",
            "resolved_date": "",
            "notes": ""
        }
    }
]
Workflow

Workflow system for moving properties from various stages

POST /properties/{id}/stages
GET /worklists
GET /worklist/{id}/workitems
POST /workitems/{id}/progress
GET /worklist/{id}/workitems
GET /stages/{id}/access
GET /properties/id/workflow_log
POST /workitems
GET /workitems/id
Property Stages
POST /properties/{id}/stages

Path variables

id
string required

Request body

Object
currrent
Object
id
string

Current stage of the item

route
Array
Object
id
string

ID of a stage to move the item to can be multiple if the intended stage is a CHILD type. For each stage look up the checklist and add to the Property

Example 1
Example 2
POST /properties/{id}/stages HTTP/1.1 

Content-Type: application/json

{
    "currrent": {
        "id": null
    },
    "route": [
        {
            "id": "5ae3b851-a120-11eb-b8ba-42010a9a004e"
        },
        {
            "id" : "6dc261be-a120-11eb-b8ba-42010a9a004e"
        }
    ]
}
POST /properties/{id}/stages HTTP/1.1 

Content-Type: application/json

{
    "currrent": {
        "id": "5ae3b851-a120-11eb-b8ba-42010a9a004e"
    },
    "route": [
        {
            "id": ""
        }
    ]
}
List Worklist
GET /worklists

Get a list of worklists using the Admin Token Roles

Responses

200 OK
Body
Array
Object
id
string

ID of worklist

name
string
description
string
user_assigned
boolean

Use to show work checked out to the current user

stages
Array
Object
id
string
Example:
5ae3b851-a120-11eb-b8ba-42010a9a004e
name
string
Example:
Surveyed
description
string
Example:
Properties that have been surveyed and uploaded
configurable_filters
boolean

Alllow the filters to be configured by a user rather than fixed b configuration.

filters
Array
Object
id
string

ID of the filter item

Example:
123
is_completed
boolean

Should the task be completed or not completed

Example:
true
checklist
Object
id
string
Example:
123
name
string
description
string
is_required
boolean
Example:
true
priority
integer
Example 1
GET /worklists HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "id": "abc123",
        "name": "LA Flex Not Complete",
        "description": "Check LA Flex Complee",
        "user_assigned": true,
        "stages": [
            {
                "id": "5ae3b851-a120-11eb-b8ba-42010a9a004e",
                "name": "Surveyed",
                "description": "Properties that have been surveyed and uploaded",
                "filters": [
                    {
                        "id": "123",
                        "is_completed": false,
                        "checklist": {
                            "id": "bf9f733b-2c09-4ac7-8270-7dd726b27d87",
                            "name": "LA Flex Appproval",
                            "description": "LA Flex Approval",
                            "is_required": true,
                            "priority": 1
                        }
                    }
                ]
            }
        ]
    }
]
List Workitems
GET /worklist/{id}/workitems

Path variables

id
string required

Request body

Object
content
Array
Object
id
string
Example:
bd547ba3-139a-4013-91b8-06c157d01409
is_allocated
boolean
Example:
true
process
Object
id
string
Example:
87840472-a437-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Package
description
string
Example:
Manual Import from Partners and Final Checking
started
integer
Example:
1639733390
completed
unknown nullable
tenant_id
unknown nullable
stage
Object
id
string
Example:
49edf769-c86d-11eb-9bb2-42010a9a0026
name
string
Example:
Survey Hold
description
string
Example:
Surveys In Motion not complete
expected_duration
integer
Example:
2
alert_after
integer
Example:
1
priority
integer
stage_type
unknown nullable
icon_name
unknown nullable
started
integer
Example:
1639733390
completed
unknown nullable
checklists
Array
Object
id
string
Example:
6ca1bb66-c880-11eb-9bb2-42010a9a0026
name
string
Example:
Property Details
description
string
Example:
Property Details Complete
checklist_group
string
Example:
PROPERTY
survey
unknown nullable
is_required
boolean
Example:
true
priority
integer
actions
Array
Object
id
string
Example:
e9cfc46f-3537-4a7b-9721-92b8f9d97012
name
string
Example:
Missing property details
description
string
Example:
Data missing in property details
priority
integer
is_required
boolean
action_type
string
Example:
ISSUE
automation_id
unknown nullable
evidence_type
unknown nullable
evidence_rule
unknown nullable
property_checklist
unknown nullable
property
Object
id
string
Example:
f010ff39-2b78-4a87-ac20-8f81e0caa497
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREMIER-000118
production
unknown nullable
allocated_id
unknown nullable
created_on
integer
Example:
1632330273
created_by
string
Example:
a3a6729d-6216-4e97-a8ae-8780a9ace686
modified_on
unknown nullable
modified_by
unknown nullable
life_cycle
string
Example:
SURVEY
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
163 Harborough Road, Oadby, Leicester, Leicestershire, LE2 4LH
town_or_city
string
Example:
Leicester
district
string
Example:
Oadby And Wigston
postcode
string
Example:
LE2 4LH
county
string
Example:
Leicestershire
locality
string
Example:
Oadby
sub_building_name
string
thoroughfare
string
Example:
Harborough Road
sub_building_number
unknown nullable
building_number
string
Example:
163
details
unknown nullable
location
Object
latitude
number
Example:
52.595941
longitude
number
Example:
-1.071964
local_authority
unknown nullable
contacts
Array
Object
id
string
Example:
d72d5e7d-34f3-4dbe-b531-a2ad7c0aa593
title
string
Example:
Mr
forename
string
Example:
Bill
surname
string
Example:
Withers
email
string
Example:
andy@stewarduk.com
mobile
string
Example:
07566224395
home_phone
string
Example:
01983616214
date_of_birth
Object
month
integer
Example:
12
year
integer
Example:
1989
day
integer
Example:
12
is_primary
boolean
Example:
true
is_signatory
unknown nullable
benefit_recipient
unknown nullable
preferred_contact
unknown nullable
assesment_type
unknown nullable
tenure
unknown nullable
contact_type
unknown nullable
surveys
Array
Object
id
string
Example:
22bd5da3-2005-45d5-8707-f9209f6dcf68
survey
Object
id
string
Example:
e7f97130-c7aa-11eb-9bb2-42010a9a0026
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
config_group
string
Example:
MEASURE
small_icon
string
Example:
CAVITY
large_icon
unknown nullable
requires_install
boolean
Example:
true
versions
Array
Object
id
string
Example:
1
name
string
Example:
1.1
published_date
integer
Example:
1625568811
expired_date
unknown nullable
description
string
Example:
Cavity Survey v1
progress
integer
survey_version_id
string
Example:
b3547bd6-364e-11ec-a745-42010a9a0002
survey_date
unknown nullable
resources
Array
Object
id
string
Example:
9cd38d8c-df8c-4ce0-9254-252cdd2e5c7a
adminuser
Object
id
string
Example:
d53cc69e-0198-11ec-bcdb-42010a9a001a
name
string
Example:
Adam Goodrich
organisation
Object
id
string
Example:
a659279a-8b2a-4330-abb7-dc3f2c056fc5
name
string
Example:
Britevox
resource_type
string
Example:
SALES
rag_status
unknown nullable
life_cycle
unknown nullable
workflow_logs
Array
Object
id
string
Example:
7aa9228b-f52d-4c54-8c4a-32875bee9057
arrived_date
number
Example:
1639733389.841
action
string
Example:
ARRIVED
stage
Object
id
string
Example:
49edf769-c86d-11eb-9bb2-42010a9a0026
name
string
Example:
Survey Hold
process
Object
id
string
Example:
87840472-a437-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Package
performed_by
unknown nullable
organisation_id
unknown nullable
property_project
Object
id
string
project
Object
id
string
Example:
be0cad17-6e5d-11ec-b2c1-42010a9a0003
name
string
Example:
LAD Retrofit
description
string
Example:
LAD Funded Rerofit
start_date
string
completion_date
string
lifecycle
string
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
10
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_elements
integer
Example:
2
total_pages
integer
Example:
1
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
2
first
boolean
Example:
true
size
integer
Example:
10
empty
boolean
Example 1
GET /worklist/{id}/workitems HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "0ec736f7-b762-4d5f-b3e8-bb470f51fc89",
            "is_allocated": true,
            "process": {
                "id": "87840472-a437-11eb-b8ba-42010a9a004e",
                "name": "Process Survey",
                "description": "Manual Import from Partners and Final Checking",
                "started": 1625750179,
                "completed": null,
                "tenant_id": null
            },
            "stage": {
                "id": "49edf769-c86d-11eb-9bb2-42010a9a0026",
                "name": "Survey Hold",
                "description": "Surveys In Motion not complete",
                "expected_duration": 2,
                "alert_after": 1,
                "priority": 1,
                "stage_type": null,
                "icon_name": null,
                "started": 1625750179,
                "completed": null
            },
            "checklists": [
                {
                    "id": "6ca1bb66-c880-11eb-9bb2-42010a9a0026",
                    "name": "Property Details",
                    "description": "Property Details Complete",
                    "checklist_group": "PROPERTY",
                    "survey": null,
                    "is_required": true,
                    "priority": 1,
                    "actions": [
                        {
                            "id": "e9cfc46f-3537-4a7b-9721-92b8f9d97012",
                            "name": "Missing property details",
                            "description": "Data missing in property details",
                            "priority": 1,
                            "is_required": true,
                            "action_type": "ISSUE",
                            "automation_id": null,
                            "evidence_type": null
                        }
                    ],
                    "property_checklist": {
                        "id": "2fb42bf6-a684-40da-9d2c-3f2b45c82c08",
                        "started_date": 1626792660,
                        "completed_date": 1626792660
                    }
                }
            ],
            "property": {
                "id": "DdNTL0nRRswbTkCvWkyt",
                "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "code": "PREMIER-000009",
                "production": null,
                "allocated_id": null,
                "life_cycle": "SURVEY",
                "address": {
                    "building_name": "",
                    "country": "England",
                    "formatted_address": "64 Guildford Park Avenue, Guildford, Surrey, GU2 7NL",
                    "town_or_city": "Guildford",
                    "district": "Guildford",
                    "postcode": "GU2 7NL",
                    "county": "Surrey",
                    "locality": "",
                    "sub_building_name": "",
                    "thoroughfare": "Guildford Park Avenue",
                    "sub_building_number": null,
                    "building_number": "64"
                },
                "details": {
                    "age_band": "AGE_1996",
                    "bedrooms": 3,
                    "orientation": "RIGHT",
                    "extensions": 1,
                    "sub_type": "SEMI_DETACHED",
                    "property_type": "HOUSE",
                    "construction": "CONVENTIONAL_CAVITY",
                    "storeys": 2,
                    "conservatories": 1,
                    "flat_position": null,
                    "external_walls": null
                },
                "location": {
                    "latitude": 51.239197,
                    "longitude": -0.58395
                },
                "contacts": [
                    {
                        "id": "7W38kGhSDeb3QGtcHHJJ",
                        "title": "Mr",
                        "forename": "Andy",
                        "surname": "Steward",
                        "email": null,
                        "mobile": "07566224395",
                        "home_phone": "07566224395",
                        "date_of_birth": null
                    }
                ],
                "surveys": [
                    {
                        "id": "957efa83-71e9-49cd-aabf-c260a3cb7239",
                        "survey": {
                            "id": "1",
                            "name": "Cavity Survey",
                            "description": "Cavity Deem Score Survey",
                            "measure_type": "CAVITY",
                            "small_icon": "CAVITY",
                            "large_icon": null
                        },
                        "progress": 1,
                        "survey_version_id": null,
                        "survey_date": null,
                        "resources": [
                            {
                                "id": "709d7680-0ee4-4867-9209-295d75745ecd",
                                "adminuser": {
                                    "id": "4be396f8-9c50-11eb-b8ba-42010a9a004e",
                                    "name": "Baljit Mann"
                                },
                                "organisation": {
                                    "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                                    "name": "Premier Connections"
                                },
                                "resource_type": "SURVEYOR"
                            }
                        ]
                    }
                ],
                "resources": [
                    null
                ],
                "appointments": [
                    {
                        "id": "fb96bece-3d24-4198-be87-ebce3497ce54",
                        "adminuser": {
                            "id": "001a9ac4-4e22-4b51-97d9-d0697575ec6c",
                            "name": "Sam Surveyor"
                        },
                        "organisation": {
                            "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                            "name": "Premier Connections"
                        },
                        "appointment_date": 1622565017,
                        "appointment_length": 120
                    }
                ]
            },
            "project": {
                "id": "",
                "name": "",
                "start_date": "",
                "lifecycle": "",
                "completion_date": ""
            }
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 6,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_elements": 1,
    "total_pages": 1,
    "last": true,
    "number": 1,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number_of_elements": 1,
    "first": true,
    "size": 6,
    "empty": true
}
Create new Workitem in a process
POST /workitems

Create workitems in a process. Find the CREATOR stage and create a Workitem or multiple worklitems based on a split node.

Request body

Object
process_id
string

Process ID, from list of processes

property_id
string

property_id to add to process

Move Item to next Stage
POST /workitems/{id}/progress

Move the selected wortkitem to the next stage.

Path variables

id
string required
Workitems V1
GET /worklist/{id}/workitems

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
fdac80fb-def1-483f-9fbd-deb8a4ecb94b
is_allocated
boolean
process
Object
id
string
Example:
87840472-a437-11eb-b8ba-42010a9a004e
name
string
Example:
Process Survey
description
string
Example:
Manual Import from Partners and Final Checking
started
integer
Example:
1623966079
completed
unknown nullable
tenant_id
unknown nullable
stage
Object
id
string
Example:
6dc261be-a120-11eb-b8ba-42010a9a004e
name
string
Example:
Finance Check
description
string
Example:
Apply For LA Flex
expected_duration
integer
Example:
20
alert_after
integer
Example:
15
priority
integer
Example:
1
stage_type
unknown nullable
icon_name
unknown nullable
started
integer
Example:
1623966079
completed
unknown nullable
review_checklists
property
Object
id
string
Example:
SPzkXk5i3KybKsPG5stq
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
measures
unknown nullable
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
Roseway, Seafield Road, Seaview, Isle of Wight, PO34 5HD
town_or_city
string
Example:
Seaview
district
string
Example:
Isle Of Wight
postcode
string
Example:
PO34 5HD
county
string
Example:
Isle of Wight
locality
string
sub_building_name
string
Example:
Roseway
thoroughfare
string
Example:
Seafield Road
sub_building_number
string
building_number
string
code
string
Example:
PREMIER-000002
production
boolean
allocated_id
string
Example:
001a9ac4-4e22-4b51-97d9-d0697575ec6c
details
Object
age_band
string
Example:
AGE_1950
bedrooms
integer
Example:
3
orientation
string
Example:
LEFT
extensions
integer
sub_type
string
Example:
SEMI_DETACHED
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
1
conservatories
integer
flat_position
unknown nullable
external_walls
unknown nullable
location
Object
latitude
number
Example:
50.720574
longitude
number
Example:
-1.111745
contacts
Array
Object
home_phone
string
Example:
01983616214
forename
string
Example:
Sam
surname
string
Example:
Wang
mobile
string
Example:
07850082838
id
string
Example:
SftgTSioWbX7R1spbCcG
title
string
Example:
Mr
email
string
Example:
sam@vizulink.com
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
9
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_elements
integer
Example:
2
total_pages
integer
Example:
1
last
boolean
Example:
true
number
integer
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number_of_elements
integer
Example:
2
first
boolean
Example:
true
size
integer
Example:
9
empty
boolean
Example 1
GET /worklist/{id}/workitems HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "fdac80fb-def1-483f-9fbd-deb8a4ecb94b",
            "is_allocated": true,
            "process": {
                "id": "87840472-a437-11eb-b8ba-42010a9a004e",
                "name": "Process Survey",
                "description": "Manual Import from Partners and Final Checking",
                "started": 1623966079,
                "completed": null,
                "tenant_id": null
            },
            "stage": {
                "id": "6dc261be-a120-11eb-b8ba-42010a9a004e",
                "name": "Finance Check",
                "description": "Apply For LA Flex",
                "expected_duration": 20,
                "alert_after": 15,
                "priority": 1,
                "stage_type": null,
                "icon_name": null,
                "started": 1623966079,
                "completed": null
            },
            "review_checklists": [
                {
                    "id": "",
                    "name": "",
                    "description": "",
                    "required": true,
                    "checklist_group": "PROPERTY",
                    "priority": 1,
                    "survey": {
                        "id": "",
                        "name": ""
                    },
                    "property_checklist": {
                        "id": "",
                        "started_date": 1,
                        "completed_date": ""
                    }
                }
            ],
            "property": {
                "id": "SPzkXk5i3KybKsPG5stq",
                "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "measures": null,
                "address": {
                    "building_name": "",
                    "country": "England",
                    "formatted_address": "Roseway, Seafield Road, Seaview, Isle of Wight, PO34 5HD",
                    "town_or_city": "Seaview",
                    "district": "Isle Of Wight",
                    "postcode": "PO34 5HD",
                    "county": "Isle of Wight",
                    "locality": "",
                    "sub_building_name": "Roseway",
                    "thoroughfare": "Seafield Road",
                    "sub_building_number": "",
                    "building_number": ""
                },
                "code": "PREMIER-000002",
                "production": true,
                "allocated_id": "001a9ac4-4e22-4b51-97d9-d0697575ec6c",
                "details": {
                    "age_band": "AGE_1950",
                    "bedrooms": 3,
                    "orientation": "LEFT",
                    "extensions": 1,
                    "sub_type": "SEMI_DETACHED",
                    "property_type": "HOUSE",
                    "construction": "CONVENTIONAL_CAVITY",
                    "storeys": 1,
                    "conservatories": 1,
                    "flat_position": null,
                    "external_walls": null
                },
                "location": {
                    "latitude": 50.720574,
                    "longitude": -1.111745
                },
                "contacts": [
                    {
                        "home_phone": "01983616214",
                        "forename": "Sam",
                        "surname": "Wang ",
                        "mobile": "07850082838",
                        "id": "SftgTSioWbX7R1spbCcG",
                        "title": "Mr",
                        "email": "sam@vizulink.com"
                    }
                ]
            }
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 9,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_elements": 2,
    "total_pages": 1,
    "last": true,
    "number": 1,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number_of_elements": 2,
    "first": true,
    "size": 9,
    "empty": true
}
Access for Stages
GET /stages/{id}/access

Path variables

id
string required

Responses

200 OK
Body
Array
Object
organisation
Object
id
string
name
string
admin_users
Array
Object
id
string
name
string
Workitem Log
GET /properties/id/workflow_log

Request parameters

property_project_id
string optional

Request body

Object
content
Array
Object
id
string
Example:
052e435f-1da4-450f-8835-bbd501f9526f
arrived_date
number
Example:
1641465731.58
action
string
Example:
CHECKOUT
stage
Object
id
string
Example:
49edf769-c86d-11eb-9bb2-42010a9a0026
name
string
Example:
Survey Hold
process
Object
id
string
Example:
87840472-a437-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Package
performed_by
Object
id
string
Example:
8f5ffe3b-a3cf-44e1-a8f1-d41a2fcb9311
name
string
Example:
Sam Admin
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
20
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_elements
integer
Example:
5
total_pages
integer
Example:
1
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
5
first
boolean
Example:
true
size
integer
Example:
20
empty
boolean
Create Workitem
POST /workitems

Allows the property to be added into 1 or more processes based on the configiration of the project type that is identified by the property project id

Request body

Array
Object
property
Object
id
string
property_project
Object
id
string
process
Object

Optional

id
string
lead
Object
id
string
Single Workitem
GET /workitems/id

Request body

Object
id
string
Example:
f0734de5-2174-4d76-baaa-3387e2066af4
is_allocated
boolean
Example:
true
process
Object
id
string
Example:
87840472-a437-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Package
description
string
Example:
Manual Import from Partners and Final Checking
started
integer
Example:
1639494333
completed
unknown nullable
tenant_id
unknown nullable
stage
Object
id
string
Example:
5ae3b851-a120-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Check
description
string
Example:
Properties that have been surveyed and uploaded
expected_duration
integer
Example:
5
alert_after
integer
Example:
4
priority
integer
stage_type
unknown nullable
icon_name
unknown nullable
started
integer
Example:
1639494333
completed
unknown nullable
checklists
Array
Object
id
string
Example:
828f2efe-a38f-11eb-b8ba-42010a9a004e
name
string
Example:
Land Registry
description
string
Example:
Uploaded Land Registry or Proof of Ownersip
checklist_group
string
Example:
PROPERTY
survey
unknown nullable
is_required
boolean
Example:
true
priority
integer
actions
Array
Object
id
string
Example:
eece8271-b7c3-11eb-9bb2-42010a9a0026
name
string
Example:
Upload Land Registry Form
description
string
Example:
Upload Land Registry
priority
integer
is_required
boolean
action_type
string
Example:
UPLOAD
automation_id
unknown nullable
evidence_type
string
Example:
DOCUMENT
evidence_rule
Object
id
string
Example:
e5747e7c-19ae-40f4-a6b2-2528ef29d3e1
name
string
Example:
Land Registry
property_checklist
unknown nullable
property
Object
id
string
Example:
fed0b5a2-8717-44de-b7dc-0fefecdaf07b
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
unknown nullable
production
unknown nullable
allocated_id
unknown nullable
created_on
integer
Example:
1637056259
created_by
string
Example:
a3a6729d-6216-4e97-a8ae-8780a9ace686
modified_on
unknown nullable
modified_by
unknown nullable
life_cycle
string
Example:
ARCHIVED
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
The Bolt Hole, Seafield Road, Seaview, Isle of Wight, PO34 5HD
town_or_city
string
Example:
Seaview
district
string
Example:
Isle Of Wight
postcode
string
Example:
PO34 5HD
county
string
Example:
Isle of Wight
locality
string
sub_building_name
string
Example:
The Bolt Hole
thoroughfare
string
Example:
Seafield Road
sub_building_number
unknown nullable
building_number
string
details
Object
age_band
unknown nullable
bedrooms
unknown nullable
orientation
string
Example:
RIGHT
extensions
integer
Example:
1
sub_type
string
Example:
SEMI_DETACHED
property_type
string
Example:
HOUSE
construction
unknown nullable
storeys
unknown nullable
conservatories
unknown nullable
flat_position
unknown nullable
external_walls
unknown nullable
primary_heating
unknown nullable
secondary_heating
unknown nullable
is_maingas
unknown nullable
tenure
unknown nullable
parkhome_size
unknown nullable
floor_number
unknown nullable
elevations
Object
left
unknown nullable
right
unknown nullable
front
unknown nullable
rear
unknown nullable
location
Object
latitude
number
Example:
50.720574
longitude
number
Example:
-1.111745
local_authority
Object
id
string
Example:
72fbb8b0-04ff-11ec-bcdb-42010a9a001a
code
string
Example:
E06000046
name
string
Example:
Isle of Wight
contacts
Array
Object
id
string
Example:
a30713a2-e5d8-4fe2-ab74-52fb4cfaa1d5
title
string
Example:
Mr
forename
string
Example:
Avi
surname
string
Example:
sharma
email
unknown nullable
mobile
unknown nullable
home_phone
unknown nullable
date_of_birth
unknown nullable
is_primary
boolean
Example:
true
is_signatory
unknown nullable
benefit_recipient
unknown nullable
preferred_contact
string
Example:
EMAIL
assesment_type
unknown nullable
tenure
unknown nullable
contact_type
unknown nullable
surveys
Array
Object
id
string
Example:
91d1cf42-d07f-4d2e-a254-f1c5e153d6e9
survey
Object
id
string
Example:
c76ed744-c849-11eb-9bb2-42010a9a0026
name
string
Example:
Loft Insulation
description
string
Example:
Loft Insulation Survery
measure_type
string
Example:
LOFT
config_group
string
Example:
MEASURE
small_icon
string
Example:
LOFT
large_icon
unknown nullable
requires_install
boolean
Example:
true
versions
Array
Object
id
string
Example:
4
name
string
Example:
1.0
published_date
integer
Example:
1622919575
expired_date
unknown nullable
description
string
Example:
Loft Survey v1
progress
integer
survey_version_id
string
Example:
c1d8f3bf-22c5-11ec-bcdb-42010a9a001a
survey_date
unknown nullable
resources
Array
Object
id
string
Example:
d1ddf6c6-8030-4180-aed6-f486b20427ed
adminuser
Object
organisation
Object
resource_type
string
Example:
SALES
rag_status
unknown nullable
life_cycle
unknown nullable
workflow_logs
Array
Object
id
string
Example:
000efeea-14ec-4dc6-becb-668a9b751cb6
arrived_date
number
Example:
1639494332.851
action
string
Example:
ARRIVED
stage
Object
id
string
Example:
6dc261be-a120-11eb-b8ba-42010a9a004e
name
string
Example:
LA Flex
process
Object
id
string
Example:
87840472-a437-11eb-b8ba-42010a9a004e
name
string
Example:
Survey Package
performed_by
unknown nullable
organisation_id
unknown nullable
property_project_id
unknown nullable
property_project
Object
id
string
project
Object
id
string
Example:
be0cad17-6e5d-11ec-b2c1-42010a9a0003
name
string
Example:
LAD Retrofit
description
string
Example:
LAD Funded Rerofit
start_date
string
completion_date
string
lifecycle
string
Examples
{
    "id": "f0734de5-2174-4d76-baaa-3387e2066af4",
    "is_allocated": true,
    "process": {
        "id": "87840472-a437-11eb-b8ba-42010a9a004e",
        "name": "Survey Package",
        "description": "Manual Import from Partners and Final Checking",
        "started": 1639494333,
        "completed": null,
        "tenant_id": null
    },
    "stage": {
        "id": "5ae3b851-a120-11eb-b8ba-42010a9a004e",
        "name": "Survey Check",
        "description": "Properties that have been surveyed and uploaded",
        "expected_duration": 5,
        "alert_after": 4,
        "priority": 1,
        "stage_type": null,
        "icon_name": null,
        "started": 1639494333,
        "completed": null
    },
    "checklists": [
        {
            "id": "828f2efe-a38f-11eb-b8ba-42010a9a004e",
            "name": "Land Registry",
            "description": "Uploaded Land Registry or Proof of Ownersip",
            "checklist_group": "PROPERTY",
            "survey": null,
            "is_required": true,
            "priority": 1,
            "actions": [
                {
                    "id": "eece8271-b7c3-11eb-9bb2-42010a9a0026",
                    "name": "Upload Land Registry Form",
                    "description": "Upload Land Registry",
                    "priority": 1,
                    "is_required": true,
                    "action_type": "UPLOAD",
                    "automation_id": null,
                    "evidence_type": "DOCUMENT",
                    "evidence_rule": {
                        "id": "e5747e7c-19ae-40f4-a6b2-2528ef29d3e1",
                        "name": "Land Registry "
                    }
                }
            ],
            "property_checklist": null
        }
    ],
    "property": {
        "id": "fed0b5a2-8717-44de-b7dc-0fefecdaf07b",
        "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
        "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
        "code": null,
        "production": null,
        "allocated_id": null,
        "created_on": 1637056259,
        "created_by": "a3a6729d-6216-4e97-a8ae-8780a9ace686",
        "modified_on": null,
        "modified_by": null,
        "life_cycle": "ARCHIVED",
        "address": {
            "building_name": "",
            "country": "England",
            "formatted_address": "The Bolt Hole, Seafield Road, Seaview, Isle of Wight, PO34 5HD",
            "town_or_city": "Seaview",
            "district": "Isle Of Wight",
            "postcode": "PO34 5HD",
            "county": "Isle of Wight",
            "locality": "",
            "sub_building_name": "The Bolt Hole",
            "thoroughfare": "Seafield Road",
            "sub_building_number": null,
            "building_number": ""
        },
        "details": {
            "age_band": null,
            "bedrooms": null,
            "orientation": "RIGHT",
            "extensions": 1,
            "sub_type": "SEMI_DETACHED",
            "property_type": "HOUSE",
            "construction": null,
            "storeys": null,
            "conservatories": null,
            "flat_position": null,
            "external_walls": null,
            "primary_heating": null,
            "secondary_heating": null,
            "is_maingas": null,
            "tenure": null,
            "parkhome_size": null,
            "floor_number": null,
            "elevations": {
                "left": null,
                "right": null,
                "front": null,
                "rear": null
            }
        },
        "location": {
            "latitude": 50.720574,
            "longitude": -1.111745
        },
        "local_authority": {
            "id": "72fbb8b0-04ff-11ec-bcdb-42010a9a001a",
            "code": "E06000046",
            "name": "Isle of Wight"
        },
        "contacts": [
            {
                "id": "a30713a2-e5d8-4fe2-ab74-52fb4cfaa1d5",
                "title": "Mr",
                "forename": "Avi",
                "surname": "sharma",
                "email": null,
                "mobile": null,
                "home_phone": null,
                "date_of_birth": null,
                "is_primary": true,
                "is_signatory": null,
                "benefit_recipient": null,
                "preferred_contact": "EMAIL",
                "assesment_type": null,
                "tenure": null,
                "contact_type": null
            }
        ],
        "surveys": [
            {
                "id": "91d1cf42-d07f-4d2e-a254-f1c5e153d6e9",
                "survey": {
                    "id": "c76ed744-c849-11eb-9bb2-42010a9a0026",
                    "name": "Loft Insulation",
                    "description": "Loft Insulation Survery",
                    "measure_type": "LOFT",
                    "config_group": "MEASURE",
                    "small_icon": "LOFT",
                    "large_icon": null,
                    "requires_install": true,
                    "versions": [
                        {
                            "id": "4",
                            "name": "1.0",
                            "published_date": 1622919575,
                            "expired_date": null,
                            "description": "Loft Survey v1"
                        }
                    ]
                },
                "progress": 1,
                "survey_version_id": "c1d8f3bf-22c5-11ec-bcdb-42010a9a001a",
                "survey_date": null,
                "resources": [
                    {
                        "id": "d1ddf6c6-8030-4180-aed6-f486b20427ed",
                        "adminuser": {},
                        "organisation": {},
                        "resource_type": "SALES"
                    }
                ],
                "rag_status": null,
                "life_cycle": null
            }
        ],
        "workflow_logs": [
            {
                "id": "000efeea-14ec-4dc6-becb-668a9b751cb6",
                "arrived_date": 1639494332.851,
                "action": "ARRIVED",
                "stage": {
                    "id": "6dc261be-a120-11eb-b8ba-42010a9a004e",
                    "name": "LA Flex"
                },
                "process": {
                    "id": "87840472-a437-11eb-b8ba-42010a9a004e",
                    "name": "Survey Package"
                },
                "performed_by": null,
                "organisation_id": null,
                "property_project_id": null
            }
        ],
        "project": {
            "id": "",
            "name": "",
            "start_date": "",
            "completion_date": "",
            "lifecycle": ""
        }
    }
}
Media

Manage Photos

GET /photo_categories
POST /properties/{id}/mediagroups
PUT /media/{id}
Get Photo Categories
GET /photo_categories

Responses

200 OK
Body
Object
id
string
Example:
9d855dc0-a1dd-11eb-b8ba-42010a9a004e
name
string
Example:
Property Details
category_type
string
Enumeration:
PROPERTY
CUSTOMER
MEASURE
photo_rules
Array
Object
id
string
Example:
9d855dc0-a1dd-11eb-b8ba-42010a9a004e
name
string
Example:
Front Elevation
property_type
string
Example:
HOUSE
sub_type
string
Example:
DETACHED
measure_type
unknown nullable
is_required
boolean
priority
integer
Example:
1
shortcode
string
Example:
FRONT_ELEVATION
measure_type
string
Enumeration:
CAVITY
LOFT
survey
Object
id
string

ID of survey

name
string

Name of survey

Add Property Media Group
POST /properties/{id}/mediagroups

Group Sets of Images togther in a media group

Path variables

id
string required

Request body

Object
group_section
string
survey_id
string
Update photo
PUT /media/{id}

Path variables

id
string required

Request body

Object
group_section
string
group_media
Object
external_type
Object
id
string
usage_type
string
Enumeration:
Front Elevation
Examples
Property Media
GET /properties/{id}/media
Property Media
GET /properties/{id}/media

Path variables

id
string required

Responses

200 OK
Body
Array
Object
media_groups
Array
Object
id
string

Id of group

group_section
string

Section Type

survey
Object

Survey Name

id
string
name
string
group_media
Array of creatives
Example 1
GET /properties/{id}/media HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "media_groups": [
            {
                "id": "123456",
                "group_section": "MEASURE",
                "measure_type": "LOFT",
                "group_media": [
                    {
                        "id": "27ad2c5b-de33-4e7b-855c-79889f6b2630",
                        "usage_type": "HERO",
                        "width": 6616,
                        "format": "jpg",
                        "media_id": "bd928cf6-8d56-44a1-80c3-8f8fc8628c8c",
                        "media": [
                            {
                                "id": null,
                                "width": 50,
                                "height": 33,
                                "url": "https://res.cloudinary.com/crm-com/image/upload/c_scale,f_auto,q_auto,w_50/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg"
                            }
                        ],
                        "url": "https://res.cloudinary.com/crm-com/image/upload/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg",
                        "height": 4411,
                        "media_group_id": "7c9d0054-5bdc-4905-ae46-6fd405d8e9c8",
                        "public_id": "23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj",
                        "external_type": {
                            "id": "guid_of_rule",
                            "usage_type": "CAVITY_WALL_1"
                        }
                    }
                ]
            }
        ]
    }
]
Data management
GET /data_categories
Get Data Rules
GET /data_categories

Responses

200 OK
Body
Array
Object
data_group
Object
id
string
Example:
6695020a-ab3c-11eb-9bb2-42010a9a0026
name
string
Example:
Overview
description
string
Example:
Overview of Cavity Survey
icons
Object
small_icon
string

Name of small icon

Example:
ICON_SM
large_icon
string

Name of large icon

Example:
ICON_LG
config_group
string

Group PROPERTY, CONTACT, MEASURE

Enumeration:
PROPERTY
CONTACT
MEASURE
measure_type
string

type of Measure

Enumeration:
CAVITY
LOFT
answer_group
boolean

is the group used for answer collection

data_items
Array
Object
id
string
Example:
a91f60f4-ab3e-11eb-9bb2-42010a9a0026
name
string
Example:
Lead Type
description
string
Example:
Type of Lead
icons
Object
small_icon
string
large_icon
string
item_type
string
Enumeration:
CHOOSER
YESNO
NUMERIC
ALPHA
ALPHA_NUMERIC
RANGE
ORGANISATION
PHOTO
DATE
DATETIME
TIME
SCHEME
NOTES
range
Object

If type is a range then min and max values

min
number
max
number
mask
string
standard
string
is_optional
string
priority
string
choices
Array
Object
id
string
Example:
0b079cdc-ab3f-11eb-9bb2-42010a9a0026
icons
Object
small_icon
string

ICON_SM

large_icon
string

ICON_LG

name
string

ECO 3

description
string

ECO 3

priority
string

0

next_group
Object

where to go if a numeric as an array of groups

id
string
name
string
yes_group
Object
id
string
name
string
no_group
Object
id
string
name
string
Example 1
Example 2
GET /data_categories HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "data_group": {
            "id": "6695020a-ab3c-11eb-9bb2-42010a9a0026",
            "name": "Overview",
            "description": "Overview of Cavity Survey",
            "icons": {
                "small_icon": "ICON_SM",
                "large_icon": "ICON_LG"
            },
            "config_group": "PROPERTY",
            "measure_type": "LOFT",
            "data_items": [
                {
                    "id": "a91f60f4-ab3e-11eb-9bb2-42010a9a0026",
                    "name": "Lead Type",
                    "description": "Type of Lead",
                    "icons": {
                        "small_icon": "",
                        "large_icon": ""
                    },
                    "item_type": "DATETIME",
                    "range": {
                        "min": 1,
                        "max": 1
                    },
                    "mask": "",
                    "standard": "",
                    "is_optional": "",
                    "next_group_id": "",
                    "priority": "",
                    "choices": [
                        {
                            "id": "0b079cdc-ab3f-11eb-9bb2-42010a9a0026",
                            "icons": {
                                "small_icon": "ICON_SM",
                                "large_icon": "ICON_LG"
                            },
                            "name": "ECO 3",
                            "description": "",
                            "priority": 0
                        },
                        {
                            "id": "24b347fe-ab3f-11eb-9bb2-42010a9a0026",
                            "icons": {
                                "small_icon": "ICON_SM",
                                "large_icon": "ICON_LG"
                            },
                            "name": "Green Homes Grant",
                            "description": "",
                            "priority": 1
                        }
                    ]
                }
            ]
        }
    }
]

With answer sub-group

GET /data_categories HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

[
    {
        "data_group": {
            "id": "6695020a-ab3c-11eb-9bb2-42010a9a0026",
            "name": "Overview",
            "description": "Overview of Cavity Survey",
            "icons": {
                "small_icon": "ICON_SM",
                "large_icon": "ICON_LG"
            },
            "config_group": "PROPERTY",
            "measure_type": "LOFT",
            "answer_group": true,
            "data_items": [
                {
                    "id": "a91f60f4-ab3e-11eb-9bb2-42010a9a0026",
                    "name": "Lead Type",
                    "description": "Type of Lead",
                    "icons": {
                        "small_icon": "",
                        "large_icon": ""
                    },
                    "item_type": "ORGANISATION",
                    "range": {
                        "min": 1,
                        "max": 1
                    },
                    "mask": "",
                    "standard": "",
                    "is_optional": "",
                    "priority": "",
                    "choices": [
                        {
                            "id": "0b079cdc-ab3f-11eb-9bb2-42010a9a0026",
                            "icons": {
                                "small_icon": "",
                                "large_icon": ""
                            },
                            "name": "",
                            "description": "",
                            "priority": ""
                        }
                    ],
                    "next_group": {
                        "id": "",
                        "name": ""
                    },
                    "yes_group": {
                        "id": "",
                        "name": ""
                    },
                    "no_group": {
                        "id": "",
                        "name": ""
                    }
                }
            ]
        }
    }
]
Insight
POST /insights
GET /insights
Create insight
POST /insights

Request body

Object
name
string

Name of insight

description
string

Insight description

insight_type
string
Enumeration:
WORKFLOW
FINANCE
PROPERTY
Get list of insights
GET /insights

Responses

200 OK
Body
Array
Object
id
string
name
string
Example:
name of insight
description
string
Example:
insight description
insight_type
string
Enumeration:
WORKFLOW
FINANCE
PROPERTY
Uploads

Uploading files

GET /uploads
POST /uploads/{id}/photos
Get List of uploads
GET /uploads

Responses

200 OK
Body
Object
content
Array
Object
id
string
filename
string
files
Array
Object
filename
string
file_type
string
Enumeration:
JPG
CSV
PNG
PDF
file_content
string

Only returned if data file

Upload Photos to Cloudinary
POST /uploads/{id}/photos

Path variables

id
string required

Request body

Array
Object
filename
string
media_group_id
string
Appointments

List of appointments

GET /appointments
GET /appointments/{id}
POST /appointments
GET /appointments/id/surveys
PUT /appointment/id/surveys
PUT /appointments/id
GET /properties/{id}/appointments
GET /adminusers/{id}/appointments
List of appointments
GET /appointments

Request parameters

start_date
number optional
end_date
number optional
appointment_type
string optional
Enumeration:
SURVEY
INSTALL
organisation_id
string optional
adminuser_id
string optional

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
511aa9d8-7c07-4fd7-893b-8196630e2e7a
owner
Object
adminuser
Object
id
string
Example:
1c56972c-8a90-459a-a612-9ab87c04ee7c
name
string
Example:
Ryan Haider
organisation
Object
id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string
Example:
Premier Connections
appointment_date
integer
Example:
1646643600
appointment_length
integer
Example:
60
appointment_status
string
Example:
PENDING
notes
string
Example:
CL booked in 24/02/2022 please call 30 mins before arrival. Charlie Rumbold
appointment_type
string
Example:
SURVEY
outcome_notes
unknown nullable
slot
unknown nullable
property
Object
id
string
Example:
5ba916f0-b395-4168-ab9e-944257cc8926
code
string
Example:
PREMIER-000253
life_cycle
string
Example:
LEAD
address
Object
formatted_address
string
Example:
62 Beam Avenue, Dagenham, Essex, RM10 9BJ
location
Object
latitude
number
Example:
51.531387
longitude
number
Example:
0.158275
property_surveys
Array
Object
id
string
Example:
0a26edea-dda1-410e-9aae-16d45494d8c6
property_projects
Array
Object
id
string
Example:
db3865c5-b1ce-4b5f-9da9-0c3c7128a817
project
Object
id
string
Example:
c81d462c-6e5d-11ec-b2c1-42010a9a0003
name
string
Example:
LAD E.ON
description
unknown nullable
start_date
integer
Example:
1645709415
completion_date
unknown nullable
lifecycle
string
Example:
ACTIVE
survey
Object
id
string
Example:
03093ab8-4080-11ec-837d-42010a9a0002
name
string
Example:
Solar PV
description
string
Example:
Solar Energy Survey
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
150
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
2
last
boolean
total_elements
integer
Example:
193
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
150
first
boolean
Example:
true
size
integer
Example:
150
empty
boolean
Examples
{
    "content": [
        {
            "id": "511aa9d8-7c07-4fd7-893b-8196630e2e7a",
            "owner": {
                "adminuser": {
                    "id": "1c56972c-8a90-459a-a612-9ab87c04ee7c",
                    "name": "Ryan Haider"
                },
                "organisation": {
                    "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                    "name": "Premier Connections"
                }
            },
            "appointment_date": 1646643600,
            "appointment_length": 60,
            "appointment_status": "PENDING",
            "notes": "CL booked in 24/02/2022 please call 30 mins before arrival. Charlie Rumbold ",
            "appointment_type": "SURVEY",
            "outcome_notes": null,
            "slot": null,
            "property": {
                "id": "5ba916f0-b395-4168-ab9e-944257cc8926",
                "code": "PREMIER-000253",
                "life_cycle": "LEAD",
                "address": {
                    "formatted_address": "62 Beam Avenue, Dagenham, Essex, RM10 9BJ"
                },
                "location": {
                    "latitude": 51.531387,
                    "longitude": 0.158275
                }
            },
            "property_surveys": [
                {
                    "id": "0a26edea-dda1-410e-9aae-16d45494d8c6",
                    "property_projects": [
                        {
                            "id": "db3865c5-b1ce-4b5f-9da9-0c3c7128a817",
                            "project": {
                                "id": "c81d462c-6e5d-11ec-b2c1-42010a9a0003",
                                "name": "LAD E.ON",
                                "description": null
                            },
                            "start_date": 1645709415,
                            "completion_date": null,
                            "lifecycle": "ACTIVE"
                        }
                    ],
                    "survey": {
                        "id": "03093ab8-4080-11ec-837d-42010a9a0002",
                        "name": "Solar PV",
                        "description": "Solar Energy Survey"
                    }
                }
            ]
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 150,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_pages": 2,
    "last": true,
    "total_elements": 193,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number": 1,
    "number_of_elements": 150,
    "first": true,
    "size": 150,
    "empty": true
}
Example 1
GET /appointments HTTP/1.1 

Content-Type: application/json

{
    "content": [
        {
            "appointment_date": "2022-01-17T14:00:40.817Z",
            "appointment_length": 1,
            "appointment_status": "COMPLETE",
            "appointment_type": "SURVEY",
            "cancel_notes": "string",
            "cancel_reason": "CUSTOMER_CANCELLED",
            "id": "string",
            "notes": "string",
            "owner": {
                "adminuser": {
                    "id": "string",
                    "name": "string"
                },
                "organisation": {
                    "id": "string",
                    "name": "string"
                }
            },
            "property": {
                "address": {
                    "building_name": "string",
                    "building_number": "string",
                    "country": "string",
                    "county": "string",
                    "district": "string",
                    "formatted_address": "string",
                    "locality": "string",
                    "postcode": "string",
                    "sub_building_name": "string",
                    "sub_building_number": "string",
                    "thoroughfare": "string",
                    "town_or_city": "string"
                },
                "allocated_id": "string",
                "code": "string",
                "contacts": [
                    {
                        "assesment_type": "DWP_CHECK",
                        "benefit_recipient": true,
                        "contact_type": "THIRD_PARTY",
                        "date_of_birth": {
                            "additionalProp1": 1,
                            "additionalProp2": 1,
                            "additionalProp3": 1
                        },
                        "email": "string",
                        "forename": "string",
                        "home_phone": "string",
                        "id": "string",
                        "is_primary": true,
                        "is_signatory": true,
                        "mobile": "string",
                        "preferred_contact": "EMAIL",
                        "surname": "string",
                        "tenure": "OWNER",
                        "title": "string"
                    }
                ],
                "details": {
                    "age_band": "AGE_BEFORE1900",
                    "bedrooms": 1,
                    "conservatories": true,
                    "construction": "CONVENTIONAL_CAVITY",
                    "elevations": {
                        "front": true,
                        "left": true,
                        "rear": true,
                        "right": true
                    },
                    "extensions": 1,
                    "external_walls": 1,
                    "flat_position": "TOP",
                    "floor_number": 1,
                    "is_maingas": true,
                    "orientation": "LEFT",
                    "parkhome_size": "SINGLE",
                    "primary_heating": "GAS_BOILER",
                    "property_type": "HOUSE",
                    "secondary_heating": "GAS_BOILER",
                    "storeys": 1,
                    "sub_type": "DETACHED",
                    "tenure": "PRIVATE_OWNER"
                },
                "id": "string",
                "life_cycle": "LEAD",
                "location": {
                    "latitude": 1,
                    "longitude": 1
                },
                "organisation_id": "string",
                "production": true,
                "tenant_id": "string"
            },
            "resources": [
                {
                    "appointments": [
                        {
                            "adminuser": {
                                "id": "string",
                                "name": "string"
                            },
                            "appointment_date": "2022-01-17T14:00:40.817Z",
                            "appointment_length": 1,
                            "appointment_status": "COMPLETE",
                            "appointment_type": "SURVEY",
                            "created_on": "2022-01-17T14:00:40.817Z",
                            "id": "string",
                            "notes": "string",
                            "organisation": {
                                "id": "string",
                                "name": "string"
                            },
                            "slot": "AM"
                        }
                    ],
                    "changed_date": "2022-01-17T14:00:40.817Z",
                    "id": "string",
                    "life_cycle": "ASSIGNED",
                    "owner": {
                        "adminuser": {
                            "id": "string",
                            "name": "string"
                        },
                        "organisation": {
                            "id": "string",
                            "name": "string"
                        }
                    },
                    "property_survey": {
                        "id": "string",
                        "life_cycle": "SURVEY_CANCELLED",
                        "progress": 1,
                        "property_project": {
                            "completion_date": "2022-01-17T14:00:40.818Z",
                            "id": "string",
                            "lifecycle": "ACTIVE",
                            "project": {
                                "description": "string",
                                "id": "string",
                                "name": "string"
                            },
                            "start_date": "2022-01-17T14:00:40.818Z"
                        },
                        "rag_status": "RED",
                        "survey": {
                            "config_group": "PROPERTY",
                            "description": "string",
                            "id": "string",
                            "measure_type": "CAVITY",
                            "name": "string",
                            "requires_install": true,
                            "small_icon": "string",
                            "version": {
                                "id": "string",
                                "name": "string"
                            }
                        },
                        "survey_date": "2022-01-17T14:00:40.818Z"
                    },
                    "resource_type": "SALES",
                    "survey": {
                        "id": "string",
                        "name": "string"
                    }
                }
            ],
            "slot": "AM",
            "surveys": [
                {
                    "id": "string",
                    "life_cycle": "SURVEY_CANCELLED",
                    "progress": 1,
                    "property_project": {
                        "completion_date": "2022-01-17T14:00:40.818Z",
                        "id": "string",
                        "lifecycle": "ACTIVE",
                        "project": {
                            "description": "string",
                            "id": "string",
                            "name": "string"
                        },
                        "start_date": "2022-01-17T14:00:40.818Z"
                    },
                    "rag_status": "RED",
                    "survey": {
                        "config_group": "PROPERTY",
                        "description": "string",
                        "id": "string",
                        "measure_type": "CAVITY",
                        "name": "string",
                        "requires_install": true,
                        "small_icon": "string",
                        "version": {
                            "id": "string",
                            "name": "string"
                        }
                    },
                    "survey_date": "2022-01-17T14:00:40.818Z"
                }
            ]
        }
    ],
    "empty": true,
    "first": true,
    "last": true,
    "number": 1,
    "number_of_elements": 1,
    "pageable": {
        "offset": 1,
        "page_number": 1,
        "page_size": 1,
        "paged": true,
        "sort": {
            "empty": true,
            "sorted": true,
            "unsorted": true
        },
        "unpaged": true
    },
    "size": 1,
    "sort": {
        "empty": true,
        "sorted": true,
        "unsorted": true
    },
    "total_elements": 1,
    "total_pages": 1
}
Single Appointment
GET /appointments/{id}

Path variables

id
string required

Responses

200 OK
Body
Object
owner
Object
adminuser
Object
id
string
organisation
Object
id
string
appointment_date
integer
Example:
1
appointment_length
integer
Example:
1
property
Object
id
string
Example:
DdNTL0nRRswbTkCvWkyt
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREMIER-000009
production
unknown nullable
allocated_id
unknown nullable
life_cycle
string
Example:
SURVEY
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
64 Guildford Park Avenue, Guildford, Surrey, GU2 7NL
town_or_city
string
Example:
Guildford
district
string
Example:
Guildford
postcode
string
Example:
GU2 7NL
county
string
Example:
Surrey
locality
string
sub_building_name
string
thoroughfare
string
Example:
Guildford Park Avenue
sub_building_number
unknown nullable
building_number
string
Example:
64
details
Object
age_band
string
Example:
AGE_1996
bedrooms
integer
Example:
3
orientation
string
Example:
RIGHT
extensions
integer
Example:
1
sub_type
string
Example:
SEMI_DETACHED
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
2
conservatories
integer
Example:
1
flat_position
unknown nullable
external_walls
unknown nullable
location
Object
latitude
number
Example:
51.239197
longitude
number
Example:
-0.58395
contacts
Object
id
string
Example:
7W38kGhSDeb3QGtcHHJJ
title
string
Example:
Mr
forename
string
Example:
Andy
surname
string
Example:
Steward
email
unknown nullable
mobile
string
Example:
07566224395
home_phone
string
Example:
07566224395
date_of_birth
unknown nullable
surveys
Array
Object
id
string
Example:
957efa83-71e9-49cd-aabf-c260a3cb7239
survey
Object
id
string
Example:
1
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
small_icon
string
Example:
CAVITY
large_icon
unknown nullable
progress
integer
Example:
1
survey_version_id
unknown nullable
survey_date
unknown nullable
resources
Array
Object
id
string
Example:
709d7680-0ee4-4867-9209-295d75745ecd
adminuser
Object
id
string
Example:
4be396f8-9c50-11eb-b8ba-42010a9a004e
name
string
Example:
Baljit Mann
organisation
Object
id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string
Example:
Premier Connections
resource_type
string
Example:
SURVEYOR
appointment_surveys
Object
id
string
Example:
e7f97130-c7aa-11eb-9bb2-42010a9a0026
property_project
Object
id
string
project
Object
id
string
name
string
description
string
start_date
integer
Example:
1
completed_date
integer
Example:
1
lifecycle
string
survey
Object
id
string
Example:
survey_guid
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
requires_install
boolean
Example:
true
small_icon
string
progress
integer
Example:
1
survey_date
string
rag_status
string
life_cycle
string
Examples
{
    "owner": {
        "adminuser": {
            "id": ""
        },
        "organisation": {
            "id": ""
        }
    },
    "appointment_date": 1,
    "appointment_length": 1,
    "property": {
        "id": "DdNTL0nRRswbTkCvWkyt",
        "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
        "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
        "code": "PREMIER-000009",
        "production": null,
        "allocated_id": null,
        "life_cycle": "SURVEY",
        "address": {
            "building_name": "",
            "country": "England",
            "formatted_address": "64 Guildford Park Avenue, Guildford, Surrey, GU2 7NL",
            "town_or_city": "Guildford",
            "district": "Guildford",
            "postcode": "GU2 7NL",
            "county": "Surrey",
            "locality": "",
            "sub_building_name": "",
            "thoroughfare": "Guildford Park Avenue",
            "sub_building_number": null,
            "building_number": "64"
        },
        "details": {
            "age_band": "AGE_1996",
            "bedrooms": 3,
            "orientation": "RIGHT",
            "extensions": 1,
            "sub_type": "SEMI_DETACHED",
            "property_type": "HOUSE",
            "construction": "CONVENTIONAL_CAVITY",
            "storeys": 2,
            "conservatories": 1,
            "flat_position": null,
            "external_walls": null
        },
        "location": {
            "latitude": 51.239197,
            "longitude": -0.58395
        },
        "contacts": {
            "id": "7W38kGhSDeb3QGtcHHJJ",
            "title": "Mr",
            "forename": "Andy",
            "surname": "Steward",
            "email": null,
            "mobile": "07566224395",
            "home_phone": "07566224395",
            "date_of_birth": null
        },
        "surveys": [
            {
                "id": "957efa83-71e9-49cd-aabf-c260a3cb7239",
                "survey": {
                    "id": "1",
                    "name": "Cavity Survey",
                    "description": "Cavity Deem Score Survey",
                    "measure_type": "CAVITY",
                    "small_icon": "CAVITY",
                    "large_icon": null
                },
                "progress": 1,
                "survey_version_id": null,
                "survey_date": null,
                "resources": [
                    {
                        "id": "709d7680-0ee4-4867-9209-295d75745ecd",
                        "adminuser": {
                            "id": "4be396f8-9c50-11eb-b8ba-42010a9a004e",
                            "name": "Baljit Mann"
                        },
                        "organisation": {
                            "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                            "name": "Premier Connections"
                        },
                        "resource_type": "SURVEYOR"
                    }
                ]
            }
        ]
    },
    "appointment_surveys": {
        "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
        "property_project": {
            "id": "",
            "project": {
                "id": "",
                "name": "",
                "description": ""
            },
            "start_date": 1,
            "completed_date": 1,
            "lifecycle": ""
        },
        "survey": {
            "id": "survey_guid",
            "name": "Cavity Survey",
            "description": "Cavity Deem Score Survey",
            "measure_type": "CAVITY",
            "requires_install": true,
            "small_icon": "",
            "version": {
                "id": "",
                "name": ""
            }
        },
        "progress": 1,
        "survey_date": "",
        "rag_status": "",
        "life_cycle": ""
    }
}
Example 1
GET /appointments/id HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "adminuser": {
                "id": "",
                "name": ""
            },
            "appointment_date": 1,
            "appointment_length": 1,
            "property": {
                "id": "DdNTL0nRRswbTkCvWkyt",
                "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "code": "PREMIER-000009",
                "production": null,
                "allocated_id": null,
                "life_cycle": "SURVEY",
                "address": {
                    "building_name": "",
                    "country": "England",
                    "formatted_address": "64 Guildford Park Avenue, Guildford, Surrey, GU2 7NL",
                    "town_or_city": "Guildford",
                    "district": "Guildford",
                    "postcode": "GU2 7NL",
                    "county": "Surrey",
                    "locality": "",
                    "sub_building_name": "",
                    "thoroughfare": "Guildford Park Avenue",
                    "sub_building_number": null,
                    "building_number": "64"
                },
                "details": {
                    "age_band": "AGE_1996",
                    "bedrooms": 3,
                    "orientation": "RIGHT",
                    "extensions": 1,
                    "sub_type": "SEMI_DETACHED",
                    "property_type": "HOUSE",
                    "construction": "CONVENTIONAL_CAVITY",
                    "storeys": 2,
                    "conservatories": 1,
                    "flat_position": null,
                    "external_walls": null
                },
                "location": {
                    "latitude": 51.239197,
                    "longitude": -0.58395
                },
                "contacts": {
                    "id": "7W38kGhSDeb3QGtcHHJJ",
                    "title": "Mr",
                    "forename": "Andy",
                    "surname": "Steward",
                    "email": null,
                    "mobile": "07566224395",
                    "home_phone": "07566224395",
                    "date_of_birth": null
                },
                "surveys": [
                    {
                        "id": "957efa83-71e9-49cd-aabf-c260a3cb7239",
                        "survey": {
                            "id": "1",
                            "name": "Cavity Survey",
                            "description": "Cavity Deem Score Survey",
                            "measure_type": "CAVITY",
                            "small_icon": "CAVITY",
                            "large_icon": null
                        },
                        "progress": 1,
                        "survey_version_id": null,
                        "survey_date": null,
                        "resources": [
                            {
                                "id": "709d7680-0ee4-4867-9209-295d75745ecd",
                                "adminuser": {
                                    "id": "4be396f8-9c50-11eb-b8ba-42010a9a004e",
                                    "name": "Baljit Mann"
                                },
                                "organisation": {
                                    "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                                    "name": "Premier Connections"
                                },
                                "resource_type": "SURVEYOR"
                            }
                        ]
                    }
                ]
            },
            "appointment_surveys": {
                "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
                "property_project": {
                    "id": "",
                    "project": {
                        "id": "",
                        "name": "",
                        "description": ""
                    },
                    "start_date": 1,
                    "completed_date": 1,
                    "lifecycle": ""
                },
                "survey": {
                    "id": "survey_guid",
                    "name": "Cavity Survey",
                    "description": "Cavity Deem Score Survey",
                    "measure_type": "CAVITY",
                    "requires_install": true,
                    "small_icon": "",
                    "version": {
                        "id": "",
                        "name": ""
                    }
                },
                "progress": 1,
                "survey_date": "",
                "rag_status": "",
                "life_cycle": ""
            }
        }
    ]
}
Create Appointment
POST /appointments

Request body

Object
property
Object
id
string
Example:
473a6975-0756-4f87-ae2f-3138b010ce3a
owner
Object
adminuser
Object
id
string
Example:
a3a6729d-6216-4e97-a8ae-8780a9ace686
organisation
Object
id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
appointment_date
integer
Example:
1718991
appointment_length
integer
Example:
81
notes
string
Example:
fake_data
appointment_status
string
Example:
COMPLETE
cancel_notes
string
Example:
fake_data
cancel_reason
string
Example:
CUSTOMER_CANCELLED
appointment_type
string
Example:
SURVEY
slot
string
Example:
AM
property_surveys
Array
Object
id
string
Example:
07721a7f-fc77-499a-b02c-fea708de54c6
survey
Object
id
string
Example:
a039cc7e-46c2-4344-9458-ab569bcae0b2
lead
Object
id
string
Examples
{
    "property": {
        "id": "473a6975-0756-4f87-ae2f-3138b010ce3a"
    },
    "owner": {
        "adminuser": {
            "id": "a3a6729d-6216-4e97-a8ae-8780a9ace686"
        },
        "organisation": {
            "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a"
        }
    },
    "appointment_date": 1718991,
    "appointment_length": 81,
    "notes": "fake_data",
    "appointment_status": "COMPLETE",
    "cancel_notes": "fake_data",
    "cancel_reason": "CUSTOMER_CANCELLED",
    "appointment_type": "SURVEY",
    "slot": "AM",
    "property_surveys": [
        {
            "id": "07721a7f-fc77-499a-b02c-fea708de54c6",
            "survey": {
                "id": "a039cc7e-46c2-4344-9458-ab569bcae0b2"
            }
        }
    ],
    "lead": {
        "id": ""
    }
}
Appointment Surveys
GET /appointments/id/surveys

Request body

Array of Property Survey
Appointment Survey
PUT /appointment/id/surveys

Request body

Array
Object
id
string
status
string
Enumeration:
SUCCESS
FAIL
Examples
[
    {
        "id": "",
        "status": "FAIL"
    }
]
Update Appointment
PUT /appointments/id

Request body

Object
appointment_status
string
Example:
COMPLETE
outcome_notes
string
Example:
string
is_modified
string
child
Object
id
string
Examples
{
    "appointment_status": "COMPLETE",
    "outcome_notes": "string",
    "is_modified": "",
    "child": {
        "id": ""
    }
}
Appointments for property
GET /properties/{id}/appointments

Removed Survey Version Removed Created BY, Modified Byy Added Service

Path variables

id
string required

Responses

200 OK
Body
Object
id
string
Example:
fc480636-c3c0-4201-b62b-fe29c0dd2f38
adminuser
Object
id
string
name
string
organisation
Object
id
string
Example:
7d8419ed-fa75-4222-ba68-547367192f30
name
string
Example:
Effective Access
service
Object
id
string
name
string
appointment_date
integer
Example:
1648216800
appointment_length
integer
Example:
180
appointment_status
string
Example:
PENDING
notes
string
cancel_notes
unknown nullable
cancel_reason
unknown nullable
appointment_type
string
Example:
INSTALL
outcome_notes
unknown nullable
appointment_surveys
Array
Object
id
string
Example:
3c2c2ba0-9e5e-49a8-98b9-a51a64915a5c
property_projects
Array
Object
id
string
Example:
1b1ffda8-22c7-4c31-9515-e73f71b33e09
project
Object
id
string
Example:
fd5476e5-8e61-11ec-93a7-42010a9a0003
name
string
Example:
Able To Pay
description
string
Example:
Able to pay Solar customers
start_date
integer
Example:
1648118546
completion_date
unknown nullable
lifecycle
string
Example:
ACTIVE
survey
Object
id
string
Example:
4958332b-4134-11ec-a745-42010a9a0002
name
string
Example:
Solar PV
description
string
Example:
Solar Energy Survey
measure_type
unknown nullable
small_icon
string
Example:
SOLAR
requires_install
boolean
Example:
true
survey_date
unknown nullable
rag_status
unknown nullable
lifecycle
string
Example:
NEEDS_APPOINTMENT
Admin Users List of Appointments ( for Tablet )
GET /adminusers/{id}/appointments

Path variables

id
string required

Request parameters

start_date
number optional
end_date
number optional
appointment_type
string optional
Enumeration:
SURVEY
INSTALL

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
511aa9d8-7c07-4fd7-893b-8196630e2e7a
owner
Object
adminuser
Object
id
string
Example:
1c56972c-8a90-459a-a612-9ab87c04ee7c
name
string
Example:
Ryan Haider
organisation
Object
id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string
Example:
Premier Connections
appointment_date
integer
Example:
1646643600
appointment_length
integer
Example:
60
appointment_status
string
Example:
PENDING
notes
string
Example:
CL booked in 24/02/2022 please call 30 mins before arrival. Charlie Rumbold
appointment_type
string
Example:
SURVEY
outcome_notes
unknown nullable
slot
unknown nullable
property
Object
id
string
Example:
5ba916f0-b395-4168-ab9e-944257cc8926
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREMIER-000253
production
unknown nullable
allocated_id
unknown nullable
life_cycle
string
Example:
LEAD
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
62 Beam Avenue, Dagenham, Essex, RM10 9BJ
town_or_city
string
Example:
Dagenham
district
string
Example:
Barking And Dagenham
postcode
string
Example:
RM10 9BJ
county
string
Example:
Essex
locality
string
sub_building_name
string
thoroughfare
string
Example:
Beam Avenue
sub_building_number
unknown nullable
building_number
string
Example:
62
details
Object
age_band
string
Example:
AGE_1900
bedrooms
integer
Example:
3
orientation
string
Example:
LEFT
extensions
integer
sub_type
string
Example:
END_TERRACE
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
2
conservatories
boolean
flat_position
unknown nullable
external_walls
unknown nullable
primary_heating
string
Example:
GAS_BOILER
secondary_heating
string
Example:
NONE
is_maingas
boolean
Example:
true
tenure
unknown nullable
parkhome_size
unknown nullable
floor_number
unknown nullable
elevations
Object
left
unknown nullable
right
unknown nullable
front
unknown nullable
rear
unknown nullable
location
Object
latitude
number
Example:
51.531387
longitude
number
Example:
0.158275
contacts
Array
Object
id
string
Example:
688e0ccd-207a-4de1-ba94-85184f2cfafe
title
string
Example:
Mr
forename
string
Example:
Kehindi
surname
string
Example:
Odumosu
email
string
Example:
na
mobile
string
Example:
07306019205
home_phone
unknown nullable
date_of_birth
unknown nullable
is_primary
boolean
Example:
true
is_signatory
unknown nullable
benefit_recipient
unknown nullable
preferred_contact
string
Example:
MOBILE
assesment_type
unknown nullable
tenure
unknown nullable
contact_type
string
Example:
OWNER
lead
Object
id
string
Example:
9a73e524-dde5-45f8-9217-c19b01d4f221
resources
Array
Object
id
string
Example:
8fb3a3ee-ad3f-440d-8d6f-a5829fb44938
changed_date
integer
Example:
1645710013
resource_type
string
Example:
SURVEYOR
owner
unknown nullable
survey
Object
id
string
Example:
03093ab8-4080-11ec-837d-42010a9a0002
name
string
Example:
Solar PV
life_cycle
string
Example:
ASSIGNED
property_survey
unknown nullable
appointments
Array of unknown
property_surveys
Array
Object
id
string
Example:
0a26edea-dda1-410e-9aae-16d45494d8c6
property_projects
Array
Object
id
string
Example:
db3865c5-b1ce-4b5f-9da9-0c3c7128a817
project
Object
id
string
Example:
c81d462c-6e5d-11ec-b2c1-42010a9a0003
name
string
Example:
LAD E.ON
description
unknown nullable
start_date
integer
Example:
1645709415
completion_date
unknown nullable
lifecycle
string
Example:
ACTIVE
survey
Object
id
string
Example:
03093ab8-4080-11ec-837d-42010a9a0002
name
string
Example:
Solar PV
description
string
Example:
Solar Energy Survey
measure_type
unknown nullable
requires_install
boolean
Example:
true
config_group
string
Example:
MEASURE
small_icon
string
Example:
SOLAR
whole_home
boolean
version
unknown nullable
progress
integer
survey_date
unknown nullable
rag_status
unknown nullable
lifecycle
string
Example:
NEEDS_APPOINTMENT
status
unknown nullable
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
150
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
2
last
boolean
total_elements
integer
Example:
193
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
150
first
boolean
Example:
true
size
integer
Example:
150
empty
boolean
Examples
{
    "content": [
        {
            "id": "511aa9d8-7c07-4fd7-893b-8196630e2e7a",
            "owner": {
                "adminuser": {
                    "id": "1c56972c-8a90-459a-a612-9ab87c04ee7c",
                    "name": "Ryan Haider"
                },
                "organisation": {
                    "id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                    "name": "Premier Connections"
                }
            },
            "appointment_date": 1646643600,
            "appointment_length": 60,
            "appointment_status": "PENDING",
            "notes": "CL booked in 24/02/2022 please call 30 mins before arrival. Charlie Rumbold ",
            "appointment_type": "SURVEY",
            "outcome_notes": null,
            "slot": null,
            "property": {
                "id": "5ba916f0-b395-4168-ab9e-944257cc8926",
                "tenant_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "organisation_id": "e597dcbc-db49-44ce-b4f6-d20c14e0e46a",
                "code": "PREMIER-000253",
                "production": null,
                "allocated_id": null,
                "life_cycle": "LEAD",
                "address": {
                    "building_name": "",
                    "country": "England",
                    "formatted_address": "62 Beam Avenue, Dagenham, Essex, RM10 9BJ",
                    "town_or_city": "Dagenham",
                    "district": "Barking And Dagenham",
                    "postcode": "RM10 9BJ",
                    "county": "Essex",
                    "locality": "",
                    "sub_building_name": "",
                    "thoroughfare": "Beam Avenue",
                    "sub_building_number": null,
                    "building_number": "62"
                },
                "details": {
                    "age_band": "AGE_1900",
                    "bedrooms": 3,
                    "orientation": "LEFT",
                    "extensions": 1,
                    "sub_type": "END_TERRACE",
                    "property_type": "HOUSE",
                    "construction": "CONVENTIONAL_CAVITY",
                    "storeys": 2,
                    "conservatories": true,
                    "flat_position": null,
                    "external_walls": null,
                    "primary_heating": "GAS_BOILER",
                    "secondary_heating": "NONE",
                    "is_maingas": true,
                    "tenure": null,
                    "parkhome_size": null,
                    "floor_number": null,
                    "elevations": {
                        "left": null,
                        "right": null,
                        "front": null,
                        "rear": null
                    }
                },
                "location": {
                    "latitude": 51.531387,
                    "longitude": 0.158275
                },
                "contacts": [
                    {
                        "id": "688e0ccd-207a-4de1-ba94-85184f2cfafe",
                        "title": "Mr",
                        "forename": "Kehindi",
                        "surname": "Odumosu",
                        "email": "na",
                        "mobile": "07306019205",
                        "home_phone": null,
                        "date_of_birth": null,
                        "is_primary": true,
                        "is_signatory": null,
                        "benefit_recipient": null,
                        "preferred_contact": "MOBILE",
                        "assesment_type": null,
                        "tenure": null,
                        "contact_type": "OWNER"
                    }
                ]
            },
            "lead": {
                "id": "9a73e524-dde5-45f8-9217-c19b01d4f221"
            },
            "resources": [
                {
                    "id": "8fb3a3ee-ad3f-440d-8d6f-a5829fb44938",
                    "changed_date": 1645710013,
                    "resource_type": "SURVEYOR",
                    "owner": null,
                    "survey": {
                        "id": "03093ab8-4080-11ec-837d-42010a9a0002",
                        "name": "Solar PV"
                    },
                    "life_cycle": "ASSIGNED",
                    "property_survey": null,
                    "appointments": [
                        null
                    ]
                }
            ],
            "property_surveys": [
                {
                    "id": "0a26edea-dda1-410e-9aae-16d45494d8c6",
                    "property_projects": [
                        {
                            "id": "db3865c5-b1ce-4b5f-9da9-0c3c7128a817",
                            "project": {
                                "id": "c81d462c-6e5d-11ec-b2c1-42010a9a0003",
                                "name": "LAD E.ON",
                                "description": null
                            },
                            "start_date": 1645709415,
                            "completion_date": null,
                            "lifecycle": "ACTIVE"
                        }
                    ],
                    "survey": {
                        "id": "03093ab8-4080-11ec-837d-42010a9a0002",
                        "name": "Solar PV",
                        "description": "Solar Energy Survey",
                        "measure_type": null,
                        "requires_install": true,
                        "config_group": "MEASURE",
                        "small_icon": "SOLAR",
                        "whole_home": true,
                        "version": null
                    },
                    "progress": 1,
                    "survey_date": null,
                    "rag_status": null,
                    "lifecycle": "NEEDS_APPOINTMENT",
                    "status": null
                }
            ]
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 150,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_pages": 2,
    "last": true,
    "total_elements": 193,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number": 1,
    "number_of_elements": 150,
    "first": true,
    "size": 150,
    "empty": true
}
Example 1
GET /appointments HTTP/1.1 

Content-Type: application/json

{
    "content": [
        {
            "appointment_date": "2022-01-17T14:00:40.817Z",
            "appointment_length": 1,
            "appointment_status": "COMPLETE",
            "appointment_type": "SURVEY",
            "cancel_notes": "string",
            "cancel_reason": "CUSTOMER_CANCELLED",
            "id": "string",
            "notes": "string",
            "owner": {
                "adminuser": {
                    "id": "string",
                    "name": "string"
                },
                "organisation": {
                    "id": "string",
                    "name": "string"
                }
            },
            "property": {
                "address": {
                    "building_name": "string",
                    "building_number": "string",
                    "country": "string",
                    "county": "string",
                    "district": "string",
                    "formatted_address": "string",
                    "locality": "string",
                    "postcode": "string",
                    "sub_building_name": "string",
                    "sub_building_number": "string",
                    "thoroughfare": "string",
                    "town_or_city": "string"
                },
                "allocated_id": "string",
                "code": "string",
                "contacts": [
                    {
                        "assesment_type": "DWP_CHECK",
                        "benefit_recipient": true,
                        "contact_type": "THIRD_PARTY",
                        "date_of_birth": {
                            "additionalProp1": 1,
                            "additionalProp2": 1,
                            "additionalProp3": 1
                        },
                        "email": "string",
                        "forename": "string",
                        "home_phone": "string",
                        "id": "string",
                        "is_primary": true,
                        "is_signatory": true,
                        "mobile": "string",
                        "preferred_contact": "EMAIL",
                        "surname": "string",
                        "tenure": "OWNER",
                        "title": "string"
                    }
                ],
                "details": {
                    "age_band": "AGE_BEFORE1900",
                    "bedrooms": 1,
                    "conservatories": true,
                    "construction": "CONVENTIONAL_CAVITY",
                    "elevations": {
                        "front": true,
                        "left": true,
                        "rear": true,
                        "right": true
                    },
                    "extensions": 1,
                    "external_walls": 1,
                    "flat_position": "TOP",
                    "floor_number": 1,
                    "is_maingas": true,
                    "orientation": "LEFT",
                    "parkhome_size": "SINGLE",
                    "primary_heating": "GAS_BOILER",
                    "property_type": "HOUSE",
                    "secondary_heating": "GAS_BOILER",
                    "storeys": 1,
                    "sub_type": "DETACHED",
                    "tenure": "PRIVATE_OWNER"
                },
                "id": "string",
                "life_cycle": "LEAD",
                "location": {
                    "latitude": 1,
                    "longitude": 1
                },
                "organisation_id": "string",
                "production": true,
                "tenant_id": "string"
            },
            "resources": [
                {
                    "appointments": [
                        {
                            "adminuser": {
                                "id": "string",
                                "name": "string"
                            },
                            "appointment_date": "2022-01-17T14:00:40.817Z",
                            "appointment_length": 1,
                            "appointment_status": "COMPLETE",
                            "appointment_type": "SURVEY",
                            "created_on": "2022-01-17T14:00:40.817Z",
                            "id": "string",
                            "notes": "string",
                            "organisation": {
                                "id": "string",
                                "name": "string"
                            },
                            "slot": "AM"
                        }
                    ],
                    "changed_date": "2022-01-17T14:00:40.817Z",
                    "id": "string",
                    "life_cycle": "ASSIGNED",
                    "owner": {
                        "adminuser": {
                            "id": "string",
                            "name": "string"
                        },
                        "organisation": {
                            "id": "string",
                            "name": "string"
                        }
                    },
                    "property_survey": {
                        "id": "string",
                        "life_cycle": "SURVEY_CANCELLED",
                        "progress": 1,
                        "property_project": {
                            "completion_date": "2022-01-17T14:00:40.818Z",
                            "id": "string",
                            "lifecycle": "ACTIVE",
                            "project": {
                                "description": "string",
                                "id": "string",
                                "name": "string"
                            },
                            "start_date": "2022-01-17T14:00:40.818Z"
                        },
                        "rag_status": "RED",
                        "survey": {
                            "config_group": "PROPERTY",
                            "description": "string",
                            "id": "string",
                            "measure_type": "CAVITY",
                            "name": "string",
                            "requires_install": true,
                            "small_icon": "string",
                            "version": {
                                "id": "string",
                                "name": "string"
                            }
                        },
                        "survey_date": "2022-01-17T14:00:40.818Z"
                    },
                    "resource_type": "SALES",
                    "survey": {
                        "id": "string",
                        "name": "string"
                    }
                }
            ],
            "slot": "AM",
            "surveys": [
                {
                    "id": "string",
                    "life_cycle": "SURVEY_CANCELLED",
                    "progress": 1,
                    "property_project": {
                        "completion_date": "2022-01-17T14:00:40.818Z",
                        "id": "string",
                        "lifecycle": "ACTIVE",
                        "project": {
                            "description": "string",
                            "id": "string",
                            "name": "string"
                        },
                        "start_date": "2022-01-17T14:00:40.818Z"
                    },
                    "rag_status": "RED",
                    "survey": {
                        "config_group": "PROPERTY",
                        "description": "string",
                        "id": "string",
                        "measure_type": "CAVITY",
                        "name": "string",
                        "requires_install": true,
                        "small_icon": "string",
                        "version": {
                            "id": "string",
                            "name": "string"
                        }
                    },
                    "survey_date": "2022-01-17T14:00:40.818Z"
                }
            ]
        }
    ],
    "empty": true,
    "first": true,
    "last": true,
    "number": 1,
    "number_of_elements": 1,
    "pageable": {
        "offset": 1,
        "page_number": 1,
        "page_size": 1,
        "paged": true,
        "sort": {
            "empty": true,
            "sorted": true,
            "unsorted": true
        },
        "unpaged": true
    },
    "size": 1,
    "sort": {
        "empty": true,
        "sorted": true,
        "unsorted": true
    },
    "total_elements": 1,
    "total_pages": 1
}
Rules
GET /evidence_categories
GET /evidence_rules
Get Evidence Categories
GET /evidence_categories

Request parameters

category_type
string optional

Responses

200 OK
Body
Object
id
string
Example:
9d855dc0-a1dd-11eb-b8ba-42010a9a004e
name
string
Example:
Property Details
category_type
string
Example:
PROPERTY
priority
integer
evidence_rules
Array
Object
id
string
Example:
e77b0d89-6868-4bc1-b1dd-e9200cb4892f
name
string
Example:
Additional image
is_required
boolean
priority
unknown nullable
shortcode
string
Example:
ADDITIONAL_IMAGE
count
integer
Example:
10
applies
Array
Object
property_type
string
sub_type
string
orientation
string
evidence_type
string

type of evidence

Enumeration:
PHOTO
FORM
DATA_GROUP
FLOORPLAN
survey
Object
id
string
name
string
Example 1
GET /evidence_categories HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "9d855dc0-a1dd-11eb-b8ba-42010a9a004e",
    "name": "Property Details",
    "category_type": "PROPERTY",
    "priority": 1,
    "evidence_rules": [
        {
            "id": "e77b0d89-6868-4bc1-b1dd-e9200cb4892f",
            "name": "Additional image",
            "is_required": true,
            "priority": null,
            "shortcode": "ADDITIONAL_IMAGE",
            "count": 10,
            "applies": [
                {
                    "property_type": "",
                    "sub_type": "",
                    "orientation": ""
                }
            ],
            "evidence_type": "PHOTO"
        }
    ],
    "survey": {
        "id": "",
        "name": ""
    }
}
Get Evidence Rules
GET /evidence_rules

Responses

200 OK
Body
Array
Object
id
string
Example:
e77b0d89-6868-4bc1-b1dd-e9200cb4892f
name
string
Example:
Additional image
is_required
boolean
Example:
true
priority
unknown nullable
shortcode
string
Example:
ADDITIONAL_IMAGE
count
integer
Example:
10
applies
Array
Object
property_type
string
sub_type
string
orientation
string
Evidence
GET /properties/{id}/evidence
POST /properties/{id}/evidence
GET /evidence/{id}/files
Evidence
GET /properties/{id}/evidence

List of files uploaded as evidence

Path variables

id
string required

Request parameters

property_project_id
string optional
component_id
string optional
evidence_type
string optional

Responses

200 OK
Body
Array
Object
id
string
Example:
5a3b62ee-feb3-11eb-bcdb-42010a9a001a
component
Object
id
string
Example:
7dfa7e25-3ba8-4b5a-b57a-52ca9580136b
name
string
Example:
Window 1
component_type
string
Example:
WINDOW
media
Object
id
string
Example:
c8e8e4d3-5e32-4b3b-acbe-21ff28bad720
type
string
Example:
PHOTO
width
integer
Example:
139
height
integer
Example:
91
format
string
Example:
jpg
urls
Array
Object
width
integer
Example:
50
height
integer
Example:
32
url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/ezeco/c47c8dc0-054d-4c89-8e6c-bcbd90c158f3/jnehefdc7lwzvmiywgup.jpg
url
string
evidence_rule
Object
id
string
Example:
5bc19f33-4416-4abd-ba33-3c5b912ab939
name
string
Example:
Window
shortcode
string
Example:
WINDOW
is_required
boolean
Example:
true
category
Object
id
string
name
string
category_type
string
survey
Object
id
string
name
string
lexicon
string
lifecycle
string
install_phase
string
uploaded_date
integer
adminuser
Object
id
string
name
string
Examples
[
    {
        "id": "5a3b62ee-feb3-11eb-bcdb-42010a9a001a",
        "component": {
            "id": "7dfa7e25-3ba8-4b5a-b57a-52ca9580136b",
            "name": "Window 1",
            "component_type": "WINDOW"
        },
        "media": {
            "id": "c8e8e4d3-5e32-4b3b-acbe-21ff28bad720",
            "type": "PHOTO",
            "width": 139,
            "height": 91,
            "format": "jpg",
            "urls": [
                {
                    "width": 50,
                    "height": 32,
                    "url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/ezeco/c47c8dc0-054d-4c89-8e6c-bcbd90c158f3/jnehefdc7lwzvmiywgup.jpg"
                }
            ],
            "url": ""
        },
        "evidence_rule": {
            "id": "5bc19f33-4416-4abd-ba33-3c5b912ab939",
            "name": "Window ",
            "shortcode": "WINDOW",
            "is_required": true,
            "category": {
                "id": "",
                "name": "",
                "category_type": "",
                "survey": {
                    "id": "",
                    "name": ""
                },
                "lexicon": ""
            },
            "lifecycle": "",
            "install_phase": ""
        },
        "uploaded_date": 1,
        "adminuser": {
            "id": "",
            "name": ""
        }
    }
]
Create Evidence
POST /properties/{id}/evidence

Path variables

id
string required

Request body

Array
Object
evidence_rule
Object
id
string
uploaded_by
Object
adminuser
Object
id
string
organisation
Object
id
string
uploaded_date
integer
Example:
1
media
Object
id
string
lifecycle
string
install_phase
string
Example:
POST
property_project
Object
id
string
Examples
[
    {
        "evidence_rule": {
            "id": ""
        },
        "uploaded_by": {
            "adminuser": {
                "id": ""
            },
            "organisation": {
                "id": ""
            }
        },
        "uploaded_date": 1,
        "media": {
            "id": ""
        },
        "lifecycle": "",
        "install_phase": "POST",
        "property_project": {
            "id": ""
        }
    }
]
Get file for evidence
GET /evidence/{id}/files

Path variables

id
string required

Responses

200 OK
Body
Object
url
string

URL of file of external

encoded_base64
string

File contents encoded

Notification
GET /notifications
GET /notifications
Create Notification
GET /notifications

Create a notification that can target a property and a user.

Request body

Object
notification_type
string
notification_info
string
notification_date
string
property
Object
id
string
owner
Object
adminuser
Object
id
string
organisation
Object
id
string
Notifications
GET /notifications

Request parameters

adminuser_id
string optional

Use from Token

organisation_id
string optional

Use from Token

Responses

200 OK
Body
Object
content
Array
Object
id
string
notification_type
string
notification_info
string
notification_date
string
property
Object
id
string
formatted_address
string
postcode
string
owner
Example 1
GET /notifications HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "notification_type": "",
            "notification_info": "",
            "notification_date": "",
            "property": {
                "id": "",
                "formatted_address": "",
                "postcode": ""
            },
            "owner": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        }
    ]
}
Notes
GET /properties/{id}/notes
List of Notes
GET /properties/{id}/notes

Path variables

id
string required

Responses

200 OK
Body
Object
content
Array
Object
id
string
note_date
string
note
string
owner
Example 1
GET /properties/{id}/notes HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "",
            "note_date": "",
            "note": "",
            "owner": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        }
    ]
}
DWP Checks

Perform DWP Checks

POST /properties/{id}/datamatches
GET /datamatches
Add property contacts to a data match
POST /properties/{id}/datamatches

The datamatch service will check if their is a number of contacts for the property incluyding a landlard and create the entry into a DWP batch API.

Path variables

id
string required

Request body

Object
landreg_check
boolean

Add A land Registry Check true or False.

Data Match Batches
GET /datamatches

Data mat

Request parameters

start_date
string optional
surname
string optional

Responses

200 OK
Body
Object
content
Array
Object
id
string
batch_id
string

ID of batch from DWP

submission-date
integer
processed_date
string
property
Object
id
string
address
string
contact
Object
id
string
name
string
landlord
Object
id
string
name
string
dwp_status
string
dwp_urn
string
Property Surveys
GET /properties/id/surveys
POST /properties/id/surveys
PUT /properties/id/surveys
Property Surveys
GET /properties/id/surveys

Request parameters

property_project_id
string optional

Request body

Array
Object
id
string
progress
integer
Example:
1
survey_date
integer
Example:
1
rag_status
string
Example:
RED
life_cycle
string
Example:
SURVEY_UPLOADED
survey
Object
id
string
name
string
description
string
config_group
string
Example:
MEASURE
measure_type
string
Example:
CAVITY
small_icon
string
large_icon
string
requires_install
boolean
Example:
true
version
Object
id
string
name
string
description
string
published_date
string
expired_date
string
Examples
[
    {
        "id": "",
        "progress": 1,
        "survey_date": 1,
        "rag_status": "RED",
        "life_cycle": "SURVEY_UPLOADED",
        "survey": {
            "id": "",
            "name": "",
            "description": "",
            "config_group": "MEASURE",
            "measure_type": "CAVITY",
            "small_icon": "",
            "large_icon": "",
            "requires_install": true,
            "version": {
                "id": "",
                "name": "",
                "description": "",
                "published_date": "",
                "expired_date": ""
            }
        }
    }
]
Add property surveys
POST /properties/id/surveys

Request body

Object
life_cycle
string
Example:
SURVEY_CANCELLED
progress
integer
property_projects
Array
Object
id
string
Example:
string
rag_status
string
Example:
RED
survey
Object
id
string
Example:
string
survey_date
string
Example:
2022-02-03T11:15:47.182Z
survey_version
Object
id
string
Example:
string
appointment
Object
id
string
lead
Object
id
string
Examples
{
    "life_cycle": "SURVEY_CANCELLED",
    "progress": 1,
    "property_projects": [
        {
            "id": "string"
        }
    ],
    "rag_status": "RED",
    "survey": {
        "id": "string"
    },
    "survey_date": "2022-02-03T11:15:47.182Z",
    "survey_version": {
        "id": "string"
    },
    "appointment": {
        "id": ""
    },
    "lead": {
        "id": ""
    }
}
Update Property Survey
PUT /properties/id/surveys

Request body

Array
Object
id
string
life_cycle
string
Example:
SURVEY_CANCELLED
progress
integer
Example:
1
rag_status
string
Enumeration:
GREEN
AMBER
RED
Examples
[
    {
        "id": "",
        "life_cycle": "SURVEY_CANCELLED",
        "progress": 1,
        "rag_status": "AMBER"
    }
]
Resources
POST /properties/{id}/resources
GET /properties/id/resources
GET /properties/id/resources
Create Property Resource
POST /properties/{id}/resources

Path variables

id
string required

Property ID

Request body

Array
Object
changed_date
string
property_project
Object
id
string
property_survey
Object
id
string
owner
Object
organisation
Object
id
string
adminuser
Object
id
string
resource_type
string
life_cycle
string
List Of Resources
GET /properties/id/resources

Request parameters

property_project_id
string optional

Request body

Array
Object
id
string
changed_date
string
life_cycle
string
resource_type
string
property_survey
owner
Object
organisation
Object
id
string
name
string
adminuser
Object
id
string
name
string
Examples
[
    {
        "id": "",
        "changed_date": "",
        "life_cycle": "",
        "resource_type": "",
        "property_survey": {
            "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
            "property_project": {
                "id": "",
                "project": {
                    "id": "",
                    "name": "",
                    "description": ""
                },
                "start_date": 1,
                "completed_date": 1,
                "lifecycle": ""
            },
            "survey": {
                "id": "survey_guid",
                "name": "Cavity Survey",
                "description": "Cavity Deem Score Survey",
                "measure_type": "CAVITY",
                "requires_install": true,
                "small_icon": "",
                "version": {
                    "id": "",
                    "name": ""
                }
            },
            "progress": 1,
            "survey_date": "",
            "rag_status": "",
            "life_cycle": ""
        },
        "owner": {
            "organisation": {
                "id": "",
                "name": ""
            },
            "adminuser": {
                "id": "",
                "name": ""
            }
        }
    }
]
Sam's List Of Resources
GET /properties/id/resources

Request body

Array
Object
id
string
changed_date
string
life_cycle
string
resource_type
string
owner
Object
organisation
Object
id
string
name
string
adminuser
Object
id
string
name
string
property_project
Array
Object
id
string
project
Object
id
string
name
string
description
string
start_date
string
completion_date
string
life_cycle
string
progress
string
survey_date
string
rag_status
string
life_cycle
string
survey
Object
id
string
name
string
description
string
measure_type
string
requires_install
string
small_icon
string
version
Object
id
string
name
string
Examples
[
    {
        "id": "",
        "changed_date": "",
        "life_cycle": "",
        "resource_type": "",
        "owner": {
            "organisation": {
                "id": "",
                "name": ""
            },
            "adminuser": {
                "id": "",
                "name": ""
            },
            "property_project": [
                {
                    "id": "",
                    "project": {
                        "id": "",
                        "name": "",
                        "description": ""
                    },
                    "start_date": "",
                    "completion_date": "",
                    "life_cycle": ""
                }
            ],
            "progress": "",
            "survey_date": "",
            "rag_status": "",
            "life_cycle": "",
            "survey": {
                "id": "",
                "name": "",
                "description": "",
                "measure_type": "",
                "requires_install": "",
                "small_icon": "",
                "version": {
                    "id": "",
                    "name": ""
                }
            }
        }
    }
]
property
Object
id
string
Example:
473a6975-0756-4f87-ae2f-3138b010ce3a
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREMIER-000579
production
unknown nullable
allocated_id
unknown nullable
created_on
integer
Example:
1641820585
created_by
string
Example:
8f5ffe3b-a3cf-44e1-a8f1-d41a2fcb9311
modified_on
unknown nullable
modified_by
unknown nullable
life_cycle
string
Example:
LEAD
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
Driftwood, Seafield Road, Seaview, Isle of Wight, PO34 5HD
town_or_city
string
Example:
Seaview
district
string
Example:
Isle Of Wight
postcode
string
Example:
PO34 5HD
county
string
Example:
Isle of Wight
locality
string
sub_building_name
string
Example:
Driftwood
thoroughfare
string
Example:
Seafield Road
sub_building_number
unknown nullable
building_number
string
details
Object
age_band
unknown nullable
bedrooms
unknown nullable
orientation
unknown nullable
extensions
unknown nullable
sub_type
unknown nullable
property_type
string
Example:
FLAT
construction
unknown nullable
storeys
unknown nullable
conservatories
unknown nullable
flat_position
unknown nullable
external_walls
integer
Example:
3
primary_heating
unknown nullable
secondary_heating
unknown nullable
is_maingas
unknown nullable
tenure
unknown nullable
parkhome_size
unknown nullable
floor_number
unknown nullable
elevations
Object
left
unknown nullable
right
unknown nullable
front
unknown nullable
rear
unknown nullable
location
Object
latitude
number
Example:
50.720574
longitude
number
Example:
-1.111745
local_authority
Object
id
string
Example:
72fbb8b0-04ff-11ec-bcdb-42010a9a001a
code
string
Example:
E06000046
name
string
Example:
Isle of Wight
contacts
Array
Object
id
string
Example:
20927710-4d31-43f9-bc96-85137479aa8e
title
string
Example:
Mr
forename
string
Example:
Sam
surname
string
Example:
Steward
email
unknown nullable
mobile
string
Example:
07877655701
home_phone
unknown nullable
date_of_birth
unknown nullable
is_primary
boolean
Example:
true
is_signatory
unknown nullable
benefit_recipient
unknown nullable
preferred_contact
string
Example:
MOBILE
assesment_type
string
Example:
DWP_CHECK
tenure
unknown nullable
contact_type
string
Example:
OWNER
epc
Array
Object
id
string
Example:
f92bc8a6-f010-4453-b744-cc2ada79d049
building_ref_no
string
Example:
8808734078
lodgement_date
integer
Example:
1358467200
current_rating
string
Example:
B
potential_rating
string
Example:
B
current_energy_efficiency
integer
Example:
87
potential_energy_efficiency
integer
Example:
87
Surveys
GET /surveys
List survey
GET /surveys

Request body

Object
id
string
Example:
string
name
string
Example:
string
description
string
Example:
string
config_group
string
Example:
PROPERTY
large_icon
string
Example:
string
measure_type
string
Example:
CAVITY
requires_install
boolean
Example:
true
small_icon
string
Example:
string
versions
Array
Object
description
string
Example:
string
expired_date
string
Example:
2022-01-13T08:49:59.992Z
id
string
Example:
string
name
string
Example:
string
published_date
string
Example:
2022-01-13T08:49:59.992Z
Examples
{
    "id": "string",
    "name": "string",
    "description": "string",
    "config_group": "PROPERTY",
    "large_icon": "string",
    "measure_type": "CAVITY",
    "requires_install": true,
    "small_icon": "string",
    "versions": [
        {
            "description": "string",
            "expired_date": "2022-01-13T08:49:59.992Z",
            "id": "string",
            "name": "string",
            "published_date": "2022-01-13T08:49:59.992Z"
        }
    ]
}
Leads
POST /leads
GET /leads
GET /leads
GET /leads/id
Create New Lead
POST /leads

Request body

Object
address
Object
building_name
string
Example:
string
building_number
string
Example:
string
country
string
Example:
string
county
string
Example:
string
district
string
Example:
string
formatted_address
string
Example:
string
locality
string
Example:
string
postcode
string
Example:
string
sub_building_name
string
Example:
string
sub_building_number
string
Example:
string
thoroughfare
string
Example:
string
town_or_city
string
Example:
string
code
string
Example:
string
details
Object
age_band
string
Example:
AGE_BEFORE1900
bedrooms
integer
conservatories
boolean
Example:
true
construction
string
Example:
CONVENTIONAL_CAVITY
elevations
Object
front
boolean
Example:
true
left
boolean
Example:
true
rear
boolean
Example:
true
right
boolean
Example:
true
extensions
integer
external_walls
integer
flat_position
string
Example:
TOP
floor_number
integer
is_maingas
boolean
Example:
true
orientation
string
Example:
LEFT
parkhome_size
string
Example:
SINGLE
primary_heating
string
Example:
GAS_BOILER
property_type
string
Example:
HOUSE
secondary_heating
string
Example:
GAS_BOILER
storeys
integer
sub_type
string
Example:
DETACHED
tenure
string
Example:
PRIVATE_OWNER
energy
Object
mains_gas
boolean
Example:
true
primary_heating
string
Example:
GAS_BOILER
secondary_heating
string
Example:
GAS_BOILER
suppliers
Object
energy_type
string
Example:
string
meter_code
string
Example:
string
supplier
string
Example:
string
id
string
Example:
string
life_cycle
string
Example:
LEAD
location
Object
latitude
integer
longitude
integer
organisation_id
string
Example:
string
lead
Array
Object
owner
Object
adminuser
Object
id
string
Example:
string
organisation
Object
id
string
Example:
string
Examples
{
    "address": {
        "building_name": "string",
        "building_number": "string",
        "country": "string",
        "county": "string",
        "district": "string",
        "formatted_address": "string",
        "locality": "string",
        "postcode": "string",
        "sub_building_name": "string",
        "sub_building_number": "string",
        "thoroughfare": "string",
        "town_or_city": "string"
    },
    "code": "string",
    "details": {
        "age_band": "AGE_BEFORE1900",
        "bedrooms": 1,
        "conservatories": true,
        "construction": "CONVENTIONAL_CAVITY",
        "elevations": {
            "front": true,
            "left": true,
            "rear": true,
            "right": true
        },
        "extensions": 1,
        "external_walls": 1,
        "flat_position": "TOP",
        "floor_number": 1,
        "is_maingas": true,
        "orientation": "LEFT",
        "parkhome_size": "SINGLE",
        "primary_heating": "GAS_BOILER",
        "property_type": "HOUSE",
        "secondary_heating": "GAS_BOILER",
        "storeys": 1,
        "sub_type": "DETACHED",
        "tenure": "PRIVATE_OWNER"
    },
    "energy": {
        "mains_gas": true,
        "primary_heating": "GAS_BOILER",
        "secondary_heating": "GAS_BOILER",
        "suppliers": {
            "energy_type": "string",
            "meter_code": "string",
            "supplier": "string"
        }
    },
    "id": "string",
    "life_cycle": "LEAD",
    "location": {
        "latitude": 1,
        "longitude": 1
    },
    "organisation_id": "string",
    "lead": [
        {
            "owner": {
                "adminuser": {
                    "id": "string"
                },
                "organisation": {
                    "id": "string"
                }
            }
        }
    ]
}
List of Leads
GET /leads

Request body

Object
content
Array
Object
id
string
Example:
string
address
Object
building_name
string
Example:
string
building_number
string
Example:
string
country
string
Example:
string
county
string
Example:
string
district
string
Example:
string
formatted_address
string
Example:
string
locality
string
Example:
string
postcode
string
Example:
string
sub_building_name
string
Example:
string
sub_building_number
string
Example:
string
thoroughfare
string
Example:
string
town_or_city
string
Example:
string
allocated_id
string
Example:
string
appointments
Array
Object
adminuser
Object
id
string
Example:
string
name
string
Example:
string
appointment_date
string
Example:
2022-02-03T14:11:33.824Z
appointment_length
integer
appointment_status
string
Example:
COMPLETE
appointment_type
string
Example:
SURVEY
created_on
string
Example:
2022-02-03T14:11:33.824Z
id
string
Example:
string
notes
string
Example:
string
organisation
Object
id
string
Example:
string
name
string
Example:
string
slot
string
Example:
AM
code
string
Example:
string
created_by
string
Example:
string
created_on
string
Example:
2022-02-03T14:11:33.824Z
details
Object
age_band
string
Example:
AGE_BEFORE1900
bedrooms
integer
conservatories
boolean
Example:
true
construction
string
Example:
CONVENTIONAL_CAVITY
elevations
Object
front
boolean
Example:
true
left
boolean
Example:
true
rear
boolean
Example:
true
right
boolean
Example:
true
extensions
integer
external_walls
integer
flat_position
string
Example:
TOP
floor_number
integer
is_maingas
boolean
Example:
true
orientation
string
Example:
LEFT
parkhome_size
string
Example:
SINGLE
primary_heating
string
Example:
GAS_BOILER
property_type
string
Example:
HOUSE
secondary_heating
string
Example:
GAS_BOILER
storeys
integer
sub_type
string
Example:
DETACHED
tenure
string
Example:
PRIVATE_OWNER
epc
Array
Object
id
string
Example:
string
current_rating
string
Example:
string
current_energy_efficiency
integer
potential_rating
string
Example:
string
potential_energy_efficiency
integer
lodgement_date
string
Example:
2022-02-03T14:11:33.824Z
life_cycle
string
Example:
LEAD
modified_by
string
Example:
string
modified_on
string
Example:
2022-02-03T14:11:33.824Z
organisation_id
string
Example:
string
production
boolean
Example:
true
tenant_id
string
Example:
string
lead
Object
id
string
generated
number
Example:
12353232
lifecycle
string
owner
Object
adminuser
Object
id
string
organisation
Object
id
string
property_surveys
Array of Property Survey
empty
boolean
Example:
true
first
boolean
Example:
true
last
boolean
Example:
true
number
integer
number_of_elements
integer
pageable
Object
offset
integer
page_number
integer
page_size
integer
paged
boolean
Example:
true
sort
Object
empty
boolean
Example:
true
sorted
boolean
Example:
true
unsorted
boolean
Example:
true
unpaged
boolean
Example:
true
size
integer
sort
Object
empty
boolean
Example:
true
sorted
boolean
Example:
true
unsorted
boolean
Example:
true
total_elements
integer
total_pages
integer
Examples
{
    "content": [
        {
            "id": "string",
            "address": {
                "building_name": "string",
                "building_number": "string",
                "country": "string",
                "county": "string",
                "district": "string",
                "formatted_address": "string",
                "locality": "string",
                "postcode": "string",
                "sub_building_name": "string",
                "sub_building_number": "string",
                "thoroughfare": "string",
                "town_or_city": "string"
            },
            "allocated_id": "string",
            "appointments": [
                {
                    "adminuser": {
                        "id": "string",
                        "name": "string"
                    },
                    "appointment_date": "2022-02-03T14:11:33.824Z",
                    "appointment_length": 1,
                    "appointment_status": "COMPLETE",
                    "appointment_type": "SURVEY",
                    "created_on": "2022-02-03T14:11:33.824Z",
                    "id": "string",
                    "notes": "string",
                    "organisation": {
                        "id": "string",
                        "name": "string"
                    },
                    "slot": "AM"
                }
            ],
            "code": "string",
            "created_by": "string",
            "created_on": "2022-02-03T14:11:33.824Z",
            "details": {
                "age_band": "AGE_BEFORE1900",
                "bedrooms": 1,
                "conservatories": true,
                "construction": "CONVENTIONAL_CAVITY",
                "elevations": {
                    "front": true,
                    "left": true,
                    "rear": true,
                    "right": true
                },
                "extensions": 1,
                "external_walls": 1,
                "flat_position": "TOP",
                "floor_number": 1,
                "is_maingas": true,
                "orientation": "LEFT",
                "parkhome_size": "SINGLE",
                "primary_heating": "GAS_BOILER",
                "property_type": "HOUSE",
                "secondary_heating": "GAS_BOILER",
                "storeys": 1,
                "sub_type": "DETACHED",
                "tenure": "PRIVATE_OWNER"
            },
            "epc": [
                {
                    "id": "string",
                    "current_rating": "string",
                    "current_energy_efficiency": 1,
                    "potential_rating": "string",
                    "potential_energy_efficiency": 1,
                    "lodgement_date": "2022-02-03T14:11:33.824Z"
                }
            ],
            "life_cycle": "LEAD",
            "modified_by": "string",
            "modified_on": "2022-02-03T14:11:33.824Z",
            "organisation_id": "string",
            "production": true,
            "tenant_id": "string",
            "lead": {
                "id": "",
                "generated": 12353232,
                "lifecycle": "",
                "owner": {
                    "adminuser": {
                        "id": ""
                    },
                    "organisation": {
                        "id": ""
                    }
                }
            },
            "property_survey": [
                {
                    "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
                    "property_project": {
                        "id": "",
                        "project": {
                            "id": "",
                            "name": "",
                            "description": ""
                        },
                        "start_date": 1,
                        "completed_date": 1,
                        "lifecycle": ""
                    },
                    "survey": {
                        "id": "survey_guid",
                        "name": "Cavity Survey",
                        "description": "Cavity Deem Score Survey",
                        "measure_type": "CAVITY",
                        "requires_install": true,
                        "small_icon": "",
                        "version": {
                            "id": "",
                            "name": ""
                        }
                    },
                    "progress": 1,
                    "survey_date": "",
                    "rag_status": "",
                    "life_cycle": ""
                }
            ]
        }
    ],
    "empty": true,
    "first": true,
    "last": true,
    "number": 1,
    "number_of_elements": 1,
    "pageable": {
        "offset": 1,
        "page_number": 1,
        "page_size": 1,
        "paged": true,
        "sort": {
            "empty": true,
            "sorted": true,
            "unsorted": true
        },
        "unpaged": true
    },
    "size": 1,
    "sort": {
        "empty": true,
        "sorted": true,
        "unsorted": true
    },
    "total_elements": 1,
    "total_pages": 1
}
Leads List
GET /leads

Request body

Object
content
Array
Object
id
string
generated
string
owner
Object
adminuser
Object
id
string
name
string
organisation
Object
id
string
name
string
property
Object
id
string
address
Object
formatted_address
string
property_surveys
Array
Object
id
string
Example:
63938c56-9d06-4ea0-9c3b-d050259ede02
survey
Object
id
string
Example:
f4985412-61ff-47b9-85d8-d0da88b3c779
small_icon
string
Example:
VENTILATION
lifecycles
Array
Object
id
string
Example:
46973dce-e2dc-4fc8-a537-6442fa4e7c8b
lifecycle
string
Example:
SURVEY_BOOKED
lifecycle_date
integer
Example:
1645193070
epcs
Array
Object
id
string
Example:
543796d0-f977-457b-9419-e0d9127fe18b
lodgement_date
integer
Example:
1271289600
current_rating
string
Example:
C
potential_rating
string
Example:
C
current_energy_efficiency
integer
Example:
73
potential_energy_efficiency
integer
Example:
75
Examples
{
    "content": [
        {
            "id": "",
            "generated": "",
            "owner": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            },
            "property": {
                "id": "",
                "address": {
                    "formatted_address": ""
                }
            },
            "property_surveys": [
                {
                    "id": "63938c56-9d06-4ea0-9c3b-d050259ede02",
                    "survey": {
                        "id": "f4985412-61ff-47b9-85d8-d0da88b3c779",
                        "small_icon": "VENTILATION"
                    }
                }
            ],
            "lifecycles": [
                {
                    "id": "46973dce-e2dc-4fc8-a537-6442fa4e7c8b",
                    "lifecycle": "SURVEY_BOOKED",
                    "lifecycle_date": 1645193070
                }
            ],
            "epcs": [
                {
                    "id": "543796d0-f977-457b-9419-e0d9127fe18b",
                    "lodgement_date": 1271289600,
                    "current_rating": "C",
                    "potential_rating": "C",
                    "current_energy_efficiency": 73,
                    "potential_energy_efficiency": 75
                }
            ]
        }
    ]
}
Single Lead
GET /leads/id

Request body

Object
id
string
generated
string
owner
Object
adminuser
Object
id
string
name
string
organisation
Object
id
string
name
string
property
Object
id
string
address
Object
formatted_address
string
thorough_fare
string
building_name
string
sub_building_name
string
sub_building_number
string
building_number
string
locality
string
town_or_city
string
county
string
district
string
country
string
code
string
created_by
string
created_on
string
details
Object
age_band
string
Example:
AGE_BEFORE1900
bedrooms
integer
Example:
1
conservatories
boolean
Example:
true
construction
string
Example:
CONVENTIONAL_CAVITY
elevations
Object
front
boolean
Example:
true
left
boolean
Example:
true
rear
boolean
Example:
true
right
boolean
Example:
true
extensions
integer
Example:
1
external_walls
integer
Example:
1
flat_position
string
Example:
TOP
floor_number
integer
Example:
1
is_maingas
boolean
Example:
true
orientation
string
Example:
LEFT
parkhome_size
string
Example:
SINGLE
primary_heating
string
Example:
GAS_BOILER
property_type
string
Example:
HOUSE
secondary_heating
string
Example:
GAS_BOILER
storeys
integer
Example:
1
sub_type
string
Example:
DETACHED
tenure
string
Example:
PRIVATE_OWNER
life_cycle
string
modified_by
string
modified_on
string
organisation_id
string
tenant_id
string
property_surveys
Array
Object
id
string
Example:
e7f97130-c7aa-11eb-9bb2-42010a9a0026
property_project
Object
id
string
project
Object
id
string
name
string
description
string
start_date
integer
Example:
1
completed_date
integer
Example:
1
lifecycle
string
survey
Object
id
string
Example:
survey_guid
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
requires_install
boolean
Example:
true
small_icon
string
version
Object
id
string
name
string
progress
integer
Example:
1
survey_date
string
rag_status
string
life_cycle
string
Examples
Services
GET /services
POST /services
PUT /services/{id}
DELETE /services/{id}
List Services
GET /services

Request parameters

survey_id
string optional

Request body

Array
Object
id
string
name
string
description
string
service_type
string
Enumeration:
TRADES
tenant_id
string
Examples
[
    {
        "id": "",
        "name": "",
        "description": "",
        "service_type": "TRADES",
        "tenant_id": ""
    }
]
Create Services
POST /services

Request body

Object
name
string
description
string
service_type
string
Enumeration:
TRADES
Examples
{
    "name": "",
    "description": "",
    "service_type": "TRADES"
}

Responses

200 OK
Body
Object
id
string
name
string
description
string
service_type
string
tenant_id
string
Examples
{
    "id": "",
    "name": "",
    "description": "",
    "service_type": "",
    "tenant_id": ""
}
Update Service
PUT /services/{id}

Path variables

id
string required

Request body

Object
name
string
description
string
service_type
string
Enumeration:
TRADES
Examples
{
    "name": "",
    "description": "",
    "service_type": "TRADES"
}

Responses

200 OK
Body
Object
id
string
name
string
description
string
service_type
string
tenant_id
string
Examples
{
    "id": "",
    "name": "",
    "description": "",
    "service_type": "",
    "tenant_id": ""
}
Delete Service
DELETE /services/{id}

Path variables

id
string required

Responses

200 OK
Body
Object
is_deleted
string
Example:
TRUE
Get Availability
GET /surveys/{surveyId}/services/{id}/availability

Path variables

surveyId
string required
id
string required

Request parameters

start_date
number optional

Start date to search from. Optional: by default today

has_capacity
boolean optional

Bring back only those with capacity

end_date
string optional

End date. Optional - by default start date +7 days

Request body

Object
organisation
Object
id
string
name
string
adminuser
Object
id
string
name
string
slot
string
bookings
Array
Object
start_time
string

Start Time

length
string
formatted_address
string

Formatted Address of Property

capacity
integer

Number of appointments / day setting

Example:
3
Examples
{
    "organisation": {
        "id": "",
        "name": ""
    },
    "adminuser": {
        "id": "",
        "name": ""
    },
    "slot": "",
    "bookings": [
        {
            "start_time": "",
            "length": "",
            "formatted_address": ""
        }
    ],
    "capacity": 1
}

Responses

200 OK
Payments Processing
POST /payment_methods
GET /payment_methods
Create Payment method
POST /payment_methods

Request body

Object
integration_id
string
platform
string
Enumeration:
STRIPE
method_type
string
Example:
CARD
is_primary
boolean
Example:
true
holder_details
Object
contact_id
string

Contact ID to associate the Payment_method

first_name
string
Example:
John
last_name
string
Example:
Krasinski
email
string

email if needed

mobile
string

mobile option for 3DS verification

bank_details
Object
account_name
string
Example:
name
account_number
string
Example:
number
sort_code
string
Example:
code
iban
string
Example:
iban
swift
string
Example:
swift
card
Object
name
string
Example:
Card-name
first6
string
Example:
first6
last4
string
Example:
last4
brand
string
expiry
Object
year
integer
month
integer
gateway
Object
gateway
string
Example:
STRIPE
gateway_id
string

Primary ID of stored card in gateway

Example:
identifier
token
string
Example:
token
fingerprint
string
Example 1
POST /payment_methods HTTP/1.1 

Content-Type: application/json

{
    "integration_id": "",
    "platform": "STRIPE",
    "method_type": "CARD",
    "is_primary": true,
    "holder_details": {
        "contact_id": "",
        "first_name": "John",
        "last_name": "Krasinski",
        "email": "",
        "mobile": ""
    },
    "bank_details": {
        "account_name": "name",
        "account_number": "number",
        "sort_code": "code",
        "iban": "iban",
        "swift": "swift"
    },
    "card": {
        "name": "Card-name",
        "first6": "first6",
        "last4": "last4",
        "brand": "",
        "expiry": {
            "year": 1,
            "month": 1
        }
    },
    "gateway": {
        "gateway": "STRIPE",
        "gateway_id": "identifier",
        "token": "token",
        "fingerprint": ""
    }
}
Get Payment methods
GET /payment_methods

Request parameters

contact_id
string optional

Contact ID connected to payment Methods

integration_id
string optional

Integation_id for the payment platform

provider
string optional

Technology used

Enumeration:
STRIPE
ELAVON

Responses

200 OK
Body
Object
integration_id
string
platform
string
Example:
STRIPE
method_type
string
Example:
CARD
is_primary
boolean
Example:
true
holder_details
Object
contact_id
string
first_name
string
Example:
John
last_name
string
Example:
Krasinski
email
string
mobile
string
bank_details
Object
account_name
string
Example:
name
account_number
string
Example:
number
sort_code
string
Example:
code
iban
string
Example:
iban
swift
string
Example:
swift
card
Object
name
string
Example:
Card-name
first6
string
Example:
first6
last4
string
Example:
last4
brand
string
expiry
Object
year
integer
Example:
1
month
integer
Example:
1
gateway
Object
gateway
string
Example:
STRIPE
gateway_id
string
Example:
identifier
token
string
Example:
token
fingerprint
string
Media
POST /uploads
POST /files
POST /media_recognition
GET /properties/{id}/files
Upload Signature
POST /uploads

Request body

Object
mediaGroupExternalId
string
Example:
e66896ba-db0a-41e2-8093-9aca2ae02f29
mediaUsageType
string
Example:
THUMBNAIL
folder
string
Example:
offers/hero
trackingKey
string
Example:
e66896
Examples
{
    "mediaGroupExternalId": "e66896ba-db0a-41e2-8093-9aca2ae02f29",
    "mediaUsageType": "THUMBNAIL",
    "folder": "offers/hero",
    "trackingKey": "e66896"
}

Responses

201 Created
Body
Object
api_key
string
Example:
698271538719998
cloudName
string
Example:
crm-com
context
string
Example:
uploadStrategy=MEDIA_UPLOAD|organisationId=8062c26a-c05f-47ca-81e4-566b3c279320|trackingKey=e3ffca89-902f-4bd6-b503-c7dcf59dd725|mediaGroupExternalId=1d7b73d2-a324-4cee-a97a-492050b101ef|usageType=ATTACHMENT
signature
string
Example:
8f38472a40d8466f11852bd9d3a19c23bfe12f91
timestamp
integer
Example:
1616056261
upload_options
Array
Object
folder
string
Example:
35d7d0a4-9846-73a7-8707-26d2507edc51
mediaGroupExternalId
string
Example:
35d7d0a4-9846-73a7-8707-26d2507edc51
mediaUsageType
string
Example:
ATTACHMENT
options
Object
type
string
Example:
upload
signature_options
Object
folder
string
Example:
6ff2469c-e473-e370-c86e-16633434607a
type
string
Example:
upload
tracking_key
string
Example:
6ff2469c-e473-e370-c86e-16633434607a
Upload File
POST /files

Request body

Object
media
Object
id
string
file_name
string
property
Object
id
string
Examples
{
    "media": {
        "id": "",
        "file_name": ""
    },
    "property": {
        "id": ""
    }
}

Responses

201 Created
Body
Object
media
Object
id
string
file_url
string
Media Recognition
POST /media_recognition

Request body

Object
media
Array
Object
id
string
file_name
string
Examples
{
    "media": [
        {
            "id": "",
            "file_name": ""
        }
    ]
}

Responses

201 Created
Body
Object
media
Array
Object
id
string

GUID-123

filename
string

land registry.pdf

evidence
Array

Array of Evicence Type Matching

Object
id
string

GUID

name
string

Land Registery

Example 1
POST /media_recognition HTTP/1.1 

Content-Type: application/json

{
    "media": [
        {
            "id": "",
            "filename": ""
        }
    ]
}

HTTP/1.1 201 Created 

Content-Type: application/json

{
    "media": [
        {
            "id": "",
            "filename": "",
            "evidence": [
                {
                    "id": "",
                    "name": ""
                }
            ]
        }
    ]
}
Property Files
GET /properties/{id}/files

Path variables

id
string required

Request body

Object
content
Array
Object
id
string
evidence
Object
id
string
name
string
media
Object
id
string
file_name
string
adminuser
Object
id
string
name
string
uploaded_date
string
lifecycle
string
install_phase
string
Examples
{
    "content": [
        {
            "id": "",
            "evidence": {
                "id": "",
                "name": ""
            },
            "media": {
                "id": "",
                "file_name": ""
            },
            "adminuser": {
                "id": "",
                "name": ""
            },
            "uploaded_date": "",
            "lifecycle": "",
            "install_phase": ""
        }
    ]
}
Main Question
Risk Asses
Pas203
Business network
GET /adminusers
Admin User List
GET /adminusers

Request parameters

role_id
string optional

List of Role_id

organisation_id
string optional

List of organisation

surname
string optional

search by surname

Responses

200 OK
Body
Object
content
Array of User Roles
Example 1
GET /adminusers HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "adminuser": {
                "id": "",
                "name": ""
            },
            "organisations": [
                {
                    "id": "",
                    "name": "",
                    "roles": {
                        "id": "",
                        "name": "",
                        "permissions": ""
                    }
                }
            ]
        }
    ]
}
evidence sections

Evidence Sections for PDF Generation / Layout

Object
id
string
name
string
description
string
section_type
string
Enumeration:
PROPERTY
CONTACT
SURVEY
lexicon
string
priority
string
survey
Object
id
string
name
string
section_items
Array
Object
id
string
item_type
string
name
string
lexicon
string
property_photos
Array
Object
property
Array
Object
evidence_category
Object
contact
string
elevations
Object
id
string
name
string
photos
Array
Object
id
string
media_id
string
rooms
Array
Object
id
string
name
string
windows
Array
Object
id
string
name
string
loft
Object
roofs
Array of string
Example 1
[
    {
        "elevations": {
            "id": "",
            "name": "",
            "photos": [
                {
                    "id": "",
                    "media_id": ""
                }
            ]
        },
        "rooms": [
            {
                "id": "",
                "name": "",
                "windows": [
                    {
                        "id": "",
                        "name": ""
                    }
                ]
            }
        ],
        "loft": {}
    }
]
property_evidence
Array
Object
id
string

evidence category ID

Example:
9d855dc0-a1dd-11eb-b8ba-42010a9a004e
name
string
Example:
Property Details
category
string
Enumeration:
PROPERTY
CONTACT
SURVEY
component_type
string
Enumeration:
ELEVATIONS
ROOMS
WINDOWS
HEATING
VENTILATION
evidence
Array
Object
id
string
component
Object
id
string
name
string
component_type
string
parent_id
string
name
string
shortcode
string
is_required
boolean
media
Example 1
[
    {
        "id": "9d855dc0-a1dd-11eb-b8ba-42010a9a004e",
        "name": "Property Details",
        "category": "SURVEY",
        "component_type": "HEATING",
        "evidence_rules": [
            {
                "id": "",
                "name": "",
                "component": {
                    "id": "",
                    "name": "",
                    "component_type": "",
                    "parent_id": ""
                },
                "media": {
                    "id": "27ad2c5b-de33-4e7b-855c-79889f6b2630",
                    "usage_type": "HERO",
                    "width": 6616,
                    "format": "jpg",
                    "media_id": "bd928cf6-8d56-44a1-80c3-8f8fc8628c8c",
                    "media": [
                        {
                            "id": null,
                            "width": 50,
                            "height": 33,
                            "url": "https://res.cloudinary.com/crm-com/image/upload/c_scale,f_auto,q_auto,w_50/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg"
                        }
                    ],
                    "url": "https://res.cloudinary.com/crm-com/image/upload/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg",
                    "height": 4411,
                    "media_group_id": "7c9d0054-5bdc-4905-ae46-6fd405d8e9c8",
                    "public_id": "23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj",
                    "external_type": {
                        "id": "",
                        "usage_type": ""
                    }
                }
            }
        ]
    }
]
Property Component Evidence
Array
Object
id
string

evidence category ID

Example:
9d855dc0-a1dd-11eb-b8ba-42010a9a004e
name
string
Example:
Property Details
category
string
Enumeration:
PROPERTY
SURVEY
CONTACT
components
Array
Object
id
string
name
string
component_type
string
parent_id
string
evidence
Array
Object
id
string
name
string
shortcode
string
is_required
string
media
string
evidence
Array
Object
id
string
name
string
shortcode
string
is_required
string
media
Example 1
[
    {
        "id": "9d855dc0-a1dd-11eb-b8ba-42010a9a004e",
        "name": "Property Details",
        "category": "PROPERTY",
        "components": [
            {
                "id": "",
                "name": "",
                "component_type": "",
                "parent_id": "",
                "evidence": [
                    {
                        "id": "",
                        "name": "",
                        "shortcode": "",
                        "is_required": "",
                        "media": ""
                    }
                ]
            }
        ]
    }
]
Admin

Administration Features

POST /passwords/otp
POST /otp/validate
POST /adminusers/{id}/passwords
Request Password OTP
POST /passwords/otp

Request body

Object
email
string
mobile
string
Validate OTP
POST /otp/validate

Request body

Object
otp_code
string
email
string
phone
string

Responses

201 Created
Body
Object
access_token
string
Example:
eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJiZGU1YmJkZS0xNDY3LTRiODQtOGRjNS04MjlhMzJmNjM4ZTgiLCJ0eXBlIjoiYWNjZXNzIiwicHJpbWFyeU9yZ2FuaXNhdGlvbiI6ImU1OTdkY2JjLWRiNDktNDRjZS1iNGY2LWQyMGMxNGUwZTQ2YSIsInRlbmFudE9yZ2FuaXNhdGlvbiI6ImU1OTdkY2JjLWRiNDktNDRjZS1iNGY2LWQyMGMxNGUwZTQ2YSIsImN1cnJlbnRPcmdhbmlzYXRpb24iOiJlNTk3ZGNiYy1kYjQ5LTQ0Y2UtYjRmNi1kMjBjMTRlMGU0NmEiLCJwZXJtaXNzaW9ucyI6IiIsInJvbGVzIjoiIiwibGljZW5jZXMiOiJbXSIsImV4cCI6MTYzNjgxODc3M30.MchzVcEkTC-g2b1qiB89khp3vBF2BUc8fL632tRHuiTGgQy3gFORDsld4k1MDturn-jH0bCbcrrpBzYemn5UcA
refresh_token
string
Example:
eyJhbGciOiJIUzUxMiJ9.eyJ0eXBlIjoicmVmcmVzaCIsInByaW1hcnlPcmdhbmlzYXRpb24iOiJlNTk3ZGNiYy1kYjQ5LTQ0Y2UtYjRmNi1kMjBjMTRlMGU0NmEiLCJ0ZW5hbnRPcmdhbmlzYXRpb24iOiJlNTk3ZGNiYy1kYjQ5LTQ0Y2UtYjRmNi1kMjBjMTRlMGU0NmEiLCJjdXJyZW50T3JnYW5pc2F0aW9uIjoiZTU5N2RjYmMtZGI0OS00NGNlLWI0ZjYtZDIwYzE0ZTBlNDZhIiwicGVybWlzc2lvbnMiOiIiLCJyb2xlcyI6IiIsImxpY2VuY2VzIjoiW10iLCJzdWIiOiJiZGU1YmJkZS0xNDY3LTRiODQtOGRjNS04MjlhMzJmNjM4ZTgiLCJleHAiOjE2NDI3ODAzNzN9.qZFmGdYKwDegDB8_TB-g8znZDfskUWx9ziRCzJxy5tdKIXs4oX2TOnOho31EE4MuTjOXxUWkuxDKLy0J7IK1tw
exp
integer
Example:
1636818773782
organisations
Array
Object
external_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string
Example:
Premier Connections
org_type
string
Example:
ACCOUNT
roles
Array of unknown
licences
Array of unknown
forename
string
Example:
Frank
surname
string
Example:
Pearson
email
string
Example:
frank.pearson@premier-renewables.co.uk
external_id
string
Example:
bde5bbde-1467-4b84-8dc5-829a32f638e8
active
boolean
Example:
true
Password Change
POST /adminusers/{id}/passwords

Path variables

id
string required

Request body

Object
password
string
Admin Users
GET /adminusers
GET /organisations/{id}/adminusers
GET /organisations/{id}/teams
GET /adminusers/id
PUT /adminusers/id
PUT /adminusers/id/contact_infos/id
POST /adminusers/id/organisations
POST /adminusers/id/organisations/id/roles
DELETE /adminusers/id/organisations/id/roles/id
POST /organisations/id/adminusers
POST /adminusers
POST /adminusers/{id}/invite
adminusers
GET /adminusers

Request parameters

role_id
string optional
Example:
5e06bc72-bc92-4b46-ba08-3622dc3b0820
organisation_id
string optional

if isn’t set, takes tenant_id from token instead

Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string optional
Example:
Sam Surveyor
role_type
string optional
Example:
SALES_PARTNER

Responses

200 OK
Body
Object
content
Array
Object
adminuser
Object
id
string
Example:
c6d37dc2-fddd-11eb-a282-42010a9a0037
name
string
Example:
Andrew Park
is_active
boolean
Example:
true
organisations
Array
Object
id
string
Example:
1db898e6-fddc-11eb-a282-42010a9a0037
name
string
Example:
Premier Surveyors
join_date
string
roles
Array
Object
id
string
Example:
5e06bc72-bc92-4b46-ba08-3622dc3b0820
name
string
Example:
Surveyor
permissions
string
Example:
SURVEYOR_APP
role_type
string
Example:
SALES_PARTNER
contact_info
Array
Object
id
string
Example:
1db898e6-fddc-11eb-a282-42010a9a0037
contact_type
string
Example:
EMAIL
contact_value
string
Example:
Andy.steward@premierconnections.co.uk
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
100
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
1
total_elements
integer
Example:
11
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
11
first
boolean
Example:
true
size
integer
Example:
100
empty
boolean
Example 1
GET /adminusers HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "adminuser": {
                "id": "c6d37dc2-fddd-11eb-a282-42010a9a0037",
                "name": "Andrew Park",
                "is_active": true
            },
            "organisations": [
                {
                    "id": "1db898e6-fddc-11eb-a282-42010a9a0037",
                    "name": "Premier Surveyors",
                    "roles": [
                        {
                            "id": "5e06bc72-bc92-4b46-ba08-3622dc3b0820",
                            "name": "Surveyor",
                            "permissions": "SURVEYOR_APP"
                        }
                    ]
                }
            ]
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 100,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_pages": 1,
    "total_elements": 11,
    "last": true,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number": 1,
    "number_of_elements": 11,
    "first": true,
    "size": 100,
    "empty": true
}
Organisation Admin Users
GET /organisations/{id}/adminusers

Path variables

id
string required

Request parameters

role_id
string optional
Example:
5e06bc72-bc92-4b46-ba08-3622dc3b0820
role_type
string optional
Example:
ADMIN
organisation_id
string optional
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string optional
Example:
Andrew Park

Responses

200 OK
Body
Object
content
Array
Object
id
string
Example:
68696b16-fdb8-11eb-bcdb-42010a9a001a
name
string
Example:
Andrew Park
is_active
boolean
Example:
true
organisations
Array
Object
id
string
Example:
531b755c-fc21-11eb-bcdb-42010a9a001a
name
string
Example:
Prem Con Surveyors
organisation_type
string
Example:
TEAM
roles
Array
Object
id
string
Example:
5e06bc72-bc92-4b46-ba08-3622dc3b0820
name
string
Example:
Surveyor
permissions
string
Example:
SURVEYOR_APP
role_type
string
Example:
SURVEYOR
contact_info
Array
Object
contact_type
string
Example:
EMAIL
contact_value
string
Example:
andy@vizulink.com
pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
10
offset
integer
paged
boolean
Example:
true
unpaged
boolean
total_pages
integer
Example:
1
total_elements
integer
Example:
7
last
boolean
Example:
true
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
number
integer
number_of_elements
integer
Example:
7
first
boolean
Example:
true
size
integer
Example:
10
empty
boolean
Example 1
GET /organisations/{id}/adminusers HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "content": [
        {
            "id": "d53ccba3-0198-11ec-bcdb-42010a9a001a",
            "name": "Adam \r Hodkinson",
            "is_active": true,
            "organisations": [
                {
                    "id": "a659279a-8b2a-4330-abb7-dc3f2c056fc5",
                    "name": "Britevox",
                    "organisation_type": "ACCOUNT",
                    "roles": [
                        {
                            "id": "ac5634fa-e918-4a6c-b7fd-a35677037c31",
                            "name": "Sales",
                            "permissions": "SALES",
                            "role_type": "SALES_PARTNER"
                        }
                    ]
                }
            ],
            "contact_info": [
                {
                    "contact_type": "EMAIL",
                    "contact_value": "Andy.steward@premierconnections.co.uk"
                }
            ]
        }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": true,
            "empty": true
        },
        "page_number": 1,
        "page_size": 20,
        "offset": 1,
        "paged": true,
        "unpaged": true
    },
    "total_pages": 3,
    "total_elements": 59,
    "last": true,
    "sort": {
        "sorted": true,
        "unsorted": true,
        "empty": true
    },
    "number": 1,
    "number_of_elements": 20,
    "first": true,
    "size": 20,
    "empty": true
}
Organisation Teams
GET /organisations/{id}/teams

Path variables

id
string required

Responses

200 OK
Body
Object
id
string
Example:
531b755c-fc21-11eb-bcdb-42010a9a001a
name
string
Example:
Prem Con Surveyors
description
string
Example:
Premier connection team of surveyors
org_type
string
Example:
TEAM
relationship
string
Example:
SURVEYOR
adminuser_count
integer
Example:
7
Example 1
GET /organisations/{id}/teams HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "531b755c-fc21-11eb-bcdb-42010a9a001a",
    "name": "Prem Con Surveyors",
    "description": "Premier connection team of surveyors",
    "org_type": "TEAM",
    "relationship": "SURVEYOR",
    "adminuser_count": 7
}
Admin User Details
GET /adminusers/id

Responses

200 OK
Body
Object
adminuser
Object
id
string
forename
string
surname
string
is_active
boolean
contact_info
Array
Object
id
string
contact_type
string
contact_value
string
organisations
Array
Object
id
string
name
string
organisation_type
string
join_date
string
roles
Array
Object
id
string
name
string
permissions
string
role_type
string
Update Adminuser
PUT /adminusers/id

Request body

Object
adminuser
Object
forename
string
surname
string
is_active
boolean
Updating contact info
PUT /adminusers/id/contact_infos/id

Request body

Object
id
string
contact_type
string
contact_value
string
Creates new org + roles
POST /adminusers/id/organisations

API removes all rows from DB and then adds again

Request body

Object
organisations
Array
Object
id
string
roles
Array
Object
id
string
Examples
{
    "organisations": [
        {
            "id": "",
            "roles": [
                {
                    "id": ""
                }
            ]
        }
    ]
}
Creates new role in org
POST /adminusers/id/organisations/id/roles

Request body

Object
roles
Array
Object
id
string
Examples
{
    "roles": [
        {
            "id": ""
        }
    ]
}
Deletes a users role in an organisation
DELETE /adminusers/id/organisations/id/roles/id
Organisation Adminuser
POST /organisations/id/adminusers

Request body

Object
adminusers
Array
Object
adminuser_id
string
created_by
string
invite_token
string
is_owner
boolean
is_primary
boolean
pending_invite
boolean
role
Array
Object
id
string
Examples
{
    "adminusers": [
        {
            "adminuser_id": "",
            "created_by": "",
            "invite_token": "",
            "is_owner": true,
            "is_primary": true,
            "pending_invite": true
        }
    ],
    "role": {
        "id": ""
    }
}
Create Adminuser
POST /adminusers

Request body

Object
id
string
forename
string
surname
string
organisation
Array
Object
id
string
level
string
Examples
{
    "id": "",
    "forename": "",
    "surname": "",
    "organisation": [
        {
            "id": "",
            "level": ""
        }
    ]
}
Invite
POST /adminusers/{id}/invite

Path variables

id
string required

Request body

Object
organisation
Object
id
string
roles
Object
id
string
email
string
phone
string
Examples
{
    "organisation": {
        "id": "",
        "roles": {
            "id": ""
        }
    },
    "email": "",
    "phone": ""
}
Schema
Address
Object
id
string
address_line_1
string
Example:
Driftwood
address_line_2
string
street_road
string
Example:
Seafield Road
town_city
string
Example:
Seaview
state_province_county
string
Example:
Isle Of Wight
postal_code
string
Example:
PO345HD
country_code
string
Example:
UK
Units of time
Object
units
string

units of time

Enumeration:
HOUR
DAY
WEEK
MONTH
YEAR
Tax Model

Models for Tazx

Object
tax_model
string

Types of tax_model

Enumeration:
INCLUSIVE
EXCLUSIVE
Payment Method
Object
method_type
string
Enumeration:
BANK
CARD
is_primary
string
Example:
true
bank_details
Object
account_name
string
Example:
John Doe
account_number
string
Example:
00100201
sort_code
string
Example:
102491
iban
string
Example:
SE3550000000054910000003
swift
string
Example:
12345678
card
Object
name
string
Example:
Default Card
first6
string
Example:
42424242
last4
string
Example:
4242
holder_details
Object
first_name
string
Example:
John
last_name
string
Example:
Smith
address
gateway
Array
Object
gateway_identifier
string
gateway
string
Example:
SMARTDEBIT
token
string
Example:
UPB123456
Life Cycles

Life Cycles for Orders / Subscriptions / Provisioning

Object
life_cycle
string
Enumeration:
CREATED
PROVISIONED
COMPLETED
PAYMENT_PENDING
cycle_date
number

Date lifecycle was acheived

Product class

Product Class to distinguish what has been added to an order or subscription

Object
product_class
string
Enumeration:
BROADBAND
ENERGY
ROUTER
LINE_RENTAL
CALL_PACK
PHYSICAL
DIGITAL
EXPENSE
SERVICE
API Key
string optional
Applied to all operations

Secret API Key for Server to Server Access or JWT token for Backoffice Access

Example:
pk_live_FGHJYYTALAek2rwZ0ZHbrTDj00skBeatgood
creatives

Image Support

Object
id
string
Example:
27ad2c5b-de33-4e7b-855c-79889f6b2630
usage_type
string
Example:
HERO
width
integer
Example:
6616
format
string
Example:
jpg
media_id
string
Example:
bd928cf6-8d56-44a1-80c3-8f8fc8628c8c
media
Array
Object
id
unknown nullable
width
integer
Example:
50
height
integer
Example:
33
url
string
Example:
https://res.cloudinary.com/crm-com/image/upload/c_scale,f_auto,q_auto,w_50/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg
url
string
Example:
https://res.cloudinary.com/crm-com/image/upload/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg
height
integer
Example:
4411
media_group_id
string
Example:
7c9d0054-5bdc-4905-ae46-6fd405d8e9c8
public_id
string
Example:
23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj
external_type
Object
id
string
usage_type
string
Firebase APP Settings

App Setting for Firebase

Object
customerID
string

APP Id for Customer

Example:
com.vizulink.drophop
CRM
Object
production
Object
Endpoint
string
api_key
string
integration_id
string
development
Object
endpoint
string
api_key
string
integration_id
string
payment
Object
production
Array
Object
platform
string
Enumeration:
STRIPE
APPLE
GOOGLE
enabled
boolean
Example:
true
api_key
string
integration_id
string
development
Array
Object
platform
string
Example:
APPLE
enabled
string
Example:
false
api_key
string
integration_id
string
vzCRM
Object
production
Object
Endpoint
string
api_key
string
integration_id
string
development
Object
endpoint
string
api_key
string
integration_id
string
Example 1
{
    "customerID": "com.vizulink.drophop",
    "CRM": {
        "production": {
            "Endpoint": "",
            "api_key": "",
            "integration_id": ""
        },
        "development": {
            "endpoint": "",
            "api_key": "",
            "integration_id": ""
        }
    },
    "payment": {
        "production": [
            {
                "platform": "APPLE",
                "enabled": "true",
                "api_key": "",
                "integration_id": ""
            }
        ]
    }
}
Local Image storage
Object
id
string
Example:
9d855dc0-a1dd-11eb-b8ba-42010a9a004e
name
string
Example:
Front Elevation
shortcode
string
Example:
FRONT_ELEVATION
local_media
Object
url
string
Example:
aaaaaaaaaa
uploaded
integer
Example:
16543212
Example 1
{
    "id": "9d855dc0-a1dd-11eb-b8ba-42010a9a004e",
    "name": "Front Elevation",
    "shortcode": "FRONT_ELEVATION",
    "local_media": {
        "url": "aaaaaaaaaa",
        "uploaded": 16543212
    }
}
Property Data
Object
data_group_id
string

ID for the Group

data_item_id
string

ID for the item

data_choice_id
string

Choice if a multi-selecte

yes_no
string
Enumeration:
YES
NO
NOT_APPLICABLE
entered_data
Object
value_type
string
Enumeration:
NUMERIC
STRING
ALPHA
entered_value
string
entity
Object
id
string
entity_type
string
Enumeration:
ORGANISATION
MEDIA
Example 1
{
    "data_group_id": "",
    "data_item_id": "",
    "data_choice_id": "",
    "yes_no": "YES",
    "entered_data": {
        "value_type": "STRING",
        "entered_value": "",
        "entity": {
            "id": "",
            "entity_type": "MEDIA"
        }
    }
}
Property Data Expanded
Object
data_group
Object

ID for the Group

id
string
name
string
data_item
Object

ID for the item

id
string
name
string
data_choice_id
Object

Choice if a multi-selecte

id
string
short_code
string
choice
string
yes_no
string
Enumeration:
YES
NO
NOT_APPLICABLE
entered_data
Object
value_type
string
Enumeration:
NUMERIC
STRING
ALPHA
entered_value
string
entity
Object
id
string
entity_type
string
Enumeration:
ORGANISATION
MEDIA
entity_name
string
Example 1
{
    "data_group_id": "",
    "data_item_id": "",
    "data_choice_id": "",
    "yes_no": "YES",
    "entered_data": {
        "value_type": "ALPHA",
        "entered_value": "",
        "entity": {
            "id": "",
            "entity_type": "MEDIA"
        }
    }
}
Property Survey
Object
id
string
Example:
e7f97130-c7aa-11eb-9bb2-42010a9a0026
property_project
survey
Object
id
string
Example:
survey_guid
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
requires_install
boolean
small_icon
string
version
Object
id
string
name
string
progress
integer
survey_date
string
rag_status
string
life_cycle
string
Example 1
{
    "id": "e7f97130-c7aa-11eb-9bb2-42010a9a0026",
    "survey": {
        "id": "survey_guid",
        "name": "Cavity Survey",
        "description": "Cavity Deem Score Survey",
        "measure_type": "CAVITY"
    },
    "progress": 1,
    "survey_version_id": "",
    "resources": [
        {
            "adminuser": {
                "id": "",
                "name": ""
            },
            "organisation": {
                "id": "",
                "name": ""
            },
            "resource_type": "SURVEYOR"
        }
    ],
    "property_project": {
        "id": "",
        "project": {
            "id": "",
            "name": "",
            "description": ""
        },
        "start_date": 1,
        "completed_date": 1,
        "lifecycle": ""
    }
}
Owners
Object
adminuser
Object
id
string
name
string
organisation
Object
id
string
name
string
Review property checklists ( lite)

List of checklists items that need to be completed and status per property.

Object
id
string
name
string
description
string
required
boolean
Example:
true
checklist_group
string
Example:
PROPERTY
priority
integer
Example:
1
survey
Object
id
string
name
string
property_checklist
Object
id
string
started_date
integer
Example:
1
completed_date
string
Evidence
Object
id
string
name
string
evidence_type
string
shortcode
string
Example 1
{
    "id": "",
    "name": "",
    "evidence_type": "",
    "shortcode": ""
}
Survey Light
Object
Review
Object
id
string
Example:
5f494b68-dc9e-4cc8-9256-0d60850ccc13
review_date
integer
Example:
1
completed_date
integer
Example:
1
reviewer
Object
adminuser
Object
id
string
name
string
organisation
Object
id
string
name
string
transferred
Object
adminuser
Object
id
string
name
string
organisation
Object
id
string
name
string
action
Object
id
string
name
string
action_type
string
Example:
ACTION
required
boolean
Example:
true
Example 1
{
    "id": "5f494b68-dc9e-4cc8-9256-0d60850ccc13",
    "review_date": 1,
    "completed_date": 1,
    "reviewer": {
        "adminuser": {
            "id": "",
            "name": ""
        },
        "organisation": {
            "id": "",
            "name": ""
        }
    },
    "transferred": {
        "adminuser": {
            "id": "",
            "name": ""
        },
        "organisation": {
            "id": "",
            "name": ""
        }
    },
    "action": {
        "id": "",
        "name": "",
        "action_type": "ACTION",
        "required": true
    },
    "issues": [
        {
            "id": "",
            "evidence": {
                "id": "",
                "name": "",
                "evidence_type": "",
                "shortcode": ""
            },
            "resolved_date": 123456
        }
    ],
    "notes": [
        {
            "id": "",
            "note": "",
            "note_date": "",
            "owner": {
                "adminuser": {
                    "id": "",
                    "name": ""
                },
                "organisation": {
                    "id": "",
                    "name": ""
                }
            }
        }
    ]
}
Property For Lists
Object
id
string
Example:
DdNTL0nRRswbTkCvWkyt
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
organisation_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
code
string
Example:
PREMIER-000009
production
unknown nullable
allocated_id
unknown nullable
life_cycle
string
Example:
SURVEY
address
Object
building_name
string
country
string
Example:
England
formatted_address
string
Example:
64 Guildford Park Avenue, Guildford, Surrey, GU2 7NL
town_or_city
string
Example:
Guildford
district
string
Example:
Guildford
postcode
string
Example:
GU2 7NL
county
string
Example:
Surrey
locality
string
sub_building_name
string
thoroughfare
string
Example:
Guildford Park Avenue
sub_building_number
unknown nullable
building_number
string
Example:
64
details
Object
age_band
string
Example:
AGE_1996
bedrooms
integer
Example:
3
orientation
string
Example:
RIGHT
extensions
integer
Example:
1
sub_type
string
Example:
SEMI_DETACHED
property_type
string
Example:
HOUSE
construction
string
Example:
CONVENTIONAL_CAVITY
storeys
integer
Example:
2
conservatories
integer
Example:
1
flat_position
unknown nullable
external_walls
unknown nullable
location
Object
latitude
number
Example:
51.239197
longitude
number
Example:
-0.58395
surveys
Array of Survey in List
Ecoes Contact for Lists
Object
id
string
Example:
7W38kGhSDeb3QGtcHHJJ
title
string
Example:
Mr
forename
string
Example:
Andy
surname
string
Example:
Steward
email
unknown nullable
mobile
string
Example:
07566224395
home_phone
string
Example:
07566224395
date_of_birth
unknown nullable
Example 1
{
    "id": "7W38kGhSDeb3QGtcHHJJ",
    "title": "Mr",
    "forename": "Andy",
    "surname": "Steward",
    "email": null,
    "mobile": "07566224395",
    "home_phone": "07566224395",
    "date_of_birth": null
}
Survey in List
Object
id
string
Example:
957efa83-71e9-49cd-aabf-c260a3cb7239
survey
Object
id
string
Example:
1
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
measure_type
string
Example:
CAVITY
small_icon
string
Example:
CAVITY
large_icon
unknown nullable
progress
integer
survey_version_id
unknown nullable
survey_date
unknown nullable
resources
Array
Object
id
string
Example:
709d7680-0ee4-4867-9209-295d75745ecd
adminuser
Object
id
string
Example:
4be396f8-9c50-11eb-b8ba-42010a9a004e
name
string
Example:
Baljit Mann
organisation
Object
id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
name
string
Example:
Premier Connections
resource_type
string
Example:
SURVEYOR
Pageable
Object
sort
Object
sorted
boolean
unsorted
boolean
Example:
true
empty
boolean
Example:
true
page_number
integer
page_size
integer
Example:
6
offset
integer
paged
boolean
Example:
true
unpaged
boolean
Property Data V1

Storing and recovering Property Data

Object
id
string
Example:
abc123
survey
Object
id
string
name
string
data_group
Object
id
string
Example:
10c7503f-18ec-49b7-bafb-6cd46e52e105
name
string

Rooms

data_item
Object
id
string
Example:
10c7503f-18ec-49b7-bafb-6cd46e52e105
name
string
Example:
Number of Rooms
selected_entity
Object
entity_type
string

Type of Entity

Enumeration:
ORGANISATION
MEDIAGROUP
id
string

id of entity

name
string

name of the Entity

selected_choice
Object
id
string
name
string
answer
Object

Value entered

answer_value
string
answer_group
Object
id
string

ID of answer group

name
string

Name of answer group or groups

parent
Object
id
string

ID of the Parent

array_element
string

The array element of the Parent

Example 1
{
    "id": "abc123",
    "survey": {
        "id": "",
        "name": ""
    },
    "data_group": {
        "id": "10c7503f-18ec-49b7-bafb-6cd46e52e105",
        "name": ""
    },
    "data_item": {
        "id": "10c7503f-18ec-49b7-bafb-6cd46e52e105",
        "name": "Number of Rooms"
    },
    "selected_entity": {
        "entity_type": "MEDIAGROUP",
        "id": "",
        "name": ""
    },
    "selected_choice": {
        "id": "",
        "name": ""
    },
    "answer": {
        "answer_value": "",
        "answer_group": {
            "id": "",
            "name": ""
        }
    },
    "parent": {
        "id": "",
        "array_element": ""
    }
}
User Roles

List tof User / Organisation and Roles

Object
adminuser
Object
id
string
name
string
organisations
Array
Object
id
string
name
string
roles
Object
id
string
name
string
permissions
string
Example 1
{
    "adminuser": {
        "id": "",
        "name": ""
    },
    "organisations": {
        "id": "",
        "name": "",
        "roles": {
            "id": "",
            "name": "",
            "permissions": ""
        }
    }
}
Extension
Object
extensions
Array
Object
elevations
Object
type
string

Left

wall_square_meter
string

35

render
string

Red

elevations
Array
Object
type
string
wall_square_meter
string
render
string
Example 1
{
    "extensions": [
        {
            "elevations": {
                "type": "",
                "wall_square_meter": "",
                "render": ""
            }
        }
    ],
    "elevations": [
        {
            "type": "",
            "wall_square_meter": "",
            "render": ""
        }
    ]
}
Property Photos
Array
Object
id
string

0582a788-f2df-484c-9648-25bab919f4b8

evidence
Object
category
Object
id
string

08641ae0-03d8-11ec-bcdb-42010a9a001a

name
string

Elevation Photos

parent
Object
id
string
name
string
category_type
string
Enumeration:
PROPERTY
CONTACT
SURVEY
property_category
string
rule
Object
id
string

cc83e1fa-03d8-11ec-bcdb-42010a9a001a

name
string

Evidence Of Cavity Width

survey
Object
id
string

s123

name
string

Cavity

media
groups
Array
Object
id
string
Example:
4ff184da-6ddc-4e90-9eb9-4b6147fc88bf
name
string
Example:
extension
group_label
string
Example:
Extension 1
element
number
Example:
0
Example 1
[
    {
        "id": "",
        "evidence": {
            "category": {
                "id": "",
                "name": "",
                "parent": {
                    "id": "",
                    "name": ""
                },
                "category_type": "PROPERTY",
                "property_category": ""
            },
            "rule": {
                "id": "",
                "name": ""
            },
            "survey": {
                "id": "",
                "name": ""
            }
        },
        "media": {
            "id": "27ad2c5b-de33-4e7b-855c-79889f6b2630",
            "usage_type": "HERO",
            "width": 6616,
            "format": "jpg",
            "media_id": "bd928cf6-8d56-44a1-80c3-8f8fc8628c8c",
            "media": [
                {
                    "id": null,
                    "width": 50,
                    "height": 33,
                    "url": "https://res.cloudinary.com/crm-com/image/upload/c_scale,f_auto,q_auto,w_50/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg"
                }
            ],
            "url": "https://res.cloudinary.com/crm-com/image/upload/v1/23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj.jpg",
            "height": 4411,
            "media_group_id": "7c9d0054-5bdc-4905-ae46-6fd405d8e9c8",
            "public_id": "23a5b3a0-45d2-4dd6-ad05-41f938d2e7e8/qwjhq8mk9x6pntwmpqrj",
            "external_type": {
                "id": "",
                "usage_type": ""
            }
        },
        "groups": [
            {
                "id": "4ff184da-6ddc-4e90-9eb9-4b6147fc88bf",
                "name": "extension",
                "group_label": "Extension 1",
                "element": 1
            }
        ]
    }
]
Place

Set up a place that can be a collection point, or delivery hub

Object
id
string
name
string
description
string
pace_type
string
co-ordinates
Object
lat
number
Example:
50.8955831
lon
number
Example:
-1.391154
boundary
Array

list of points for a boundary

Object
lat
string
Example:
50.8955831
lon
string
Example:
-1.391154
Surveys
Object
id
string
Example:
e7f97130-c7aa-11eb-9bb2-42010a9a0026
name
string
Example:
Cavity Survey
description
string
Example:
Cavity Deem Score Survey
tenant_id
string
Example:
e597dcbc-db49-44ce-b4f6-d20c14e0e46a
config_group
string
Example:
MEASURE
measure_type
string
Example:
CAVITY
small_icon
string
Example:
CAVITY
large_icon
unknown nullable
requires_install
boolean
Example:
true
versions
Array
Object
id
string
Example:
b3547bd6-364e-11ec-a745-42010a9a0002
name
string
Example:
1.1
published_date
integer
Example:
1625568811
expired_date
unknown nullable
description
string
Example:
Cavity Survey v1
Property Project
Object
id
string
project
Object
id
string
name
string
description
string
start_date
integer
Example:
1
completed_date
integer
Example:
1
lifecycle
string
Organisations
Connectors
GET /connectors/{id}/config
Connector Actions
GET /connectors/{id}/config

Get a list of parameters it supports, with possible values. The CDoinnector implementation needs to be able to specify these actions / params.

Path variables

id
string required

Responses

200 OK
Body
Array
Object
id
string

ID for parameter used by the code

Example:
TEMPLATE_ID
name
string

Text label for the parameter

Example:
Template name
param_type
string
Enumeration:
LIST
TEXT
PASSWORD
NUMBER
DATE
choices
Array

Only present if type is LIST

Object
id
string
name
string
default
Object

Default value (optional)

id
string
name
string
Events

Generic Events

Generic Event
Object
event
Object
id
string
event_type
string

WORKFLOW_ARRIVED

event_data
Object
property
Object
id
string
formatted_address
string
address
Object
id
string
line1
string
property_projects
Array
Object
id
string
project
Object
id
string
name
string
property_surveys
Array
Object
id
string
survey
Object
id
string
name
string
leads
Array
Object
id
string
lead
Object
appointment
Object
id
string
name
string
start_date
integer
surveys
Array
Object
id
string
name
string
resources
Array
Object
adminuser
Object
id
string
name
string
end_date
integer
duration
integer
ical
Object
data
string

Base64 iCal data, to be put into attachment

url
string
workflow
Object
process
Array
Object
id
string
Example:
1233445
name
string
Example:
Solar LAD
stage
Object
id
string

GUID1234

name
string

Evidence Review

arrived
number
Example:
8765434567
left
number
adminuser
Object
id
string
Example:
GUIDUSER
name
string
Example:
Andy Steward
Example 1
{
    "event": {
        "id": "",
        "event_type": ""
    },
    "event_data": {
        "property": {
            "id": "",
            "formatted_address": "",
            "address": {
                "id": "",
                "line1": ""
            }
        },
        "lead": {},
        "property_project": [
            {
                "id": "",
                "project": {
                    "id": "",
                    "name": ""
                },
                "property_surveys": [
                    {
                        "id": "",
                        "survey": {
                            "id": "",
                            "name": ""
                        }
                    }
                ]
            }
        ],
        "appointment": {
            "id": "",
            "name": "",
            "date": "",
            "surveys": [
                {
                    "id": "",
                    "name": ""
                }
            ],
            "resources": [
                {
                    "adminuser": {
                        "id": "",
                        "name": ""
                    }
                }
            ]
        },
        "contacts": [
            {
                "id": "",
                "forename": "",
                "surname": ""
            }
        ]
    }
}