MENU navbar-image

Introduction

Getting Started

The KammaProperty API provides programmatic access, via a RESTful API, to the KammaProperty platform and allows you to integrate our platform into your business workflows.

You'll need a valid KammaProperty API key to access our API; if you weren't supplied with this during onboarding you can request it from the KammaProperty team.

Version

This page described v2 of the KammaProperty API; this is the latest version.

Endpoints

All API resources are accessed from the https://kamma.api.kammadata.com/api endpoint, which supports SSL access only. Accessing any API resource via vanilla HTTP will return an HTTP redirect status of 302 Found in the response headers, together with a Location response header with the corresponding SSL protected URL for the resource.

$ http GET https://kamma.api.kammadata.com/api/properties/determination-check/geoplace:uprn:123456789123

 HTTP/1.1 302 Found
 Cache-Control: max-age=1
 Connection: keep-alive
 Content-Length: 271
 Content-Type: text/html; charset=utf-8
 Location: https://kamma.api.kammadata.com/api/properties/determination-check/geoplace:uprn:123456789123

This documentation aims to provide all the information you need to work with our API.

Headers

Unless explicitly documented in this API documentation, all API request and response bodies must be encoded as UTF-8 JSON. API requests should set the Content-Type header as follows:

Content-Type: application/json

Identifier Tokens

The API uses machine tags, sometimes termed triple tags to specify a property, an address or a geographical area and are constructed from a namespace, a descriptive predicate and a value as follows:

namespace:predicate:value

namespace and predicate are case insensitive but typically lowercase, whilst value is case sensitive.

Address Identifier Tokens

Address identifier tokens refer to a point, such as an address, or a collection of addresses such as a postcode.

Ordnance Survey UPRNs

Royal Mail Postcodes

KammaProperty Identifier Identifiers

Address Tokens

Place Identifier Tokens

Place identifier tokens refer to a geospatial area which is not a point, such as an address or a postcode. In practical terms, a place code is used to refer to an adminstrative, electoral or census geography.

ONS GSS Codes

NISRA Output Area Codes

This API requires:

Base URL

https://kamma.api.kammadata.com

Authenticating requests

Authenticate requests to this API's endpoints by sending a X-SSO-API-Key header with the value "{YOUR_SSO_API_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

All calls to the KammaProperty API must be authenticated with a valid API key which is sent as an X-SSO-API-KEY HTTP header and which must be accompanied by an Accept header specifying application/json.

X-SSO-API-KEY: [example-api-key]
Accept: application/json

If an invalid API key is specified or the API key is missing, an HTTP status of 401 Unauthorized will be returned in the response headers.

Determination Checker Methods

When requested with a valid token, active schemes from the authority where the property is located are returned.

requires authentication

Returns the current licensing determination at this address, which includes the planning and licensing schemes or consultations which apply to the address

Example request:
curl --request GET \
    --get "https://kamma.api.kammadata.com/api/properties/determination-check/geoplace:uprn:123456789123" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/determination-check/geoplace:uprn:123456789123"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://kamma.api.kammadata.com/api/properties/determination-check/geoplace:uprn:123456789123',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/determination-check/geoplace:uprn:123456789123'
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200, Success):


{
    "result": {
        "advice": {
            "mandatory": "A Mandatory HMO scheme covers the whole of Westminster. This scheme is permanent and includes and includes all HMOs with at least 5 people on 1 storey since October 1st 2018.",
            "additional": "There are no active Additional licensing schemes at this location right now.",
            "selective": "There are no active Additional licensing schemes at this location right now.",
            "article4": "There are no active Article 4 directions at this location right now.",
            "future": "The next Article 4 direction is planned for October 10th 2018."
        },
        "planning": [
            {
                "id": 123,
                "name": "",
                "type": "article4",
                "state": {
                    "in": false,
                    "active": false,
                    "future": true,
                    "expired": null,
                    "consultation": false
                },
                "criteria": {
                    "date_start": "2018-10-01T00:00:00.000Z",
                    "date_end": null,
                    "above_commercial": null,
                    "property_category": null,
                    "restrict_from": "C3",
                    "restrict_to": "C4"
                },
                "link": "https://www.royalgreenwich.gov.uk/info/200191/planning_policy_and_strategy/1793/article_4_direction_areas/2"
            }
        ],
        "schemes": [
            {
                "id": 123,
                "name": "",
                "type": "mandatory",
                "state": {
                    "in": true,
                    "active": true,
                    "future": false,
                    "expired": null,
                    "consultation": false
                },
                "criteria": {
                    "date_start": "2006-04-01T00:00:00.000Z",
                    "date_end": null,
                    "above_commercial": 0,
                    "configurations": [
                        {
                            "households": 2,
                            "people": 5,
                            "storeys": 1
                        }
                    ]
                },
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence"
            }
        ]
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (400, Invalid PropertyToken token):


{
    "status": 400,
    "message": "Bad Request",
    "code": 101000,
    "description": "The identity token was invalid, must be in the form of geoplace:uprn:1234, kamma:address:123+Street or kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Address resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 201001,
    "description": "The address resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Licence determination resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 202001,
    "description": "The licence determination resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

GET api/properties/determination-check/{identifier}

URL Parameters

identifier  string  

IdentifierToken token, for example geoplace:uprn:123456789123, kamma:address:123+Fake+Street, kamma:property:ea357bde17331f4217bd7898c50175fa

Response

Response Fields

response_id  string  

The unique id of this API request

result  object  

Determination result. For full description see Determination Schema.

result.advice  object  

List of advices for schemes and planning data

result.planning  object[]  

Array of planning data including information about current state and criteria

result.schemes  object[]  

Array of schemes including information about current state and criteria

EPC Checker Methods

Current Identifier EPC Status

requires authentication

When requested with a valid token, this resource returns the current EPC data for the property associated with the token.

Example request:
curl --request GET \
    --get "https://kamma.api.kammadata.com/api/properties/epc-check/geoplace:uprn:123456789123" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/epc-check/geoplace:uprn:123456789123"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://kamma.api.kammadata.com/api/properties/epc-check/geoplace:uprn:123456789123',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/epc-check/geoplace:uprn:123456789123'
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200, Success):


{
    "result": {
        "certificate": {
            "uprn": 100011623123,
            "address1": "6, Ashmeade",
            "address2": "Hale Barns",
            "post_town": "ALTRINCHAM",
            "postcode": "WA15 0DB",
            "building_reference_number": 4251743578,
            "current_energy_rating": "C",
            "potential_energy_rating": "B",
            "current_energy_efficiency": 74,
            "potential_energy_efficiency": 84,
            "property_type": "House",
            "built_form": "Detached",
            "inspection_date": "2017-08-15",
            "lodgement_date": "2017-08-15",
            "transaction_type": "marketed sale",
            "environment_impact_current": 66,
            "environment_impact_potential": 80,
            "energy_consumption_current": 165,
            "energy_consumption_potential": 96,
            "co2_emissions_current": 5.6,
            "co2_emiss_curr_per_floor_area": 30,
            "co2_emissions_potential": 3.3,
            "lighting_cost_current": 156,
            "lighting_cost_potential": 92,
            "heating_cost_current": 1015,
            "heating_cost_potential": 769,
            "hot_water_cost_current": 226,
            "hot_water_cost_potential": 80,
            "total_floor_area": 186,
            "energy_tariff": "Single",
            "mains_gas_flag": "Y",
            "main_heating_controls": "2104",
            "multi_glaze_proportion": 90,
            "glazed_type": "double glazing installed before 2002",
            "glazed_area": "Normal",
            "extension_count": "1",
            "number_habitable_rooms": 7,
            "number_heated_rooms": 7,
            "low_energy_lighting": 30,
            "number_open_fireplaces": 0,
            "hotwater_description": "From main system",
            "hot_water_energy_eff": "Good",
            "hot_water_env_eff": "Good",
            "floor_description": "Solid, no insulation (assumed)",
            "windows_description": "Mostly double glazing",
            "windows_energy_eff": "Average",
            "windows_env_eff": "Average",
            "walls_description": "Cavity wall, filled cavity",
            "walls_energy_eff": "Good",
            "walls_env_eff": "Good",
            "secondheat_description": "Room heaters, dual fuel (mineral and wood)",
            "roof_description": "Pitched, 270 mm loft insulation",
            "roof_energy_eff": "Good",
            "roof_env_eff": "Good",
            "mainheat_description": "Boiler and radiators, mains gas",
            "mainheat_energy_eff": "Good",
            "mainheat_env_eff": "Good",
            "mainheatcont_description": "Programmer and room thermostat",
            "mainheatc_energy_eff": "Average",
            "mainheatc_env_eff": "Average",
            "lighting_description": "Low energy lighting in 30% of fixed outlets",
            "lighting_energy_eff": "Average",
            "lighting_env_eff": "Average",
            "main_fuel": "mains gas (not community)",
            "wind_turbine_count": 0,
            "solar_water_heating_flag": "N",
            "mechanical_ventilation": "natural",
            "address": "6, Ashmeade, Hale Barns",
            "local_authority_label": "Trafford",
            "constituency_label": "Altrincham and Sale West",
            "construction_age_band": "England and Wales: 1983-1990",
            "lodgement_datetime": "2017-08-15T19:03:44+00:00",
            "tenure": "owner-occupied"
        },
        "recommendations": [
            {
                "item_text": "Solid floor insulation",
                "indicative_cost": [
                    4000,
                    6000
                ]
            },
            {
                "item_text": "Increase hot water cylinder insulation",
                "indicative_cost": [
                    15,
                    30
                ]
            },
            {
                "item_text": "Low energy lighting for all fixed outlets",
                "indicative_cost": [
                    70
                ]
            },
            {
                "item_text": "Upgrading heating controls",
                "indicative_cost": [
                    350,
                    450
                ]
            },
            {
                "item_text": "Replace boiler with new condensing boiler",
                "indicative_cost": [
                    2200,
                    3000
                ]
            },
            {
                "item_text": "Solar water heating",
                "indicative_cost": [
                    4000,
                    6000
                ]
            },
            {
                "item_text": "Replacement glazing units",
                "indicative_cost": [
                    1000,
                    1400
                ]
            }
        ]
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (400, Invalid Identifier token):


{
    "status": 400,
    "message": "Bad Request",
    "code": 101000,
    "description": "The identity token was invalid, must be in the form of geoplace:uprn:1234, kamma:address:123+Street or kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Address resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 201001,
    "description": "The address resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, EPC resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 203001,
    "description": "The EPC resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

GET api/properties/epc-check/{identifier}

URL Parameters

identifier  string  

IdentifierToken token, for example: geoplace:uprn:123456789123, kamma:address:123+Fake+Street, kamma:property:ea357bde17331f4217bd7898c50175fa

Response

Response Fields

response_id  string  

The unique id of API request

result  object  

The EPC object. For full description see EPC Schema.

result.certificate  object  

The EPC certificate

result.recommendations  object[]  

The EPC recommendations

Licensing Checker Methods

Current Identifier Licensing Status

requires authentication

When requested with a valid token, this resource returns licences for the property associated with the token.

Example request:
curl --request GET \
    --get "https://kamma.api.kammadata.com/api/properties/licensing-check/geoplace:uprn:123456789123" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/licensing-check/geoplace:uprn:123456789123"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://kamma.api.kammadata.com/api/properties/licensing-check/geoplace:uprn:123456789123',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/licensing-check/geoplace:uprn:123456789123'
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200, Success):


{
    "result": {
        "current": {
            "hmo": true
        },
        "historic": {
            "hmo": true
        },
        "licences": [
            {
                "type": "additional",
                "address": "52, Crown Street, London, WC1E 6JP",
                "licencee": "Mr John Smith",
                "people": 0,
                "households": 0,
                "status": "approved",
                "date_start": "2018-05-09",
                "date_end": "2023-05-09"
            },
            {
                "type": "additional",
                "address": "52, Crown Street, London, WC1E 6JP",
                "licencee": "Mr John Smith",
                "people": 5,
                "households": 5,
                "status": "approved",
                "date_start": "2018-05-09",
                "date_end": "2023-05-09"
            }
        ]
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (400, Invalid PropertyToken token):


{
    "status": 400,
    "message": "Bad Request",
    "code": 101000,
    "description": "The identity token was invalid, must be in the form of geoplace:uprn:1234, kamma:address:123+Street or kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 102000,
    "description": "The api resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

GET api/properties/licensing-check/{identifier}

URL Parameters

identifier  string  

IdentifierToken token, for example geoplace:uprn:123456789123, kamma:address:123+Fake+Street, kamma:property:ea357bde17331f4217bd7898c50175fa

Response

Response Fields

response_id  string  

The unique id of api request

result  object  

The licensing object. For full description see Licensing Schema.

result.current  object  

Whether the property currently has an active licence

result.historic  object  

Whether the property has ever had a licence

result.licences    

The previous licences found related to this property

Property Methods

Property Check

requires authentication

When requested with a valid token, this resource returns the current property details and the compliance status for the property associated with the token.

Example request:
curl --request GET \
    --get "https://kamma.api.kammadata.com/api/properties/property-check/kamma:property:ea357bde17331f4217bd7898c50175fa" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/property-check/kamma:property:ea357bde17331f4217bd7898c50175fa"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://kamma.api.kammadata.com/api/properties/property-check/kamma:property:ea357bde17331f4217bd7898c50175fa',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/property-check/kamma:property:ea357bde17331f4217bd7898c50175fa'
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Example response (200, Success):


{
    "result": {
        "id": "kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0",
        "external_reference": "TEST_123",
        "address": "1 Tuscan Road, Greenwich, London, SE18 1SY, SE18 1SY",
        "postcode": "SE18 1SY",
        "council": "Greenwich",
        "council_websites": [
            "https://www.royalgreenwich.gov.uk",
            "https://committees.royalgreenwich.gov.uk"
        ],
        "advice_text_current": "Licensing is currently required.",
        "advice_text_future": "Licensing will be required for a scheme or direction that starts in the future.",
        "requires": {
            "current": {
                "mandatory": false,
                "additional": true,
                "selective": false,
                "article4": true
            },
            "future": {
                "mandatory": false,
                "additional": false,
                "selective": true,
                "article4": false
            },
            "future_start_date": {
                "mandatory": null,
                "additional": null,
                "selective": "2022-10-01T00:00:00.000Z",
                "article4": null
            }
        },
        "approved_scheme": {
            "id": null,
            "type": null,
            "date_start": null,
            "date_end": null
        },
        "metadata": {
            "people": 3,
            "households": 2,
            "storeys": {
                "external": null,
                "internal": null
            },
            "rooms": null,
            "above_commercial": null,
            "property_category": null,
            "property_class": "unknown",
            "notes": ""
        },
        "analysis": [
            "Additional scheme requirements met",
            "Selective Scheme upcoming",
            "Use Class: C4"
        ],
        "actions": [
            "This selective scheme is due to start, early bird discounts for applications may apply.",
            "Apply for Additional licence",
            "Planning permission required"
        ],
        "regulations": [
            {
                "id": 126,
                "type": "mandatory",
                "confidence": 100,
                "date_start": "2006-04-01T00:00:00.000Z",
                "date_end": null,
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence",
                "consultation": 0
            },
            {
                "id": 127,
                "type": "additional",
                "confidence": 100,
                "date_start": "2017-10-01T00:00:00.000Z",
                "date_end": "2022-09-30T23:59:59.000Z",
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence",
                "consultation": 0
            },
            {
                "id": 806,
                "type": "selective",
                "confidence": 100,
                "date_start": "2022-10-01T00:00:00.000Z",
                "date_end": "2027-09-30T23:59:59.000Z",
                "link": "https://committees.royalgreenwich.gov.uk/CalendarofMeetings/tabid/70/ctl/ViewMeetingPublic/mid/397/Meeting/2320/Committee/72/SelectedTab/Documents/Default.aspx",
                "consultation": 0
            },
            {
                "id": 10,
                "type": "article4",
                "confidence": null,
                "date_start": "2018-10-01T00:00:00.000Z",
                "date_end": null,
                "link": "https://www.royalgreenwich.gov.uk/info/200191/planning_policy_and_strategy/1793/article_4_direction_areas/2",
                "consultation": 0
            }
        ],
        "licence_application": {
            "status": null,
            "application": {
                "type": null,
                "date_start": null,
                "date_end": null,
                "max_people": null,
                "max_households": null,
                "reference": null
            }
        },
        "planning_application": {
            "status": null,
            "application": {
                "type": null
            }
        }
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "409228f9-1583-4993-8efe-25a073ba757d"
}
 

Example response (400, Invalid PropertyToken token):


{
    "status": 400,
    "message": "Bad Request",
    "code": 101000,
    "description": "The identity token was invalid, must be in the form of kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Property resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 205001,
    "description": "The property resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

GET api/properties/property-check/{identifier}

URL Parameters

identifier  string  

IdentifierToken token in the form of kamma:property:ea357bde17331f4217bd7898c50175fa

Response

Response Fields

response_id  string  

The unique id of api request

result  object  

The success state. For full description see Identifier Schema.

result.id  string  

The property unique identifier

result.external_reference  string  

The external property reference

result.address  string  

The property address

result.postcode  string  

The property postcode

result.council  string  

The property council

result.council_websites  string[]  

List of council websites

result.active_text_current  string  

Advice text that states if a licence is currently required

result.active_text_future  string  

Advice text that states if a licence will be required

result.requires  object  

Current and future requirements

result.approved_scheme  object  

Approved scheme details

result.metadata  object  

Additional information about property

result.analysis  string[]  

Analysis

result.actions  string[]  

Actions

result.regulations  object[]  

Regulations

result.licence_application  object  

Licence application

result.planning_application  object  

Planning application

Property Create

requires authentication

When a request is made with a valid payload the property is created within the KammaData system.

Example request:
curl --request POST \
    "https://kamma.api.kammadata.com/api/properties/create" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"address\": \"52 Crown Street, London, WC1E 6JP\",
    \"postcode\": \"WC1E 6JP\",
    \"external_reference\": \"ref-12345\",
    \"people\": 5,
    \"households\": 3,
    \"storeys_internal\": 2,
    \"storeys_external\": 2,
    \"above_commercial\": 1,
    \"rooms\": 3,
    \"rent\": 360000,
    \"property_category\": \"single\",
    \"property_class\": \"flat\",
    \"notes\": \"laudantium\",
    \"licence_status\": \"inprogress\",
    \"licence_type\": \"mandatory\",
    \"licence_date_start\": \"2020-01-25\",
    \"licence_date_end\": \"2025-01-25\",
    \"licence_max_people\": 5,
    \"licence_max_households\": 11,
    \"licence_reference\": \"ref-12345\",
    \"planning_status\": \"inprogress\",
    \"planning_reference\": \"ref-12345\"
}"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/create"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "address": "52 Crown Street, London, WC1E 6JP",
    "postcode": "WC1E 6JP",
    "external_reference": "ref-12345",
    "people": 5,
    "households": 3,
    "storeys_internal": 2,
    "storeys_external": 2,
    "above_commercial": 1,
    "rooms": 3,
    "rent": 360000,
    "property_category": "single",
    "property_class": "flat",
    "notes": "laudantium",
    "licence_status": "inprogress",
    "licence_type": "mandatory",
    "licence_date_start": "2020-01-25",
    "licence_date_end": "2025-01-25",
    "licence_max_people": 5,
    "licence_max_households": 11,
    "licence_reference": "ref-12345",
    "planning_status": "inprogress",
    "planning_reference": "ref-12345"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://kamma.api.kammadata.com/api/properties/create',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'address' => '52 Crown Street, London, WC1E 6JP',
            'postcode' => 'WC1E 6JP',
            'external_reference' => 'ref-12345',
            'people' => 5,
            'households' => 3,
            'storeys_internal' => 2,
            'storeys_external' => 2,
            'above_commercial' => 1,
            'rooms' => 3,
            'rent' => 360000,
            'property_category' => 'single',
            'property_class' => 'flat',
            'notes' => 'laudantium',
            'licence_status' => 'inprogress',
            'licence_type' => 'mandatory',
            'licence_date_start' => '2020-01-25',
            'licence_date_end' => '2025-01-25',
            'licence_max_people' => 5,
            'licence_max_households' => 11,
            'licence_reference' => 'ref-12345',
            'planning_status' => 'inprogress',
            'planning_reference' => 'ref-12345',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/create'
payload = {
    "address": "52 Crown Street, London, WC1E 6JP",
    "postcode": "WC1E 6JP",
    "external_reference": "ref-12345",
    "people": 5,
    "households": 3,
    "storeys_internal": 2,
    "storeys_external": 2,
    "above_commercial": 1,
    "rooms": 3,
    "rent": 360000,
    "property_category": "single",
    "property_class": "flat",
    "notes": "laudantium",
    "licence_status": "inprogress",
    "licence_type": "mandatory",
    "licence_date_start": "2020-01-25",
    "licence_date_end": "2025-01-25",
    "licence_max_people": 5,
    "licence_max_households": 11,
    "licence_reference": "ref-12345",
    "planning_status": "inprogress",
    "planning_reference": "ref-12345"
}
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, Success):


{
    "result": {
        "id": "kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0",
        "external_reference": "TEST_123",
        "address": "1 Tuscan Road, Greenwich, London, SE18 1SY, SE18 1SY",
        "postcode": "SE18 1SY",
        "council": "Greenwich",
        "council_websites": [
            "https://www.royalgreenwich.gov.uk",
            "https://committees.royalgreenwich.gov.uk"
        ],
        "advice_text_current": "Licensing is currently required.",
        "advice_text_future": "Licensing will be required for a scheme or direction that starts in the future.",
        "requires": {
            "current": {
                "mandatory": false,
                "additional": true,
                "selective": false,
                "article4": true
            },
            "future": {
                "mandatory": false,
                "additional": false,
                "selective": true,
                "article4": false
            },
            "future_start_date": {
                "mandatory": null,
                "additional": null,
                "selective": "2022-10-01T00:00:00.000Z",
                "article4": null
            }
        },
        "approved_scheme": {
            "id": null,
            "type": null,
            "date_start": null,
            "date_end": null
        },
        "metadata": {
            "people": 3,
            "households": 2,
            "storeys": {
                "external": null,
                "internal": null
            },
            "rooms": null,
            "above_commercial": null,
            "property_category": null,
            "property_class": "unknown",
            "notes": ""
        },
        "analysis": [
            "Additional scheme requirements met",
            "Selective Scheme upcoming",
            "Use Class: C4"
        ],
        "actions": [
            "This selective scheme is due to start, early bird discounts for applications may apply.",
            "Apply for Additional licence",
            "Planning permission required"
        ],
        "regulations": [
            {
                "id": 126,
                "type": "mandatory",
                "confidence": 100,
                "date_start": "2006-04-01T00:00:00.000Z",
                "date_end": null,
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence",
                "consultation": 0
            },
            {
                "id": 127,
                "type": "additional",
                "confidence": 100,
                "date_start": "2017-10-01T00:00:00.000Z",
                "date_end": "2022-09-30T23:59:59.000Z",
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence",
                "consultation": 0
            },
            {
                "id": 806,
                "type": "selective",
                "confidence": 100,
                "date_start": "2022-10-01T00:00:00.000Z",
                "date_end": "2027-09-30T23:59:59.000Z",
                "link": "https://committees.royalgreenwich.gov.uk/CalendarofMeetings/tabid/70/ctl/ViewMeetingPublic/mid/397/Meeting/2320/Committee/72/SelectedTab/Documents/Default.aspx",
                "consultation": 0
            },
            {
                "id": 10,
                "type": "article4",
                "confidence": null,
                "date_start": "2018-10-01T00:00:00.000Z",
                "date_end": null,
                "link": "https://www.royalgreenwich.gov.uk/info/200191/planning_policy_and_strategy/1793/article_4_direction_areas/2",
                "consultation": 0
            }
        ],
        "licence_application": {
            "status": null,
            "application": {
                "type": null,
                "date_start": null,
                "date_end": null,
                "max_people": null,
                "max_households": null,
                "reference": null
            }
        },
        "planning_application": {
            "status": null,
            "application": {
                "type": null
            }
        }
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "409228f9-1583-4993-8efe-25a073ba757d"
}
 

Example response (400, Request body validation failed):


{
    "status": 400,
    "message": "Bad Request",
    "code": 103000,
    "description": "Validation error: The address field is required.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

POST api/properties/create

Body Parameters

address  string  

Property address.

postcode  string  

Property postal code.

external_reference  string optional  

Your own external reference.

people  integer optional  

Number of people living in the property.

households  integer optional  

Number of households living in the property.

storeys_internal  integer optional  

Number of internal storeys of the building, e.g. a flat above a shop = 2 storeys.

storeys_external  integer optional  

Number of external storeys of the building, e.g. a flat above a shop = 2 storeys.

above_commercial  integer optional  

Is the property above commercial premises?. Must be one of 0 or 1.

rooms  integer optional  

Number of bedrooms in the property.

rent  integer optional  

Amount of rent paid, weekly in pence.

property_category  string optional  

This is the category of the property under the Housing Act 2004. In most cases this field can be left as null. Must be one of single, s254, s257, or licenseable.

property_class  string optional  

Knowing the type of property will allow us to assess compliance in terms of residential planning permission required across the UK. Must be one of house or flat.

notes  string optional  

licence_status  string optional  

Must be one of applied, inprogress, or requested.

licence_type  string optional  

This is the result of the Kamma platform's assessment. Must be one of unknown, mandatory, additional, selective, or none.

licence_date_start  string optional  

Licence start date. Must be a valid date in the format Y-m-d.

licence_date_end  string optional  

Licence end date. Must be a valid date in the format Y-m-d.

licence_max_people  integer optional  

Both Mandatory and Additional licensing will impose a limit on the number of occupants.

licence_max_households  integer optional  

licence_reference  string optional  

Optional; licence reference issued by the Local Authority.

planning_status  string optional  

Must be one of applied, inprogress, or requested.

planning_reference  string optional  

Response

Response Fields

response_id  string  

The unique id of api request

result  object  

The success state. For full description see Identifier Schema.

result.id  string  

The property unique identifier

result.external_reference  string  

The external property reference

result.address  string  

The property address

result.postcode  string  

The property postcode

result.council  string  

The property council

result.council_websites  string[]  

List of council websites

result.active_text  string  

Advice text

result.requires  object  

Current and future requirements

result.approved_scheme  object  

Approved scheme details

result.metadata  object  

Additional information about property

result.analysis  string[]  

Analysis

result.actions  string[]  

Actions

result.regulations  object[]  

Regulations

result.licence_application  object  

Licence application

result.planning_application  object  

Planning application

Property Sync

requires authentication

When requested with a valid token and payload, the property associated with the token is updated in the KammaData system.

Example request:
curl --request PUT \
    "https://kamma.api.kammadata.com/api/properties/sync/kamma:property:ea357bde17331f4217bd7898c50175fa" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"address\": \"52 Crown Street, London, WC1E 6JP\",
    \"postcode\": \"WC1E 6JP\",
    \"external_reference\": \"ref-12345\",
    \"people\": 5,
    \"households\": 3,
    \"storeys_internal\": 2,
    \"storeys_external\": 2,
    \"above_commercial\": 1,
    \"rooms\": 3,
    \"rent\": 360000,
    \"property_category\": \"licenseable\",
    \"property_class\": \"house\",
    \"notes\": \"numquam\",
    \"licence_status\": \"inprogress\",
    \"licence_type\": \"additional\",
    \"licence_date_start\": \"2020-01-25\",
    \"licence_date_end\": \"2025-01-25\",
    \"licence_max_people\": 5,
    \"licence_max_households\": 13,
    \"licence_reference\": \"ref-12345\",
    \"planning_status\": \"applied\",
    \"planning_reference\": \"ref-12345\"
}"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/sync/kamma:property:ea357bde17331f4217bd7898c50175fa"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "address": "52 Crown Street, London, WC1E 6JP",
    "postcode": "WC1E 6JP",
    "external_reference": "ref-12345",
    "people": 5,
    "households": 3,
    "storeys_internal": 2,
    "storeys_external": 2,
    "above_commercial": 1,
    "rooms": 3,
    "rent": 360000,
    "property_category": "licenseable",
    "property_class": "house",
    "notes": "numquam",
    "licence_status": "inprogress",
    "licence_type": "additional",
    "licence_date_start": "2020-01-25",
    "licence_date_end": "2025-01-25",
    "licence_max_people": 5,
    "licence_max_households": 13,
    "licence_reference": "ref-12345",
    "planning_status": "applied",
    "planning_reference": "ref-12345"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://kamma.api.kammadata.com/api/properties/sync/kamma:property:ea357bde17331f4217bd7898c50175fa',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'address' => '52 Crown Street, London, WC1E 6JP',
            'postcode' => 'WC1E 6JP',
            'external_reference' => 'ref-12345',
            'people' => 5,
            'households' => 3,
            'storeys_internal' => 2,
            'storeys_external' => 2,
            'above_commercial' => 1,
            'rooms' => 3,
            'rent' => 360000,
            'property_category' => 'licenseable',
            'property_class' => 'house',
            'notes' => 'numquam',
            'licence_status' => 'inprogress',
            'licence_type' => 'additional',
            'licence_date_start' => '2020-01-25',
            'licence_date_end' => '2025-01-25',
            'licence_max_people' => 5,
            'licence_max_households' => 13,
            'licence_reference' => 'ref-12345',
            'planning_status' => 'applied',
            'planning_reference' => 'ref-12345',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/sync/kamma:property:ea357bde17331f4217bd7898c50175fa'
payload = {
    "address": "52 Crown Street, London, WC1E 6JP",
    "postcode": "WC1E 6JP",
    "external_reference": "ref-12345",
    "people": 5,
    "households": 3,
    "storeys_internal": 2,
    "storeys_external": 2,
    "above_commercial": 1,
    "rooms": 3,
    "rent": 360000,
    "property_category": "licenseable",
    "property_class": "house",
    "notes": "numquam",
    "licence_status": "inprogress",
    "licence_type": "additional",
    "licence_date_start": "2020-01-25",
    "licence_date_end": "2025-01-25",
    "licence_max_people": 5,
    "licence_max_households": 13,
    "licence_reference": "ref-12345",
    "planning_status": "applied",
    "planning_reference": "ref-12345"
}
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Example response (200, Success):


{
    "result": {
        "id": "kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0",
        "external_reference": "TEST_123",
        "address": "1 Tuscan Road, Greenwich, London, SE18 1SY, SE18 1SY",
        "postcode": "SE18 1SY",
        "council": "Greenwich",
        "council_websites": [
            "https://www.royalgreenwich.gov.uk",
            "https://committees.royalgreenwich.gov.uk"
        ],
        "advice_text_current": "Licensing is currently required.",
        "advice_text_future": "Licensing will be required for a scheme or direction that starts in the future.",
        "requires": {
            "current": {
                "mandatory": false,
                "additional": true,
                "selective": false,
                "article4": true
            },
            "future": {
                "mandatory": false,
                "additional": false,
                "selective": true,
                "article4": false
            },
            "future_start_date": {
                "mandatory": null,
                "additional": null,
                "selective": "2022-10-01T00:00:00.000Z",
                "article4": null
            }
        },
        "approved_scheme": {
            "id": null,
            "type": null,
            "date_start": null,
            "date_end": null
        },
        "metadata": {
            "people": 3,
            "households": 2,
            "storeys": {
                "external": null,
                "internal": null
            },
            "rooms": null,
            "above_commercial": null,
            "property_category": null,
            "property_class": "unknown",
            "notes": ""
        },
        "analysis": [
            "Additional scheme requirements met",
            "Selective Scheme upcoming",
            "Use Class: C4"
        ],
        "actions": [
            "This selective scheme is due to start, early bird discounts for applications may apply.",
            "Apply for Additional licence",
            "Planning permission required"
        ],
        "regulations": [
            {
                "id": 126,
                "type": "mandatory",
                "confidence": 100,
                "date_start": "2006-04-01T00:00:00.000Z",
                "date_end": null,
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence",
                "consultation": 0
            },
            {
                "id": 127,
                "type": "additional",
                "confidence": 100,
                "date_start": "2017-10-01T00:00:00.000Z",
                "date_end": "2022-09-30T23:59:59.000Z",
                "link": "https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence",
                "consultation": 0
            },
            {
                "id": 806,
                "type": "selective",
                "confidence": 100,
                "date_start": "2022-10-01T00:00:00.000Z",
                "date_end": "2027-09-30T23:59:59.000Z",
                "link": "https://committees.royalgreenwich.gov.uk/CalendarofMeetings/tabid/70/ctl/ViewMeetingPublic/mid/397/Meeting/2320/Committee/72/SelectedTab/Documents/Default.aspx",
                "consultation": 0
            },
            {
                "id": 10,
                "type": "article4",
                "confidence": null,
                "date_start": "2018-10-01T00:00:00.000Z",
                "date_end": null,
                "link": "https://www.royalgreenwich.gov.uk/info/200191/planning_policy_and_strategy/1793/article_4_direction_areas/2",
                "consultation": 0
            }
        ],
        "licence_application": {
            "status": null,
            "application": {
                "type": null,
                "date_start": null,
                "date_end": null,
                "max_people": null,
                "max_households": null,
                "reference": null
            }
        },
        "planning_application": {
            "status": null,
            "application": {
                "type": null
            }
        }
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "409228f9-1583-4993-8efe-25a073ba757d"
}
 

Example response (400, Invalid PropertyToken token):


{
    "status": 400,
    "message": "Bad Request",
    "code": 101000,
    "description": "The identity token was invalid, must be in the form of kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (400, Request body validation failed):


{
    "status": 400,
    "message": "Bad Request",
    "code": 103000,
    "description": "Validation error: The address field is required.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Property resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 205001,
    "description": "The property resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

PUT api/properties/sync/{identifier}

URL Parameters

identifier  string  

IdentifierToken token in the form of kamma:property:ea357bde17331f4217bd7898c50175fa

Body Parameters

address  string  

Property address.

postcode  string  

Property postal code.

external_reference  string optional  

Your own external reference.

people  integer optional  

Number of people living in the property.

households  integer optional  

Number of households living in the property.

storeys_internal  integer optional  

Number of internal storeys of the building, e.g. a flat above a shop = 2 storeys.

storeys_external  integer optional  

Number of external storeys of the building, e.g. a flat above a shop = 2 storeys.

above_commercial  integer optional  

Is the property above commercial premises?. Must be one of 0 or 1.

rooms  integer optional  

Number of bedrooms in the property.

rent  integer optional  

Amount of rent paid, weekly in pence.

property_category  string optional  

This is the category of the property under the Housing Act 2004. In most cases this field can be left as null. Must be one of single, s254, s257, or licenseable.

property_class  string optional  

Knowing the type of property will allow us to assess compliance in terms of residential planning permission required across the UK. Must be one of house or flat.

notes  string optional  

licence_status  string optional  

Must be one of applied, inprogress, or requested.

licence_type  string optional  

This is the result of the Kamma platform's assessment. Must be one of unknown, mandatory, additional, selective, or none.

licence_date_start  string optional  

Licence start date. Must be a valid date in the format Y-m-d.

licence_date_end  string optional  

Licence end date. Must be a valid date in the format Y-m-d.

licence_max_people  integer optional  

Both Mandatory and Additional licensing will impose a limit on the number of occupants.

licence_max_households  integer optional  

licence_reference  string optional  

Optional; licence reference issued by the Local Authority.

planning_status  string optional  

Must be one of applied, inprogress, or requested.

planning_reference  string optional  

Response

Response Fields

response_id  string  

The unique id of api request

result  object  

The success state. For full description see Identifier Schema.

result.id  string  

The property unique identifier

result.external_reference  string  

The external property reference

result.address  string  

The property address

result.postcode  string  

The property postcode

result.council  string  

The property council

result.council_websites  string[]  

List of council websites

result.active_text  string  

Advice text

result.requires  object  

Current and future requirements

result.approved_scheme  object  

Approved scheme details

result.metadata  object  

Additional information about property

result.analysis  string[]  

Analysis

result.actions  string[]  

Actions

result.regulations  object[]  

Regulations

result.licence_application  object  

Licence application

result.planning_application  object  

Planning application

Property Archive

requires authentication

When requested with a valid token, the property associated with the token is deleted from the KammaData system

Example request:
curl --request DELETE \
    "https://kamma.api.kammadata.com/api/properties/archive/kamma:property:ea357bde17331f4217bd7898c50175fa" \
    --header "X-SSO-API-Key: {YOUR_SSO_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://kamma.api.kammadata.com/api/properties/archive/kamma:property:ea357bde17331f4217bd7898c50175fa"
);

const headers = {
    "X-SSO-API-Key": "{YOUR_SSO_API_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://kamma.api.kammadata.com/api/properties/archive/kamma:property:ea357bde17331f4217bd7898c50175fa',
    [
        'headers' => [
            'X-SSO-API-Key' => '{YOUR_SSO_API_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://kamma.api.kammadata.com/api/properties/archive/kamma:property:ea357bde17331f4217bd7898c50175fa'
headers = {
  'X-SSO-API-Key': '{YOUR_SSO_API_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

Example response (200, Success):


{
    "result": {
        "id": "kamma:property:ea357bde17331f4217bd7898c50175fa",
        "success": true
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (400, Invalid PropertyToken token):


{
    "status": 400,
    "message": "Bad Request",
    "code": 101000,
    "description": "The identity token was invalid, must be in the form of kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (404, Property resource not found):


{
    "status": 404,
    "message": "Not Found",
    "code": 205001,
    "description": "The property resource was not found",
    "response_id": "1234-1234-1234-1234-1234"
}
 

Example response (500, System error):


{
    "status": 500,
    "message": "Internal Server error",
    "code": 201002,
    "description": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
 

Request   

DELETE api/properties/archive/{identifier}

URL Parameters

identifier  string  

IdentifierToken token in the form of kamma:property:ea357bde17331f4217bd7898c50175fa

Response

Response Fields

response_id  string  

The unique id of api request

result  object  

The success state

result.id  string  

The property unique identifier

result.success  boolean  

Success state of the archive request

Schemas

Determination Schema

EPC Schema

Licensing Schema

Property Schema