openapi: 3.0.3 info: title: KammaAPIv2 description: '' version: 1.0.0 servers: - url: 'https://kamma.api.kammadata.com' paths: '/api/properties/epc-check/{identifier}': get: summary: 'Current Identifier EPC Status' operationId: currentIdentifierEPCStatus description: 'The EPC Checker Methods return information on EPCs for the subject property.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{{KAMMA_SSO_API_KEY}}' 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 properties: certificate: type: object properties: uprn: type: integer example: 100011623123 address1: type: string example: '6, Ashmeade' address2: type: string example: 'Hale Barns' post_town: type: string example: ALTRINCHAM postcode: type: string example: 'WA15 0DB' building_reference_number: type: integer example: 4251743578 current_energy_rating: type: string example: C potential_energy_rating: type: string example: B current_energy_efficiency: type: integer example: 74 potential_energy_efficiency: type: integer example: 84 property_type: type: string example: House built_form: type: string example: Detached inspection_date: type: string example: '2017-08-15' lodgement_date: type: string example: '2017-08-15' transaction_type: type: string example: 'marketed sale' environment_impact_current: type: integer example: 66 environment_impact_potential: type: integer example: 80 energy_consumption_current: type: integer example: 165 energy_consumption_potential: type: integer example: 96 co2_emissions_current: type: number example: 5.6 co2_emiss_curr_per_floor_area: type: integer example: 30 co2_emissions_potential: type: number example: 3.3 lighting_cost_current: type: integer example: 156 lighting_cost_potential: type: integer example: 92 heating_cost_current: type: integer example: 1015 heating_cost_potential: type: integer example: 769 hot_water_cost_current: type: integer example: 226 hot_water_cost_potential: type: integer example: 80 total_floor_area: type: integer example: 186 energy_tariff: type: string example: Single mains_gas_flag: type: string example: 'Y' main_heating_controls: type: string example: '2104' multi_glaze_proportion: type: integer example: 90 glazed_type: type: string example: 'double glazing installed before 2002' glazed_area: type: string example: Normal extension_count: type: string example: '1' number_habitable_rooms: type: integer example: 7 number_heated_rooms: type: integer example: 7 low_energy_lighting: type: integer example: 30 number_open_fireplaces: type: integer example: 0 hotwater_description: type: string example: 'From main system' hot_water_energy_eff: type: string example: Good hot_water_env_eff: type: string example: Good floor_description: type: string example: 'Solid, no insulation (assumed)' windows_description: type: string example: 'Mostly double glazing' windows_energy_eff: type: string example: Average windows_env_eff: type: string example: Average walls_description: type: string example: 'Cavity wall, filled cavity' walls_energy_eff: type: string example: Good walls_env_eff: type: string example: Good secondheat_description: type: string example: 'Room heaters, dual fuel (mineral and wood)' roof_description: type: string example: 'Pitched, 270 mm loft insulation' roof_energy_eff: type: string example: Good roof_env_eff: type: string example: Good mainheat_description: type: string example: 'Boiler and radiators, mains gas' mainheat_energy_eff: type: string example: Good mainheat_env_eff: type: string example: Good mainheatcont_description: type: string example: 'Programmer and room thermostat' mainheatc_energy_eff: type: string example: Average mainheatc_env_eff: type: string example: Average lighting_description: type: string example: 'Low energy lighting in 30% of fixed outlets' lighting_energy_eff: type: string example: Average lighting_env_eff: type: string example: Average main_fuel: type: string example: 'mains gas (not community)' wind_turbine_count: type: integer example: 0 solar_water_heating_flag: type: string example: 'N' mechanical_ventilation: type: string example: natural address: type: string example: '6, Ashmeade, Hale Barns' local_authority_label: type: string example: Trafford constituency_label: type: string example: 'Altrincham and Sale West' construction_age_band: type: string example: 'England and Wales: 1983-1990' lodgement_datetime: type: string example: '2017-08-15T19:03:44+00:00' tenure: type: string example: owner-occupied recommendations: type: array example: - 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: 'List of retrofit improvement recommendations from the EPC' items: type: object properties: item_text: type: string example: 'Solid floor insulation' indicative_cost: type: array example: - 4000 - 6000 items: type: integer status: type: object properties: code: type: integer example: 200 message: type: string example: 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: 'A [property identifier](/docs/index.html#property-identifiers) for the required property; either a Kamma Property Id, a UPRN or an address can be used.' example: 'geoplace:uprn:100023433011' required: true schema: type: string '/api/properties/determination-check/{identifier}': get: summary: '' operationId: getApiPropertiesDeterminationCheckIdentifier description: '' parameters: - in: header name: X-SSO-API-Key description: '' example: '{{KAMMA_SSO_API_KEY}}' 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 properties: advice: type: object properties: mandatory: type: string example: '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: type: string example: 'There are no active Additional licensing schemes at this location right now.' selective: type: string example: 'There are no active Additional licensing schemes at this location right now.' article4: type: string example: 'There are no active Article 4 directions at this location right now.' future: type: string example: 'The next Article 4 direction is planned for October 10th 2018.' planning: type: array example: - 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' description: 'List of HMO Article 4 Directions that cover the subject property. N.B. this refers to the geographic location of the property, not its HMO status' items: type: object properties: id: type: integer example: 123 name: type: string example: '' type: type: string example: article4 state: type: object properties: in: type: boolean example: false active: type: boolean example: false future: type: boolean example: true expired: type: string example: null consultation: type: boolean example: false criteria: type: object properties: date_start: type: string example: '2018-10-01T00:00:00.000Z' date_end: type: string example: null above_commercial: type: string example: null property_category: type: string example: null restrict_from: type: string example: C3 restrict_to: type: string example: C4 link: type: string example: 'https://www.royalgreenwich.gov.uk/info/200191/planning_policy_and_strategy/1793/article_4_direction_areas/2' schemes: type: array example: - 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: 'List of licensing schemes that cover the subject property broken into various data fields. N.B. this refers to the geographic location of the property, not its occupancy profile' items: type: object properties: id: type: integer example: 123 name: type: string example: '' type: type: string example: mandatory state: type: object properties: in: type: boolean example: true active: type: boolean example: true future: type: boolean example: false expired: type: string example: null consultation: type: boolean example: false criteria: type: object properties: date_start: type: string example: '2006-04-01T00:00:00.000Z' date_end: type: string example: null above_commercial: type: integer example: 0 configurations: type: array example: - households: 2 people: 5 storeys: 1 items: type: object properties: households: { type: integer, example: 2 } people: { type: integer, example: 5 } storeys: { type: integer, example: 1 } link: type: string example: 'https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence' status: type: object properties: code: type: integer example: 200 message: type: string example: 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: - 'Legislation Checker Methods' parameters: - in: path name: identifier description: 'A [property identifier](/docs/index.html#property-identifiers) for the required property; either a Kamma Property Id, a UPRN or an address can be used.' example: 'geoplace:uprn:100023433011' required: true schema: type: string '/api/properties/licensing-check/{identifier}': get: summary: 'Current Identifier Licensing Status' operationId: currentIdentifierLicensingStatus description: 'The Licensing Checker Methods return information on applicable licensing schemes to the subject property given its occupancy profile and other relevant property data.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{{KAMMA_SSO_API_KEY}}' 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 properties: current: type: object properties: hmo: type: boolean example: true historic: type: object properties: hmo: type: boolean example: true licences: type: array example: - 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: 'Data and information on licences at the subject property address from council licence registers' items: type: object properties: type: type: string example: additional address: type: string example: '52, Crown Street, London, WC1E 6JP' licencee: type: string example: 'Mr John Smith' people: type: integer example: 0 households: type: integer example: 0 status: type: string example: approved date_start: type: string example: '2018-05-09' date_end: type: string example: '2023-05-09' status: type: object properties: code: type: integer example: 200 message: type: string example: 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: - 'Licence Register Methods' parameters: - in: path name: identifier description: 'A [property identifier](/docs/index.html#property-identifiers) for the required property; either a Kamma Property Id, a UPRN or an address can be used.' example: 'geoplace:uprn:100023433011' required: true schema: type: string '/api/properties/property-check/{identifier}': get: summary: 'Property Check' operationId: propertyCheck description: 'When requested with a valid identifier, 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: '{{KAMMA_SSO_API_KEY}}' 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' 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 properties: id: type: string example: 'kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0' description: 'The property unique identifier' external_reference: type: string example: TEST_123 description: 'The external property reference' address: type: string example: '1 Tuscan Road, Greenwich, London, SE18 1SY' description: 'The property address' postcode: type: string example: 'SE18 1SY' description: 'The property postcode' council: type: string example: Greenwich description: 'The council that the property sits within' council_websites: type: array example: - 'https://www.royalgreenwich.gov.uk' - 'https://committees.royalgreenwich.gov.uk' description: 'List of council licensing website links' items: type: string advice_text_current: type: string example: 'Licensing is currently required.' advice_text_future: type: string example: 'Licensing will be required for a scheme or direction that starts in the future.' requires: type: object properties: current: type: object properties: mandatory: type: boolean example: false additional: type: boolean example: true selective: type: boolean example: false article4: type: boolean example: true future: type: object properties: mandatory: type: boolean example: false additional: type: boolean example: false selective: type: boolean example: true article4: type: boolean example: false future_start_date: type: object properties: mandatory: type: string example: null additional: type: string example: null selective: type: string example: '2022-10-01T00:00:00.000Z' article4: type: string example: null approved_scheme: type: object properties: id: type: string example: null type: type: string example: null date_start: type: string example: null date_end: type: string example: null metadata: type: object properties: people: type: integer example: 3 households: type: integer example: 2 storeys: type: object properties: external: type: string example: null internal: type: string example: null rooms: type: string example: null above_commercial: type: string example: null property_category: type: string example: null property_class: type: string example: unknown notes: type: string example: '' analysis: type: array example: - 'Additional scheme requirements met' - 'Selective Scheme upcoming' - 'Use Class: C4' description: 'Advice on the type of analysis that should be performed' items: type: string actions: type: array example: - 'This selective scheme is due to start, early bird discounts for applications may apply.' - 'Apply for Additional licence' - 'Planning permission required' description: 'Advice on the actions that should be performed' items: type: string regulations: type: array example: - 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 description: 'The direct regulatory information of the schemes that apply to the property' items: type: object properties: id: type: integer example: 126 type: type: string example: mandatory confidence: type: integer example: 100 date_start: type: string example: '2006-04-01T00:00:00.000Z' date_end: type: string example: null link: type: string example: 'https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence' consultation: type: integer example: 0 licence_application: type: object properties: status: type: string example: null application: type: object properties: type: type: string example: null date_start: type: string example: null date_end: type: string example: null max_people: type: string example: null max_households: type: string example: null reference: type: string example: null planning_application: type: object properties: status: type: string example: null application: type: object properties: type: type: string example: null status: type: object properties: code: type: integer example: 200 message: type: string example: 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: 'A Kamma Property Id.' example: 'kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0' required: true schema: type: string /api/properties/create: post: summary: 'Property Create' operationId: propertyCreate description: "This endpoint creates a new property in the Kamma Platform and returns licensing compliance determination that is able to be calculated based on the tenancy information supplied. If all information is provided on creation an accurate determination can be made, otherwise this endpoint can be used to create a placeholder property and the tenancy information can be refined at a later stage by the Property Sync endpoint.\n\nA full street level address, including postcode, or a UPRN, must be provided for this endpoint in the **`address`** field of the request body. If an address is provided that does not contain the postcode or a UPRN is provided, the postcode must also be provided in the **`postcode`** field of the request body." parameters: - in: header name: X-SSO-API-Key description: '' example: '{{KAMMA_SSO_API_KEY}}' 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' 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 properties: id: type: string example: 'kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0' description: 'The Kamma Property Id' external_reference: type: string example: TEST_123 description: 'The external property reference' address: type: string example: '1 Tuscan Road, Greenwich, London, SE18 1SY' description: 'The property address' postcode: type: string example: 'SE18 1SY' description: 'The property postcode' council: type: string example: Greenwich description: 'The council that the property sits within' council_websites: type: array example: - 'https://www.royalgreenwich.gov.uk' - 'https://committees.royalgreenwich.gov.uk' description: 'List of council licensing website links' items: type: string advice_text_current: type: string example: 'Licensing is currently required.' advice_text_future: type: string example: 'Licensing will be required for a scheme or direction that starts in the future.' requires: type: object properties: current: type: object properties: mandatory: type: boolean example: false additional: type: boolean example: true selective: type: boolean example: false article4: type: boolean example: true future: type: object properties: mandatory: type: boolean example: false additional: type: boolean example: false selective: type: boolean example: true article4: type: boolean example: false future_start_date: type: object properties: mandatory: type: string example: null additional: type: string example: null selective: type: string example: '2022-10-01T00:00:00.000Z' article4: type: string example: null approved_scheme: type: object properties: id: type: string example: null type: type: string example: null date_start: type: string example: null date_end: type: string example: null metadata: type: object properties: people: type: integer example: 3 households: type: integer example: 2 storeys: type: object properties: external: type: string example: null internal: type: string example: null rooms: type: string example: null above_commercial: type: string example: null property_category: type: string example: null property_class: type: string example: unknown notes: type: string example: '' analysis: type: array example: - 'Additional scheme requirements met' - 'Selective Scheme upcoming' - 'Use Class: C4' description: 'Advice on the type of analysis that should be performed' items: type: string actions: type: array example: - 'This selective scheme is due to start, early bird discounts for applications may apply.' - 'Apply for Additional licence' - 'Planning permission required' description: 'Advice on the actions that should be performed' items: type: string regulations: type: array example: - 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 description: 'The direct regulatory information of the schemes that apply to the property' items: type: object properties: id: type: integer example: 126 type: type: string example: mandatory confidence: type: integer example: 100 date_start: type: string example: '2006-04-01T00:00:00.000Z' date_end: type: string example: null link: type: string example: 'https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence' consultation: type: integer example: 0 licence_application: type: object properties: status: type: string example: null application: type: object properties: type: type: string example: null date_start: type: string example: null date_end: type: string example: null max_people: type: string example: null max_households: type: string example: null reference: type: string example: null planning_application: type: object properties: status: type: string example: null application: type: object properties: type: type: string example: null status: type: object properties: code: type: integer example: 200 message: type: string example: 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' 409: description: 'Resource Conflict' content: application/json: schema: type: object example: status: 409 message: 'Resource Conflict' code: 700001 description: 'Request cannot complete due to conflicting operation.' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 409 message: type: string example: 'Resource Conflict' code: type: integer example: 700001 description: type: string example: 'Request cannot complete due to conflicting operation.' 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: 'A full street level address or UPRN.' example: '52 Crown Street, London, WC1E 6JP' postcode: type: string description: 'The property’s postcode.' 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?.' example: 1 enum: - '0' - '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.' example: s257 enum: - single - s254 - s257 - 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.' example: flat enum: - house - flat notes: type: string description: '' example: '' licence_status: type: string description: '' example: applied enum: - applied - inprogress - requested licence_type: type: string description: "This is the result of the Kamma platform's assessment." example: selective enum: - unknown - mandatory - additional - selective - none 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: 20 licence_reference: type: string description: 'Optional; licence reference issued by the Local Authority.' example: ref-12345 planning_status: type: string description: '' example: requested enum: - applied - inprogress - requested planning_reference: type: string description: '' example: ref-12345 required: - address - postcode '/api/properties/sync/{identifier}': put: summary: 'Property Sync' operationId: propertySync description: 'When requested with a valid identifier and payload, the property associated with the token is updated in the KammaData system.' parameters: - in: header name: X-SSO-API-Key description: '' example: '{{KAMMA_SSO_API_KEY}}' 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' 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 properties: id: type: string example: 'kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0' description: 'The property unique identifier' external_reference: type: string example: TEST_123 description: 'The external property reference' address: type: string example: '1 Tuscan Road, Greenwich, London, SE18 1SY' description: 'The property address' postcode: type: string example: 'SE18 1SY' description: 'The property postcode' council: type: string example: Greenwich description: 'The property council' council_websites: type: array example: - 'https://www.royalgreenwich.gov.uk' - 'https://committees.royalgreenwich.gov.uk' description: 'List of council websites' items: type: string advice_text_current: type: string example: 'Licensing is currently required.' advice_text_future: type: string example: 'Licensing will be required for a scheme or direction that starts in the future.' requires: type: object properties: current: type: object properties: mandatory: type: boolean example: false additional: type: boolean example: true selective: type: boolean example: false article4: type: boolean example: true future: type: object properties: mandatory: type: boolean example: false additional: type: boolean example: false selective: type: boolean example: true article4: type: boolean example: false future_start_date: type: object properties: mandatory: type: string example: null additional: type: string example: null selective: type: string example: '2022-10-01T00:00:00.000Z' article4: type: string example: null approved_scheme: type: object properties: id: type: string example: null type: type: string example: null date_start: type: string example: null date_end: type: string example: null metadata: type: object properties: people: type: integer example: 3 households: type: integer example: 2 storeys: type: object properties: external: type: string example: null internal: type: string example: null rooms: type: string example: null above_commercial: type: string example: null property_category: type: string example: null property_class: type: string example: unknown notes: type: string example: '' analysis: type: array example: - 'Additional scheme requirements met' - 'Selective Scheme upcoming' - 'Use Class: C4' description: 'Advice on the type of analysis that should be performed' items: type: string actions: type: array example: - 'This selective scheme is due to start, early bird discounts for applications may apply.' - 'Apply for Additional licence' - 'Planning permission required' description: 'Advice on the actions that should be performed' items: type: string regulations: type: array example: - 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 description: 'The direct regulatory information of the schemes that apply to the property' items: type: object properties: id: type: integer example: 126 type: type: string example: mandatory confidence: type: integer example: 100 date_start: type: string example: '2006-04-01T00:00:00.000Z' date_end: type: string example: null link: type: string example: 'https://www.royalgreenwich.gov.uk/info/200290/multiple_occupancy_homes/937/apply_for_a_hmo_licence' consultation: type: integer example: 0 licence_application: type: object properties: status: type: string example: null application: type: object properties: type: type: string example: null date_start: type: string example: null date_end: type: string example: null max_people: type: string example: null max_households: type: string example: null reference: type: string example: null planning_application: type: object properties: status: type: string example: null application: type: object properties: type: type: string example: null status: type: object properties: code: type: integer example: 200 message: type: string example: 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' 409: description: 'Resource Conflict' content: application/json: schema: type: object example: status: 409 message: 'Resource Conflict' code: 700001 description: 'Request cannot complete due to conflicting operation.' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 409 message: type: string example: 'Resource Conflict' code: type: integer example: 700001 description: type: string example: 'Request cannot complete due to conflicting operation.' 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: 'A full street level address or UPRN.' example: '52 Crown Street, London, WC1E 6JP' postcode: type: string description: 'The property’s postcode.' 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?.' example: 1 enum: - '0' - '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.' example: licenseable enum: - single - s254 - s257 - 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.' example: house enum: - house - flat notes: type: string description: '' example: '' licence_status: type: string description: '' example: requested enum: - applied - inprogress - requested licence_type: type: string description: "This is the result of the Kamma platform's assessment." example: additional enum: - unknown - mandatory - additional - selective - none 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: 7 licence_reference: type: string description: 'Optional; licence reference issued by the Local Authority.' example: ref-12345 planning_status: type: string description: '' example: inprogress enum: - applied - inprogress - requested planning_reference: type: string description: '' example: ref-12345 required: - address - postcode parameters: - in: path name: identifier description: 'A Kamma Property Id.' example: 'kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0' required: true schema: type: string '/api/properties/archive/{identifier}': delete: summary: 'Property Archive' operationId: propertyArchive description: 'When requested with a valid identifier, the property associated with the token is deleted from the KammaData system' parameters: - in: header name: X-SSO-API-Key description: '' example: '{{KAMMA_SSO_API_KEY}}' 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 properties: id: type: string example: 'kamma:property:ea357bde17331f4217bd7898c50175fa' description: 'The property unique identifier' success: type: boolean example: true description: 'Success state of the archive request' status: type: object properties: code: type: integer example: 200 message: type: string example: 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' 409: description: 'Resource Conflict' content: application/json: schema: type: object example: status: 409 message: 'Resource Conflict' code: 700001 description: 'Request cannot complete due to conflicting operation.' response_id: 1234-1234-1234-1234-1234 properties: status: type: integer example: 409 message: type: string example: 'Resource Conflict' code: type: integer example: 700001 description: type: string example: 'Request cannot complete due to conflicting operation.' 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: 'A Kamma Property Id.' example: 'kamma:property:d293bfc0e2fc69b2a411ecc1dcdff3e0' required: true schema: type: string tags: - name: 'EPC Checker Methods' description: '' - name: 'Legislation Checker Methods' description: "\nThe Determination Checker Methods return information on the licensing schemes and consultations that the subject property geographically sits within. This will not give you the exact licence needed (see “Property Methods” for that) as that is dependent on the occupancy profile of the property (i.e. how many people are occupying it).\n\nThis also includes the same information on HMO (C3 -> C4) Article 4 Directions." - name: 'Licence Register Methods' description: '' - name: 'Property Methods' description: "\nThe Property Methods return information on the licensing determination and requirement for the subject property given its occupancy profile and other relevant property data. These are the most commonly used Methods in the Kamma API." components: securitySchemes: default: type: apiKey name: X-SSO-API-Key in: header description: "```bash\nX-SSO-API-KEY: [example-api-key]\nAccept: application/json\nContent-Type: application/json\nAccept: application/json\n```\n\nIf an invalid API key is specified or the API key is missing, \nan HTTP status of 401 Unauthorized will be returned in the response headers." security: - default: []