Skip to Content
Insurance

Validation errors from the insurance provider are returned with status 400. The message field of the error body then contains a details list, for example {"status": 400, "message": {"details": ["Variant is invalid"]}, "timestamp": "2026-01-01 12:00:00"}.

Get Pricing

POST/v2/calculate-insurance-pricing

Get insurance pricing for a given variant and params. List of variants and required parameters available in the section below. Returns 200 with the price. Returns 400 when the variant is missing or invalid, when a parameter is not supported by the variant (Parameter X is not supported) or when a parameter value is invalid.

Request body

▸
▸variantstringRequired

Insurance variant.

▸parametersobject arrayRequired

Parameters required to calculate the insurance price. Only parameters listed for the variant are accepted.

▸namestringRequired

Name of the parameter.

▸valuestringRequired

Value of the parameter.

Returns

▸
▸fullPricestring

Full insurance price.

Request Example
curl --location --request POST 'https://api-test.simpl.rent/v2/calculate-insurance-pricing' \ --header 'Authorization: <API key>' \ --header 'Content-Type: application/json' \ --data-raw '{ "variant": "tenant_insurance_basic", "parameters": [ { "name": "liability_sum", "value": "100000" } ] }'

Issue Insurance

POST/v2/issue-insurance

Issue insurance for a given variant. Please refer to the section for available variants and required parameters. Returns 200 with the policy number. Returns 400 when the variant is invalid, a parameter is not supported or invalid, an entity is missing identity information, or the account is not configured for issuing insurance.

Request body

▸
▸variantstringRequired

Insurance variant.

▸entitiesobject arrayRequired

List of insurance entities. Each entity must contain a PESEL number, a REGON number or a citizenship other than PL, otherwise the request is rejected with 400. Entities without type or address are ignored.

▸typestringRequired

Type of an entity on insurance (insured | policyholder | insured_and_policyholder).

▸namestringOptional

Name of the entity if it is a person.

▸surnamestringOptional

Surname of the entity if it is a person.

▸peselNumberstringOptional

PESEL number of the entity. Required if the entity is a person with a PESEL number.

▸citizenshipstringOptional

Citizenship of the entity (2-letter country code). Required if the entity is a person without a PESEL number.

▸birthDatestringOptional

Birth date of the entity (YYYY-MM-DD) if it is a person without a PESEL number.

▸regonNumberstringOptional

REGON number of the entity. Required if the entity is a company (together with companyName).

▸companyNamestringOptional

Name of the company. Required if the entity is a company (together with regonNumber).

▸addressobjectRequired

Address of the entity.

▸countrystringOptionalDefaults to PL
▸postalCodestringRequired
▸citystringRequired
▸streetstringRequired
▸houseNumberstringRequired
▸flatNumberstringOptional
▸parametersobject arrayRequired

List of parameters required for the specific insurance variant (see section below).

▸namestringRequired
▸valuestringRequired
▸projectIdstringOptional

Optionally specifies the target project for the insurance. If the provided ID (unique per organization) does not exist, the system creates a new project record with that identifier.

Returns

▸
▸policyNumberstring

Policy number.

Request Example
curl --location --request POST 'https://api-test.simpl.rent/v2/issue-insurance' \ --header 'Authorization: <API key>' \ --header 'Content-Type: application/json' \ --data-raw '{ "variant": "tenant_insurance_basic", "entities": [ { "type": "insured", "name": "John", "surname": "Doe", "peselNumber": "12345678901", "address": { "city": "Warszawa", "street": "Krucza", "houseNumber": "1", "flatNumber": "1", "postalCode": "00-000" } }, { "type": "policyholder", "companyName": "Company Name", "regonNumber": "123456785", "address": { "city": "Warszawa", "street": "Piwna", "houseNumber": "1", "flatNumber": "1", "postalCode": "00-000" } } ], "parameters": [ { "name": "start_date", "value": "2026-01-01" }, { "name": "liability_sum", "value": "100000" } ] }'

Cancel Insurance

POST/v2/cancel-insurance

Insurance cancellation. The insurance is cancelled immediately. Returns 204 No Content. Returns 404 when the policy is not found and 400 when the insurance is already cancelled or inactive.

Request body

▸
▸policyNumberstringRequired

Policy number.

Request Example
curl --location --request POST 'https://api-test.simpl.rent/v2/cancel-insurance' \ --header 'Authorization: <API key>' \ --header 'Content-Type: application/json' \ --data-raw '{ "policyNumber": "TXS00000001" }'

Insurance Variants

Tenant Insurance

tenant_insurance_basic

Fields

▸
▸start_datestringDefaults to tomorrow

Start date of the insurance (YYYY-MM-DD).

▸liability_sumstringRequired

Liability sum value (50000 | 100000 | 150000 | 200000 | 300000).

Landlord Insurance

landlord_insurance

Fields

▸
▸start_datestringDefaults to tomorrow

Start date of the insurance (YYYY-MM-DD).

▸rent_contract_start_datestringRequired

Start date of the rent contract (YYYY-MM-DD).

▸rent_contract_end_datestring

End date of the rent contract (YYYY-MM-DD) (optional if indefinite lease).

▸rent_sumstringRequired

Rent sum.

▸rent_protection_sumstringRequired

Rent guarantee sum (min 6000 PLN, max 24000 PLN). Required for pricing calculation.

▸simpl_rent_certificate_idstring

Simpl Rent certificate ID. Optional for pricing calculation.

▸property_address_citystringRequired

City of the insured property.

▸property_address_streetstringRequired

Street of the insured property.

▸property_address_house_numberstringRequired

House number of the insured property.

▸property_address_flat_numberstring

Flat number of the insured property.

▸property_address_room_numberstring

Room number of the insured property.

▸property_address_postal_codestringRequired

Postal code of the insured property.

▸cancel_atstringOptional

Date (YYYY-MM-DD) at which insurance should be cancelled.

Example Calculate Price Request
curl --location --request POST 'https://api-test.simpl.rent/v2/calculate-insurance-pricing' \ --header 'Authorization: <API key>' \ --header 'Content-Type: application/json' \ --data '{ "variant": "landlord_insurance", "parameters": [ {"name": "rent_protection_sum", "value": "10000"} ] }'
Example Calculate Price Response
{ "fullPrice": "754.00" }
Example Calculate Price Request With Tenant Certificate
curl --location --request POST 'https://api-test.simpl.rent/v2/calculate-insurance-pricing' \ --header 'Authorization: <API key>' \ --header 'Content-Type: application/json' \ --data '{ "variant": "landlord_insurance", "parameters": [ {"name": "rent_protection_sum", "value": "10000"}, {"name": "simpl_rent_certificate_id", "value": "k7lMn2"} ] }'
Example Calculate Price Response With Tenant Certificate
{ "fullPrice": "754.00" }
Example Issue Insurance Request
curl --location --request POST 'https://api-test.simpl.rent/v2/issue-insurance' \ --header 'Authorization: <API key>' \ --header 'Content-Type: application/json' \ --data-raw '{ "variant": "landlord_insurance", "parameters": [ {"name": "rent_contract_start_date", "value": "2026-01-01"}, {"name": "rent_contract_end_date", "value": "2026-12-31"}, {"name": "simpl_rent_certificate_id", "value": "k7lMn2"}, {"name": "rent_sum", "value": "3000"}, {"name": "rent_protection_sum", "value": "9000"}, {"name": "property_address_city", "value": "Warszawa"}, {"name": "property_address_street", "value": "Piwna"}, {"name": "property_address_house_number", "value": "20"}, {"name": "property_address_postal_code", "value": "00-132"} ], "entities": [ { "type": "insured_and_policyholder", "name": "Jan", "surname": "Kowalski", "peselNumber": "12345678901", "address": { "city": "Warszawa", "street": "Krucza", "houseNumber": "1", "flatNumber": "1", "postalCode": "00-000" } } ] }'
Example Issue Insurance Response
{ "policyNumber": "TXW00000001" }