openapi: 3.0.3 info: title: KammaAPIv2 description: '' version: 1.0.0 servers: - url: 'https://kamma.api.kammadata.com' paths: '/api/properties/determination-check/{identifier}': get: summary: 'When requested with a valid token, active schemes from the authority where the property is located are returned.' description: 'Returns the current licensing determination at this address, which includes the planning and licensing schemes or consultations which apply to the address' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: 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 properties: result: type: object example: 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' description: 'Determination result. For full description see [Determination Schema](/docs/index.html#determination-schema).' status: type: object example: code: 200 message: OK response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of this API request' 400: description: 'Invalid PropertyToken token' content: application/json: schema: type: object example: 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 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 101000 description: type: string example: '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: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of this API request' 404: description: 'Licence determination resource not found' content: application/json: schema: type: object example: status: 404 message: 'Not Found' code: 202001 description: 'The licence determination resource was not found' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 404 message: type: string example: 'Not Found' code: type: integer example: 202001 description: type: string example: 'The licence determination resource was not found' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of this API request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'Determination Checker Methods' parameters: - in: path name: identifier description: '[IdentifierToken](/docs/index.html#identifier-tokens) token, for example `geoplace:uprn:123456789123`, `kamma:address:123+Fake+Street`, `kamma:property:ea357bde17331f4217bd7898c50175fa`' example: 'geoplace:uprn:123456789123' required: true schema: type: string '/api/properties/epc-check/{identifier}': get: summary: 'Current Identifier EPC Status' description: 'When requested with a valid token, this resource returns the current EPC data for the property associated with the token.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: 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 properties: result: type: object example: 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 description: 'The EPC object. For full description see [EPC Schema](/docs/index.html#epc-schema).' status: type: object example: code: 200 message: OK response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of API request' 400: description: 'Invalid Identifier token' content: application/json: schema: type: object example: 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 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 101000 description: type: string example: '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: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of API request' 404: description: 'EPC resource not found' content: application/json: schema: type: object example: status: 404 message: 'Not Found' code: 203001 description: 'The EPC resource was not found' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 404 message: type: string example: 'Not Found' code: type: integer example: 203001 description: type: string example: 'The EPC resource was not found' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of API request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'EPC Checker Methods' parameters: - in: path name: identifier description: '[IdentifierToken](/docs/index.html#identifier-tokens) token, for example: `geoplace:uprn:123456789123`, `kamma:address:123+Fake+Street`, `kamma:property:ea357bde17331f4217bd7898c50175fa`' example: 'geoplace:uprn:123456789123' required: true schema: type: string '/api/properties/licensing-check/{identifier}': get: summary: 'Current Identifier Licensing Status' description: 'When requested with a valid token, this resource returns licences for the property associated with the token.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: 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 properties: result: type: object example: 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' description: 'The licensing object. For full description see [Licensing Schema](/docs/index.html#licensing-schema).' status: type: object example: code: 200 message: OK response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 400: description: 'Invalid PropertyToken token' content: application/json: schema: type: object example: 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 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 101000 description: type: string example: '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: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 404: description: 'Resource not found' content: application/json: schema: type: object example: status: 404 message: 'Not Found' code: 102000 description: 'The api resource was not found' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 404 message: type: string example: 'Not Found' code: type: integer example: 102000 description: type: string example: 'The api resource was not found' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'Licensing Checker Methods' parameters: - in: path name: identifier description: '[IdentifierToken](/docs/index.html#identifier-tokens) token, for example `geoplace:uprn:123456789123`, `kamma:address:123+Fake+Street`, `kamma:property:ea357bde17331f4217bd7898c50175fa`' example: 'geoplace:uprn:123456789123' required: true schema: type: string '/api/properties/property-check/{identifier}': get: summary: 'Property Check' description: 'When requested with a valid token, this resource returns the current property details and the compliance status for the property associated with the token.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: 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 properties: result: type: object example: 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 description: 'The success state. For full description see [Identifier Schema](/docs/index.html#property-schema).' status: type: object example: code: 200 message: OK response_id: type: string example: 409228f9-1583-4993-8efe-25a073ba757d description: 'The unique id of api request' 400: description: 'Invalid PropertyToken token' content: application/json: schema: type: object example: 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 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 101000 description: type: string example: 'The identity token was invalid, must be in the form of kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 404: description: 'Property resource not found' content: application/json: schema: type: object example: status: 404 message: 'Not Found' code: 205001 description: 'The property resource was not found' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 404 message: type: string example: 'Not Found' code: type: integer example: 205001 description: type: string example: 'The property resource was not found' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'Property Methods' parameters: - in: path name: identifier description: '[IdentifierToken](/docs/index.html#identifier-tokens) token in the form of kamma:property:ea357bde17331f4217bd7898c50175fa' example: 'kamma:property:ea357bde17331f4217bd7898c50175fa' required: true schema: type: string /api/properties/create: post: summary: 'Property Create' description: 'When a request is made with a valid payload the property is created within the KammaData system.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: 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 properties: result: type: object example: 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 description: 'The success state. For full description see [Identifier Schema](/docs/index.html#property-schema).' status: type: object example: code: 200 message: OK response_id: type: string example: 409228f9-1583-4993-8efe-25a073ba757d description: 'The unique id of api request' 400: description: 'Request body validation failed' content: application/json: schema: type: object example: status: 400 message: 'Bad Request' code: 103000 description: 'Validation error: The address field is required.' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 103000 description: type: string example: 'Validation error: The address field is required.' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'Property Methods' requestBody: required: true content: application/json: schema: type: object properties: address: type: string description: 'Property address.' example: '52 Crown Street, London, WC1E 6JP' postcode: type: string description: 'Property postal code.' example: 'WC1E 6JP' external_reference: type: string description: 'Your own external reference.' example: ref-12345 people: type: integer description: 'Number of people living in the property.' example: 5 households: type: integer description: 'Number of households living in the property.' example: 3 storeys_internal: type: integer description: 'Number of internal storeys of the building, e.g. a flat above a shop = 2 storeys.' example: 2 storeys_external: type: integer description: 'Number of external storeys of the building, e.g. a flat above a shop = 2 storeys.' example: 2 above_commercial: type: integer description: 'Is the property above commercial premises?. Must be one of 0 or 1.' example: 1 rooms: type: integer description: 'Number of bedrooms in the property.' example: 3 rent: type: integer description: 'Amount of rent paid, weekly in pence.' example: 360000 property_category: type: string description: '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.' example: single property_class: type: string description: '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.' example: flat notes: type: string description: '' example: laudantium licence_status: type: string description: 'Must be one of applied, inprogress, or requested.' example: inprogress licence_type: type: string description: 'This is the result of the Kamma platform''s assessment. Must be one of unknown, mandatory, additional, selective, or none.' example: mandatory licence_date_start: type: string description: 'Licence start date. Must be a valid date in the format Y-m-d.' example: '2020-01-25' licence_date_end: type: string description: 'Licence end date. Must be a valid date in the format Y-m-d.' example: '2025-01-25' licence_max_people: type: integer description: 'Both Mandatory and Additional licensing will impose a limit on the number of occupants.' example: 5 licence_max_households: type: integer description: '' example: 11 licence_reference: type: string description: 'Optional; licence reference issued by the Local Authority.' example: ref-12345 planning_status: type: string description: 'Must be one of applied, inprogress, or requested.' example: inprogress planning_reference: type: string description: '' example: ref-12345 required: - address - postcode '/api/properties/sync/{identifier}': put: summary: 'Property Sync' description: 'When requested with a valid token and payload, the property associated with the token is updated in the KammaData system.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: 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 properties: result: type: object example: 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 description: 'The success state. For full description see [Identifier Schema](/docs/index.html#property-schema).' status: type: object example: code: 200 message: OK response_id: type: string example: 409228f9-1583-4993-8efe-25a073ba757d description: 'The unique id of api request' 400: description: 'Request body validation failed' content: application/json: schema: type: object example: status: 400 message: 'Bad Request' code: 103000 description: 'Validation error: The address field is required.' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 103000 description: type: string example: 'Validation error: The address field is required.' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 404: description: 'Property resource not found' content: application/json: schema: type: object example: status: 404 message: 'Not Found' code: 205001 description: 'The property resource was not found' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 404 message: type: string example: 'Not Found' code: type: integer example: 205001 description: type: string example: 'The property resource was not found' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'Property Methods' requestBody: required: true content: application/json: schema: type: object properties: address: type: string description: 'Property address.' example: '52 Crown Street, London, WC1E 6JP' postcode: type: string description: 'Property postal code.' example: 'WC1E 6JP' external_reference: type: string description: 'Your own external reference.' example: ref-12345 people: type: integer description: 'Number of people living in the property.' example: 5 households: type: integer description: 'Number of households living in the property.' example: 3 storeys_internal: type: integer description: 'Number of internal storeys of the building, e.g. a flat above a shop = 2 storeys.' example: 2 storeys_external: type: integer description: 'Number of external storeys of the building, e.g. a flat above a shop = 2 storeys.' example: 2 above_commercial: type: integer description: 'Is the property above commercial premises?. Must be one of 0 or 1.' example: 1 rooms: type: integer description: 'Number of bedrooms in the property.' example: 3 rent: type: integer description: 'Amount of rent paid, weekly in pence.' example: 360000 property_category: type: string description: '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.' example: licenseable property_class: type: string description: '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.' example: house notes: type: string description: '' example: numquam licence_status: type: string description: 'Must be one of applied, inprogress, or requested.' example: inprogress licence_type: type: string description: 'This is the result of the Kamma platform''s assessment. Must be one of unknown, mandatory, additional, selective, or none.' example: additional licence_date_start: type: string description: 'Licence start date. Must be a valid date in the format Y-m-d.' example: '2020-01-25' licence_date_end: type: string description: 'Licence end date. Must be a valid date in the format Y-m-d.' example: '2025-01-25' licence_max_people: type: integer description: 'Both Mandatory and Additional licensing will impose a limit on the number of occupants.' example: 5 licence_max_households: type: integer description: '' example: 13 licence_reference: type: string description: 'Optional; licence reference issued by the Local Authority.' example: ref-12345 planning_status: type: string description: 'Must be one of applied, inprogress, or requested.' example: applied planning_reference: type: string description: '' example: ref-12345 required: - address - postcode parameters: - in: path name: identifier description: '[IdentifierToken](/docs/index.html#identifier-tokens) token in the form of kamma:property:ea357bde17331f4217bd7898c50175fa' example: 'kamma:property:ea357bde17331f4217bd7898c50175fa' required: true schema: type: string '/api/properties/archive/{identifier}': delete: summary: 'Property Archive' description: 'When requested with a valid token, the property associated with the token is deleted from the KammaData system' parameters: - in: header name: X-SSO-API-Key description: '' example: '{YOUR_SSO_API_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: Success content: application/json: schema: type: object example: result: id: 'kamma:property:ea357bde17331f4217bd7898c50175fa' success: true status: code: 200 message: OK response_id: 1234-1234-1234-1234-1234 properties: result: type: object example: id: 'kamma:property:ea357bde17331f4217bd7898c50175fa' success: true description: 'The success state' status: type: object example: code: 200 message: OK response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 400: description: 'Invalid PropertyToken token' content: application/json: schema: type: object example: 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 properties: status: type: integer example: 400 message: type: string example: 'Bad Request' code: type: integer example: 101000 description: type: string example: 'The identity token was invalid, must be in the form of kamma:property:ea357bde17331f4217bd7898c50175fa. Please refer to docs for more information.' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 404: description: 'Property resource not found' content: application/json: schema: type: object example: status: 404 message: 'Not Found' code: 205001 description: 'The property resource was not found' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 404 message: type: string example: 'Not Found' code: type: integer example: 205001 description: type: string example: 'The property resource was not found' response_id: type: string example: 1234-1234-1234-1234-1234 description: 'The unique id of api request' 500: description: 'System error' content: application/json: schema: type: object example: status: 500 message: 'Internal Server error' code: 201002 description: 'The server encountered an unexpected condition that prevented it from fulfilling the request' properties: status: type: integer example: 500 message: type: string example: 'Internal Server error' code: type: integer example: 201002 description: type: string example: 'The server encountered an unexpected condition that prevented it from fulfilling the request' tags: - 'Property Methods' parameters: - in: path name: identifier description: '[IdentifierToken](/docs/index.html#identifier-tokens) token in the form of kamma:property:ea357bde17331f4217bd7898c50175fa' example: 'kamma:property:ea357bde17331f4217bd7898c50175fa' required: true schema: type: string tags: - name: 'Determination Checker Methods' description: '' - name: 'EPC Checker Methods' description: '' - name: 'Licensing Checker Methods' description: '' - name: 'Property Methods' description: '' components: securitySchemes: default: type: apiKey name: X-SSO-API-Key in: header description: '' security: - default: []