{
  "components": {
    "examples": {
      "addSupplementInformation-request-two-factor-code": {
        "description": "Supplies the two factor code the end user received, while the collection is in status `TWO_FACTOR_PENDING`.",
        "summary": "Two factor code",
        "value": {
          "type": "TWO_FACTOR_CODE",
          "value": "A12345"
        }
      },
      "createSession-201-session": {
        "description": "A JWT scoped to the user. Send it as `Authorization: Bearer <token>` so the collection is tied to that user.",
        "summary": "Session created",
        "value": {
          "expiresAt": "2026-04-01T11:00:00Z",
          "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5b3VyLXVzZXItMTIzNCJ9.PLACEHOLDER-SIGNATURE",
          "userUuid": "b3f1c2a4-8d6e-4f2b-9a1c-7e5d3b2a1f0e"
        }
      },
      "createUser-201-user": {
        "description": "The newly created user.",
        "summary": "User created",
        "value": {
          "anonymized": false,
          "createdAt": "2026-04-01T10:30:00",
          "externalId": "your-user-1234",
          "updatedAt": "2026-04-01T10:30:00",
          "userUuid": "b3f1c2a4-8d6e-4f2b-9a1c-7e5d3b2a1f0e"
        }
      },
      "createUser-request-create-user": {
        "description": "Creates a user keyed on your own identifier for that person.",
        "summary": "Create a user",
        "value": {
          "externalId": "your-user-1234"
        }
      },
      "findUserByExternalId-200-user": {
        "description": "The user matching the `externalId` query parameter.",
        "summary": "User found",
        "value": {
          "anonymized": false,
          "createdAt": "2026-04-01T10:30:00",
          "externalId": "your-user-1234",
          "updatedAt": "2026-04-01T10:30:00",
          "userUuid": "b3f1c2a4-8d6e-4f2b-9a1c-7e5d3b2a1f0e"
        }
      },
      "getCollectionStatus-200-authentication-timeout": {
        "description": "Collection Status 200 Authentication timeout",
        "summary": "Collection Status 200 Authentication timeout",
        "value": {
          "company": "se-folksam",
          "extraInformation": null,
          "id": "46743878c40cafcfe6abd1234cc70d90",
          "pollingInterval": 1000,
          "status": "AUTHENTICATION_TIMEOUT"
        }
      },
      "getCollections-200-collections": {
        "description": "Every collection belonging to the user the session token was issued for.",
        "summary": "Collections for the user",
        "value": [
          {
            "collectionId": "117a54401a0a1234ac765a85eaee7ea9",
            "company": "se-lansforsakringar",
            "createdAt": "2026-04-01T10:30:00",
            "loginMethod": "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
            "status": "COMPLETED"
          },
          {
            "collectionId": "282ebe51cf6f4b8d9b8bbb94c14878db",
            "company": "se-if",
            "createdAt": "2026-03-28T08:12:00",
            "loginMethod": "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
            "status": "COMPLETED"
          }
        ]
      },
      "getCollectionsByUser-200-collections": {
        "description": "Every collection tied to the user, for backend-to-backend use with the API key.",
        "summary": "Collections for the user",
        "value": [
          {
            "collectionId": "117a54401a0a1234ac765a85eaee7ea9",
            "company": "se-lansforsakringar",
            "createdAt": "2026-04-01T10:30:00",
            "loginMethod": "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
            "status": "COMPLETED"
          }
        ]
      },
      "getCompaniesStatus-200-available-companies": {
        "description": "List of available companies and their status.",
        "summary": "Available companies",
        "value": [
          {
            "additionalLoginInputs": [],
            "availableCoverageScopes": [],
            "company": "se-if",
            "companyAndLineOfBusinesses": [],
            "companyDisplayName": "If",
            "companyGroup": "If",
            "consentRequirements": [],
            "functional": true,
            "loginMethods": [
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE"
            ],
            "nonFunctionalLoginMethods": [],
            "status": "OK",
            "supportsPreheating": false
          }
        ]
      },
      "getInsuranceCollectionData-200-insurance-animal-dog": {
        "description": "Collection data with a dog insurance",
        "summary": "Get Data response Dog Insurance",
        "value": [
          {
            "addons": [],
            "coverage": {
              "documents": [
                {
                  "documentType": "TERMS_AND_CONDITIONS",
                  "documentUrl": "se/dogInsurance/se-if/term_stor hundförsäkring_2025-04-01.pdf"
                }
              ],
              "isVersionRequested": false,
              "parameters": [
                {
                  "isAddonPurchased": false,
                  "parameterDeductible": {
                    "deductibleType": "complex",
                    "description": "Du kan också välja på följande självrisker: \nFast: 1500 Rörlig: 15%\nFast: 1500 Rörlig: 25%\nFast: 1900 Rörlig: 25%",
                    "displayValue": "Fast: 1900 Rörlig: 15%",
                    "originalDisplayValue": "Fast: 1900 Rörlig: 15%",
                    "personalised": false
                  },
                  "parameterDescription": "Ersätter kostnader för undersökning och behandling om din hund drabbas av sjukdom eller olycksfall upp till ett specificerat belopp.",
                  "parameterDisplayName": "Veterinärvård",
                  "parameterGroup": "Grundskydd",
                  "parameterGroupOrder": 1,
                  "parameterLimit": {
                    "description": "",
                    "displayValue": "60000",
                    "limitType": "amount"
                  },
                  "parameterName": "veterinaryCare",
                  "parameterOrder": 0,
                  "value": "true"
                },
                {
                  "isAddonPurchased": false,
                  "parameterDeductible": {
                    "deductibleType": "complex",
                    "description": "Du kan också välja på följande självrisker: \nFast: 1500 Rörlig: 15%\nFast: 1500 Rörlig: 25%\nFast: 1900 Rörlig: 25%",
                    "displayValue": "Fast: 1900 Rörlig: 15%",
                    "originalDisplayValue": "Fast: 1900 Rörlig: 15%",
                    "personalised": false
                  },
                  "parameterDescription": "Ersätter upp till hundens marknadsvärde om hunden skulle avlida före en viss ålder.",
                  "parameterDisplayName": "Livförsäkring",
                  "parameterGroup": "Tillägg",
                  "parameterGroupOrder": 2,
                  "parameterLimit": {
                    "description": "",
                    "displayValue": "60000",
                    "limitType": "amount"
                  },
                  "parameterName": "lifeInsurance",
                  "parameterOrder": 0,
                  "value": "true"
                }
              ],
              "returnedVersionId": "2025-04-01"
            },
            "deductibles": [],
            "id": "9f9f6d5a-20ad-44e1-b08b-0b464ee5de78",
            "insurance": {
              "@market": "core",
              "animalBreed": "Svensk lapphund",
              "animalGender": "FEMALE",
              "animalName": "Siri",
              "animalPurchasePrice": {
                "amount": 14500,
                "currency": "SEK"
              },
              "coming": false,
              "dateOfBirth": "2017-05-23",
              "endDate": "2026-07-19",
              "holder": {
                "@market": "se",
                "city": "Exempelstad",
                "email": "anna.andersson@example.com",
                "name": "Anna Andersson",
                "phoneNumber": "+46701234560",
                "postalCode": "12345",
                "streetAddress": "Exempelgatan 1"
              },
              "insuranceCompany": "se-if",
              "insuranceName": "Stor Hundförsäkring",
              "insuranceNumber": "KD728451-8821-54",
              "insuranceSubType": "dogInsurance",
              "insuranceType": "animalInsurance",
              "premium": {
                "@market": "se",
                "amount": {
                  "amount": 7680,
                  "currency": "SEK"
                },
                "paymentFrequency": 12,
                "paymentMethod": "AUTOGIRO",
                "period": "YEARLY_PREMIUM_PERIOD"
              },
              "renewalDate": "2026-07-20",
              "startDate": "2025-07-20",
              "veterinaryCareAmount": {
                "amount": 60000,
                "currency": "SEK"
              }
            },
            "personalInformation": {
              "PERSONAL_NUMBER": "19900201****"
            },
            "termsUrl": "/coverage/terms?filePath=se/dogInsurance/se-if/term_stor hundförsäkring_2025-04-01.pdf"
          }
        ]
      },
      "getUser-200-user": {
        "description": "The user matching the UUID.",
        "summary": "User",
        "value": {
          "anonymized": false,
          "createdAt": "2026-04-01T10:30:00",
          "externalId": "your-user-1234",
          "updatedAt": "2026-04-01T10:30:00",
          "userUuid": "b3f1c2a4-8d6e-4f2b-9a1c-7e5d3b2a1f0e"
        }
      },
      "initiateCollection-201-started": {
        "description": "Collection started response",
        "summary": "Collection started response",
        "value": {
          "company": "se-lansforsakringar",
          "extraInformation": null,
          "id": "117a54401a0a1234ac765a85eaee7ea9",
          "pollingTimeout": "2026-08-01T12:59:10.545Z",
          "status": "RUNNING"
        }
      },
      "initiateCollection-request-bankid-other-device": {
        "description": "Starts a collection where the end user signs with BankID on a different device. Poll the status for the QR code to display.",
        "summary": "BankID on another device",
        "value": {
          "company": "se-lansforsakringar",
          "loginMethod": "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
          "parameters": [
            {
              "personalNumber": "199001011234",
              "type": "SWEDISH_BANKID"
            }
          ]
        }
      },
      "initiateCollection-request-bankid-same-device": {
        "description": "Starts a collection where the end user signs with BankID on the device they are already using.",
        "summary": "BankID on the same device",
        "value": {
          "company": "se-lansforsakringar",
          "loginMethod": "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
          "parameters": [
            {
              "personalNumber": "199001011234",
              "type": "SWEDISH_BANKID"
            }
          ]
        }
      },
      "standard-error-400": {
        "description": "The request body or parameters are invalid.",
        "summary": "Bad Request",
        "value": {
          "errors": [],
          "localizedMessage": "Invalid request",
          "message": "Invalid request",
          "status": "BAD_REQUEST",
          "statusCode": 400
        }
      },
      "standard-error-401": {
        "description": "The credentials are missing or invalid, the calling IP is not on the client's allowlist, or mTLS is enforced and no valid client certificate was sent. An expired session token gets 401 Token expired.",
        "summary": "Unauthorized",
        "value": {
          "errors": [],
          "localizedMessage": "Authentication failed",
          "message": "Authentication failed",
          "status": "UNAUTHORIZED",
          "statusCode": 401
        }
      },
      "standard-error-403": {
        "description": "The client is not allowed to use this endpoint or resource.",
        "summary": "Forbidden",
        "value": {
          "errors": [],
          "localizedMessage": "Not allowed",
          "message": "Not allowed",
          "status": "FORBIDDEN",
          "statusCode": 403
        }
      },
      "standard-error-404": {
        "description": "The requested resource does not exist or has expired.",
        "summary": "Not Found",
        "value": {
          "errors": [],
          "localizedMessage": "Not found",
          "message": "Not found",
          "status": "NOT_FOUND",
          "statusCode": 404
        }
      },
      "standard-error-429": {
        "description": "The client has sent too many requests in a given time window. Retry after a delay using exponential backoff.",
        "summary": "Rate limit exceeded",
        "value": {
          "errors": [],
          "localizedMessage": "Too many requests. Please retry with backoff.",
          "message": "Too many requests. Please retry with backoff.",
          "status": "TOO_MANY_REQUESTS",
          "statusCode": 429
        }
      }
    },
    "schemas": {
      "AddOn": {
        "description": "An addon for a specific insurance. The addOns can be used for looking up when using the API, while the names might be localized in a way that makes them hard to use. The annualPremium is in the same currency as the insurance. The list relates to reference for possible values of the IDs for different insurance types.",
        "discriminator": {
          "propertyName": "insurance-parameters"
        },
        "properties": {
          "addOnId": {
            "description": "The technical name of the addon, standardized across different companies.",
            "example": "addOnLife",
            "type": "string"
          },
          "addOnName": {
            "description": "Localized name of the addon, can be used as display name.",
            "example": "Livförsäkring",
            "type": "string"
          },
          "addOnPrice": {
            "description": "The yearly premium paid for the addon.",
            "example": 576,
            "format": "int32",
            "type": "integer"
          }
        },
        "title": "Insurance Addon"
      },
      "AdditionalBuilding": {
        "description": "An additional building on the same property as the main residence.",
        "properties": {
          "area": {
            "description": "Area of additional building in square meters rounded to nearest integer. This property will not be available if areaRangeLower and/or areaRangeUpper properties are set.\n",
            "example": 15,
            "format": "int32",
            "type": "integer"
          },
          "areaRangeLower": {
            "description": "Lower boundary for additional building size in square meters rounded to nearest integer. This property will not be available if the area property is set.\n",
            "example": 20,
            "format": "int32",
            "type": "integer"
          },
          "areaRangeUpper": {
            "description": "Upper boundary for additional building size in square meters rounded to nearest integer. This property will not be available if the area property is set.\n",
            "example": 50,
            "format": "int32",
            "type": "integer"
          },
          "buildingType": {
            "description": "The type of the additional building.",
            "enum": [
              "BARN",
              "BOAT_HOUSE",
              "GUEST_HOUSE",
              "CARPORT",
              "ENCLOSED_PORCH",
              "GARAGE",
              "GAZEBO",
              "GREEN_HOUSE",
              "POOL",
              "SAUNA",
              "SHED",
              "STABLE",
              "UNKNOWN"
            ],
            "example": "GREEN_HOUSE",
            "type": "string"
          },
          "floors": {
            "description": "Number of floors in the additional building.",
            "example": 2,
            "format": "int32",
            "type": "integer"
          },
          "waterConnection": {
            "description": "Whether the additional building has water connected.",
            "example": true,
            "type": "boolean"
          }
        },
        "title": "AdditionalBuilding"
      },
      "AdditionalLoginInput": {
        "description": "Additional login input",
        "example": {
          "key": "region",
          "options": [
            {
              "label": "Centre Loire",
              "value": "centreloire"
            },
            {
              "label": "Centre Est",
              "value": "centrest"
            }
          ],
          "type": "selectOne"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/SelectOne"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "AdditionalLoginInputSelectOption": {
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "value"
        ]
      },
      "ApiCoverageDocument": {
        "properties": {
          "documentType": {
            "type": "string"
          },
          "documentUrl": {
            "type": "string"
          }
        }
      },
      "CollectionInput": {
        "description": "A `CollectionInput` is a set of values that required for the collection process to continue. The required input is specified by the key `REQUIRED_INPUT_TYPES`, under the `extraInformation` key on the `CollectionStatus` object.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "type": "array",
            "uniqueItems": true
          },
          "type": {
            "enum": [
              "COLLECTION_INPUT"
            ],
            "example": "COLLECTION_INPUT",
            "type": "string"
          }
        }
      },
      "CollectionParameter": {
        "description": "Marker interface for typed parameters in an initiate-collection request. Each concrete implementation describes a specific type of input (authentication, consent, filter, etc.)",
        "discriminator": {
          "mapping": {
            "EMAIL": "#/components/schemas/EmailParameter",
            "LOGIN_METHOD": "#/components/schemas/LoginMethodParameter",
            "SESSION_METADATA": "#/components/schemas/SessionMetadataParameter",
            "SWEDISH_BANKID": "#/components/schemas/SwedishBankIdParameter",
            "TRADE_UNION_CONSENT": "#/components/schemas/TradeUnionConsentParameter"
          },
          "propertyName": "type"
        },
        "properties": {
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "CollectionStatus": {
        "discriminator": {
          "propertyName": "api"
        },
        "properties": {
          "company": {
            "description": "Company that this collection is from",
            "example": "se-lansforsakringar",
            "type": "string"
          },
          "externalUserUuid": {
            "description": "The UUID of the external user this collection belongs to, when it is linked to one (null otherwise). Can be used to build a Hub deep-link of the form /collections/user/{externalUserUuid}.",
            "example": "b3f1c2a4-8d6e-4f2b-9a1c-7e5d3b2a1f0e",
            "type": "string"
          },
          "extraInformation": {
            "$ref": "#/components/schemas/CollectionStatusInformationMap",
            "description": "A key-value map containing potential extra information, depending on the company the collection is getting data from.",
            "example": {
              "SWEDISH_BANKID_QRCODE": "iVBORw0KGgoAA==",
              "SWEDISH_MOBILE_BANKID_AUTOSTART_TOKEN": "38bb848d-5a0d-4dec-977d-a8777f3637da"
            }
          },
          "id": {
            "description": "The collection ID of the request",
            "example": "22e633bc-427d-4f4a-87cf-cfaca04ef351",
            "type": "string"
          },
          "pollingTimeout": {
            "description": "The collection status must be polled before this timestamp. Failure to do so may result in the termination of the collection.",
            "example": "2024-09-26T12:59:10.545Z",
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "Current status of the collection.",
            "enum": [
              "RUNNING",
              "LOGIN",
              "CUSTOMER_ENROLLMENT_CHECK",
              "TWO_FACTOR_PENDING",
              "TWO_FACTOR_METHOD_SELECTION_TIMEOUT",
              "CONTACT_FORM_PENDING",
              "COLLECTION_INPUT_PENDING",
              "COLLECTION_INPUT_TIMEOUT",
              "COLLECTING",
              "COMPLETED",
              "COMPLETED_PARTIAL",
              "COMPLETED_EMPTY",
              "FAILED",
              "FAILED_PDF_PARSE",
              "FAILED_PDF_USER_INPUT",
              "AUTHENTICATION_TIMEOUT",
              "WAITING_FOR_USER_ACTION",
              "INCORRECT_CREDENTIALS",
              "INCORRECT_TWO_FACTOR_CODE",
              "AUTHENTICATION_CANCELLED",
              "AUTHENTICATION_CONFLICT",
              "ACCOUNT_TEMPORARILY_LOCKED",
              "AUTHENTICATION_MISMATCH",
              "KYC_FORM",
              "CONTACT_FORM",
              "CUSTOMER_ENROLLMENT_REQUIRED",
              "THIRD_PARTY_ERROR",
              "AUTHENTICATION_ERROR",
              "LOGIN_METHOD_NOT_APPLICABLE"
            ],
            "example": "RUNNING",
            "type": "string"
          }
        },
        "required": [
          "company",
          "id",
          "status"
        ],
        "title": "CollectionStatus"
      },
      "CollectionStatusInformationMap": {
        "description": "Possible extra information returned for a collection status",
        "discriminator": {
          "propertyName": "api"
        },
        "properties": {
          "ACCESS_TOKEN": {
            "description": "Access token to call get-data. Returned when data collection is initiated by client-id.",
            "type": "string"
          },
          "AVAILABLE_TWO_FACTOR_METHODS": {
            "description": "Available 2FA methods for this collection.",
            "items": {
              "$ref": "#/components/schemas/TwoFactorOption"
            },
            "type": "array"
          },
          "INPUT_OPTIONS": {
            "description": "The values the required inputs may take, for the inputs that are a choice between a fixed set rather than free text. Submit the chosen `value` as the value of the matching `CollectionInput` item.",
            "items": {
              "$ref": "#/components/schemas/InputOptions"
            },
            "type": "array"
          },
          "INSTRUCTIONS": {
            "$ref": "#/components/schemas/InstructionsRequestObject",
            "description": "Instructions used for SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION login method.",
            "x-markets": {
              "se": true
            }
          },
          "QR_CODE_DATA": {
            "description": "A base64 encoded QR-code.",
            "example": "R0lGODdhtAC0AIAAAAAAAP///ywAAALg==Lg==",
            "type": "string"
          },
          "REFERENCE_NUMBER": {
            "description": "Reference number from login page to verify on other device.",
            "example": "1234",
            "type": "string"
          },
          "REQUIRED_INPUT_TYPES": {
            "description": "Input that needs to be provided for the collection process to continue.",
            "example": "EMAIL",
            "items": {
              "description": "Type of input.",
              "enum": [
                "BRANCH",
                "EMAIL",
                "MOBILE_PHONE_NUMBER"
              ],
              "example": "EMAIL",
              "type": "string"
            },
            "type": "array"
          },
          "SWEDISH_BANKID_QRCODE": {
            "description": "A base64 encoded swedish BankId QR-code.",
            "example": "R0lGODdhtAC0AIAAAAAAAP///ywAAALg==Lg==",
            "type": "string",
            "x-markets": {
              "se": true
            }
          },
          "SWEDISH_MOBILE_BANKID_ANIMATED_QR_DATA": {
            "description": "Used to generate an animated QR-code to authenticate users on other devices. The QR-code needs to be updated every second and is only applicable for companies that have the LoginMethod SWEDISH_MOBILE_BANKID_OTHER_DEVICE.",
            "example": "bankid.67df3917-fa0d-44e5-b327-edcc928297f8.0.dc69358e712458a66a7525beef148ae8526b1c71610eff2c16cdffb4cdac9bf8",
            "type": "string",
            "x-markets": {
              "se": true
            }
          },
          "SWEDISH_MOBILE_BANKID_AUTOSTART_TOKEN": {
            "description": "Used to compile a QR image or an app-link.",
            "example": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6",
            "type": "string",
            "x-markets": {
              "se": true
            }
          },
          "TWO_FACTOR_AUTHENTICATION_INSTRUCTION": {
            "$ref": "#/components/schemas/TwoFactorAuthenticationInstruction"
          }
        },
        "title": "CollectionStatusInformation"
      },
      "CollectionStatusResponse": {
        "discriminator": {
          "propertyName": "api"
        },
        "properties": {
          "company": {
            "description": "Company identifier.",
            "example": "se-lansforsakringar",
            "type": "string"
          },
          "externalUserUuid": {
            "description": "The UUID of the external user this collection belongs to, when it is linked to one (null otherwise). Can be used to build a Hub deep-link of the form /collections/user/{externalUserUuid}.",
            "example": "b3f1c2a4-8d6e-4f2b-9a1c-7e5d3b2a1f0e",
            "type": "string"
          },
          "extraInformation": {
            "$ref": "#/components/schemas/CollectionStatusInformationMap",
            "description": "A key-value map containing potential extra information, depending on the company the collection is getting data from.",
            "example": {
              "SWEDISH_BANKID_QRCODE": "iVBORw0KGgoAA==",
              "SWEDISH_MOBILE_BANKID_AUTOSTART_TOKEN": "38bb848d-5a0d-4dec-977d-a8777f3637da"
            }
          },
          "id": {
            "description": "The collection ID of the request",
            "example": "22e633bc-427d-4f4a-87cf-cfaca04ef351",
            "type": "string"
          },
          "pollingInterval": {
            "description": "The recommended interval in milliseconds at which to poll the `/status` endpoint for a collection. The endpoint can be polled less often, but latest by the value indicated by `pollingTimeout` to ensure that the collection is not terminated.",
            "example": 1000,
            "format": "int32",
            "type": "integer"
          },
          "pollingTimeout": {
            "description": "The collection status must be polled before this timestamp. Failure to do so may result in the termination of the collection.",
            "example": "2024-09-26T12:59:10.545Z",
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "Current status of the collection.",
            "enum": [
              "RUNNING",
              "LOGIN",
              "CUSTOMER_ENROLLMENT_CHECK",
              "TWO_FACTOR_PENDING",
              "TWO_FACTOR_METHOD_SELECTION_TIMEOUT",
              "CONTACT_FORM_PENDING",
              "COLLECTION_INPUT_PENDING",
              "COLLECTION_INPUT_TIMEOUT",
              "COLLECTING",
              "COMPLETED",
              "COMPLETED_PARTIAL",
              "COMPLETED_EMPTY",
              "FAILED",
              "FAILED_PDF_PARSE",
              "FAILED_PDF_USER_INPUT",
              "AUTHENTICATION_TIMEOUT",
              "WAITING_FOR_USER_ACTION",
              "INCORRECT_CREDENTIALS",
              "INCORRECT_TWO_FACTOR_CODE",
              "AUTHENTICATION_CANCELLED",
              "AUTHENTICATION_CONFLICT",
              "ACCOUNT_TEMPORARILY_LOCKED",
              "AUTHENTICATION_MISMATCH",
              "KYC_FORM",
              "CONTACT_FORM",
              "CUSTOMER_ENROLLMENT_REQUIRED",
              "THIRD_PARTY_ERROR",
              "AUTHENTICATION_ERROR",
              "LOGIN_METHOD_NOT_APPLICABLE"
            ],
            "example": "RUNNING",
            "type": "string"
          }
        },
        "required": [
          "company",
          "id",
          "status"
        ],
        "title": "CollectionStatusResponse"
      },
      "CollectionSummary": {
        "description": "Response representing a collection summary.",
        "properties": {
          "collectionId": {
            "description": "Unique identifier for the collection.",
            "example": "550e8400-e29b-41d4-a716-446655440000",
            "type": "string"
          },
          "company": {
            "description": "Company identifier.",
            "example": "se-folksam",
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp when the collection was created.",
            "example": "2026-02-20T10:30:00",
            "format": "date-time",
            "type": "string"
          },
          "loginMethod": {
            "description": "Login method used for the collection.",
            "enum": [
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_MOCK",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION_MOCK",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_TEST",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_TEST",
              "SWEDISH_SECURITY_TOKEN",
              "EMAIL"
            ],
            "type": "string"
          },
          "status": {
            "description": "Current status of the collection.",
            "example": "COMPLETED",
            "type": "string"
          }
        },
        "required": [
          "collectionId",
          "company",
          "status"
        ],
        "title": "CollectionSummary"
      },
      "Company": {
        "enum": [
          "se-agria",
          "se-alandsbanken-psd2",
          "se-alecta",
          "se-amf",
          "se-atlantica",
          "se-avanza",
          "se-avida",
          "se-borgo",
          "se-demo",
          "se-demo-psd2",
          "se-demo-two",
          "se-demo-four",
          "se-demo-client-authentication",
          "se-bank-norwegian",
          "se-bliwa",
          "se-bluestep-bank",
          "se-collector",
          "se-danske-bank",
          "se-danske-bank-psd2",
          "se-dina",
          "se-ekobanken-psd2",
          "se-euroaccident",
          "se-folksam",
          "se-futur",
          "se-gjensidige",
          "se-gofido",
          "se-handelsbanken",
          "se-handelsbanken-psd2",
          "se-hedvig",
          "se-ica",
          "se-ica-bank",
          "se-ica-bank-psd2",
          "se-if",
          "se-if-mercedes",
          "se-ikano-bank",
          "se-ikano-bank-psd2",
          "se-jak-medlemsbank-psd2",
          "se-klarna-psd2",
          "se-kpa",
          "se-lan-och-spar-bank",
          "se-lan-och-spar-bank-psd2",
          "se-lansforsakringar",
          "se-lansforsakringar-psd2",
          "se-lassie",
          "se-lea-bank",
          "se-levler",
          "se-lysa",
          "se-manypets",
          "se-marginalen-bank",
          "se-marginalen-bank-psd2",
          "se-medmera-bank",
          "se-moderna",
          "se-montrose",
          "se-morrow",
          "se-movestic",
          "se-nordax-bank",
          "se-nordea",
          "se-nordea-psd2",
          "se-nordnet",
          "se-okq8-bank-psd2",
          "se-opti",
          "se-remember",
          "se-resurs-bank",
          "se-resurs-bank-psd2",
          "se-rocker-psd2",
          "se-savr",
          "se-sbab",
          "se-sbab-psd2",
          "se-seb",
          "se-seb-bank",
          "se-seb-psd2",
          "se-skandia",
          "se-skandia-psd2",
          "se-sparbanken-syd-psd2",
          "se-spp",
          "se-spv",
          "se-svea",
          "se-svea-psd2",
          "se-svedea",
          "se-trekronor",
          "se-trygg-hansa",
          "se-volvia",
          "se-paydrive",
          "se-pp-pension",
          "se-santander",
          "se-sveland",
          "se-svenska-fribrevsbolaget",
          "se-swedbank",
          "se-swedbank-insurance",
          "se-swedbank-psd2",
          "se-leaky",
          "se-watercircles",
          "se-kapan",
          "se-sensor",
          "se-soderberg-partners",
          "se-ziklo-psd2",
          "xx-loadtest-scrape",
          "xx-loadtest-api",
          "xx-docs"
        ],
        "type": "string"
      },
      "CompanyAvailability": {
        "discriminator": {
          "propertyName": "api"
        },
        "properties": {
          "additionalLoginInputs": {
            "description": "Additional input for login step.",
            "items": {
              "$ref": "#/components/schemas/AdditionalLoginInput"
            },
            "type": "array",
            "uniqueItems": true
          },
          "availableCoverageScopes": {
            "description": "Set of available coverage types and subtypes for this company",
            "example": [
              {
                "insuranceSubType": "CAR_INSURANCE",
                "insuranceType": "VEHICLE_INSURANCE"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/InsuranceTypeAndSubtype"
            },
            "type": "array",
            "uniqueItems": true
          },
          "collectionMethod": {
            "description": "The method used to collect data from this company. PSD2 indicates bank API collection, LEFI indicates registry-based collection, and STANDARD indicates the normal Insurely data collection flow.",
            "enum": [
              "PSD2",
              "LEFI",
              "STANDARD"
            ],
            "example": "STANDARD",
            "type": "string"
          },
          "company": {
            "description": "Name of the company.",
            "example": "uk-aviva",
            "minLength": 1,
            "type": "string"
          },
          "companyAndLineOfBusinesses": {
            "description": "Available company and line of business for insurance pdf upload.",
            "example": "UK_AXA_HOME",
            "items": {
              "enum": [
                "SE_IF_VEHICLE",
                "SE_FOLKSAM_VEHICLE",
                "SE_LANSFORSAKRINGAR_HOME",
                "SE_PAYDRIVE_VEHICLE",
                "SE_SVEDEA_VEHICLE",
                "SE_VOLVIA_VEHICLE",
                "SE_BLIWA_ACCIDENT"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true
          },
          "companyDisplayName": {
            "description": "Company display name, for displaying to users.",
            "example": "Aviva",
            "minLength": 1,
            "type": "string"
          },
          "companyGroup": {
            "description": "The name of the group that a company or integration belongs to",
            "example": "SEB",
            "type": "string"
          },
          "companyLinks": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Company-specific links such as contact forms or other external resources",
            "example": "{'contactFormLink': 'https://example.com/contact'",
            "type": "object"
          },
          "consentRequirements": {
            "description": "The set of consents required for initiating collections from this company.",
            "items": {
              "$ref": "#/components/schemas/ConsentRequirement"
            },
            "type": "array",
            "uniqueItems": true
          },
          "functional": {
            "description": "Whether or not it is possible to collect data from the company currently.",
            "example": false,
            "type": "boolean"
          },
          "loginConfig": {
            "$ref": "#/components/schemas/CompanyLoginConfig",
            "description": "Configuration options for different login methods."
          },
          "loginMethods": {
            "description": "Available login methods for the company.",
            "example": "USERNAME_AND_PASSWORD",
            "items": {
              "enum": [
                "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
                "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_MOCK",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION_MOCK",
                "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_TEST",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE_TEST",
                "SWEDISH_SECURITY_TOKEN",
                "EMAIL"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true
          },
          "nonFunctionalLoginMethods": {
            "description": "Disabled login methods for the company.",
            "example": "USERNAME_AND_PASSWORD",
            "items": {
              "enum": [
                "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
                "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_MOCK",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION_MOCK",
                "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_TEST",
                "SWEDISH_MOBILE_BANKID_SAME_DEVICE_TEST",
                "SWEDISH_SECURITY_TOKEN",
                "EMAIL"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true
          },
          "notifications": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Company-specific notifications configuration",
            "example": "{'LOADING_SCREEN': 'SIGNIN_WARNING'}",
            "type": "object"
          },
          "reason": {
            "description": "Reason for data collection being non-functional at present.",
            "enum": [
              "THIRD_PARTY_ERROR",
              "THIRD_PARTY_UPDATE",
              "INSURELY_ERROR",
              "INSURELY_UPDATE",
              "RECONSTRUCTION"
            ],
            "example": "THIRD_PARTY_ERROR",
            "type": "string"
          },
          "resetCredentials": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Reset links to reset credentials for the company.",
            "example": "{'resetUsernameUrl': 'https://insurely.com/forgot-username', 'resetPasswordUrl': 'https://insurely.com/forgot-password'}",
            "type": "object"
          },
          "status": {
            "description": "Status indicating the quality of the data collection for this company. A company has status BETA until we can\nguarantee the data quality and stability of it, after which its status is set to OK. A company may also be\nreported with status DEGRADED_PERFORMANCE when it is experiencing intermittent issues, usually due to errors\nat the data source. When status is DEGRADED_PERFORMANCE collections can still be attempted but may fail or\nreturn incomplete data.\n",
            "enum": [
              "OK",
              "BETA",
              "NOT_IMPLEMENTED",
              "DEGRADED_PERFORMANCE"
            ],
            "example": "OK",
            "type": "string"
          },
          "supportsPreheating": {
            "description": "Whether the company supports starting a collection without user input.\nRequires input to be passed in at a later stage through the supplemental-info endpoint.\n",
            "type": "boolean"
          }
        },
        "required": [
          "additionalLoginInputs",
          "availableCoverageScopes",
          "collectionMethod",
          "company",
          "companyAndLineOfBusinesses",
          "companyDisplayName",
          "consentRequirements",
          "functional",
          "loginMethods",
          "nonFunctionalLoginMethods",
          "status",
          "supportsPreheating"
        ]
      },
      "CompanyLoginConfig": {
        "properties": {
          "passwordFieldPlaceholder": {
            "enum": [
              "PASSWORD",
              "CONFIDENTIAL_CODE",
              "PERSONAL_CODE",
              "SECRET_CODE",
              "MEMBERSHIP_NUMBER",
              "PIN_OR_PASSWORD"
            ],
            "type": "string"
          },
          "passwordLabel": {
            "enum": [
              "PASSWORD",
              "CONFIDENTIAL_CODE",
              "PERSONAL_CODE",
              "SECRET_CODE",
              "MEMBERSHIP_NUMBER",
              "PIN_OR_PASSWORD"
            ],
            "type": "string"
          },
          "usernameFieldPlaceholder": {
            "enum": [
              "EMAIL",
              "IDENTIFICATION_NUMBER_11",
              "IDENTIFICATION_CHARACTERS_8",
              "EMAIL_MOBILE_MUTUAL_MEMBER",
              "EMAIL_MOBILE_CLIENT",
              "EMAIL_MUTUAL_OR_REGULAR_MEMBER",
              "EMAIL_MOBILE_CONTRACT",
              "EMAIL_OR_MEMBER",
              "CLIENT_NUMBER",
              "LAST_NAME"
            ],
            "type": "string"
          },
          "usernameLabel": {
            "enum": [
              "EMAIL",
              "USERNAME",
              "CLIENT_NUMBER",
              "LAST_NAME"
            ],
            "type": "string"
          }
        }
      },
      "ConsentRequirement": {
        "description": "The requirement for collect a specific consent.",
        "properties": {
          "method": {
            "description": "What method to use to collect the consent.",
            "enum": [
              "NONE",
              "NOTICE",
              "ACTIVE"
            ],
            "example": "ACTIVE",
            "type": "string"
          },
          "type": {
            "description": "The consent type.",
            "enum": [
              "TRADE_UNION_MEMBERSHIP"
            ],
            "example": "TRADE_UNION_MEMBERSHIP",
            "type": "string"
          }
        },
        "required": [
          "method",
          "type"
        ]
      },
      "Cookie": {
        "description": "A description of an HTTP cookie.",
        "properties": {
          "domain": {
            "description": "Domain of the cookie.",
            "example": ".insurely.com",
            "type": "string"
          },
          "httpOnly": {
            "description": "Whether the cookie is set to httpOnly or not.",
            "example": false,
            "type": "boolean"
          },
          "name": {
            "description": "Name of the cookie.",
            "example": "COOKIE_CONSENT",
            "type": "string"
          },
          "path": {
            "description": "Path of the cookie.",
            "example": "/",
            "type": "string"
          },
          "secure": {
            "description": "Whether the cookie is secure or not.",
            "example": true,
            "type": "boolean"
          },
          "value": {
            "description": "Value of the cookie.",
            "example": "1",
            "type": "string"
          }
        }
      },
      "CoreInsurancePerson": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsurancePerson"
          }
        ],
        "description": "Insurances with insurance type `personInsurance` and subtype `travelInsurance` or `healthInsurance`.",
        "example": {
          "coming": false,
          "discountAmount": {
            "amount": 150,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-folksam",
          "insuranceName": "Sjukvårdsförsäkring",
          "insuranceNumber": "4455123-11",
          "insuranceSubType": "healthInsurance",
          "insuranceType": "personInsurance",
          "insuredPersonName": "Anna Andersson",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 1500,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "insuredPersonName": {
            "description": "Name of the person covered by the insurance. Can differ from the insurance holder name.",
            "example": "Karl Karlsson",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "CoreInsurancePerson",
        "x-tag": "Insurance Type"
      },
      "Coverage": {
        "description": "Insurance coverage details",
        "properties": {
          "documents": {
            "items": {
              "$ref": "#/components/schemas/ApiCoverageDocument"
            },
            "type": "array"
          },
          "isVersionRequested": {
            "type": "boolean"
          },
          "parameters": {
            "description": "The parameter mapping of the insurance coverage",
            "items": {
              "$ref": "#/components/schemas/InsuranceParameterValue"
            },
            "type": "array"
          },
          "requestedVersionId": {
            "type": "string"
          },
          "returnedVersionId": {
            "type": "string"
          }
        }
      },
      "CoverageParameterValueDeductible": {
        "description": "The amount that you have to pay yourself in the event of a claim.",
        "discriminator": {
          "propertyName": "insurance-parameters"
        },
        "properties": {
          "deductibleType": {
            "description": "How the deductible should be interpreted:\n- **amount**: A fixed monetary deductible.\n- **general**: A deductible that follows the insurer’s standard rules for this coverage type.The value may be the contract’s default deductible or a personalised override.\n- **not-applicable**: The deductible does not apply for the coverage.\n- **complex**: A deductible defined by a formula.",
            "enum": [
              "amount",
              "complex",
              "general",
              "not-applicable"
            ],
            "example": "amount",
            "title": "Coverage Parameter Value Deductible Type",
            "type": "string"
          },
          "description": {
            "description": "How the deductible applies, such as conditions, exceptions, or cases where no deductible is charged.",
            "example": "Except for bodily injury",
            "type": "string"
          },
          "displayValue": {
            "description": "The personalised deductible amount, if available for the policy,else this will match `originalDisplayValue`.",
            "example": "500",
            "type": "string"
          },
          "originalDisplayValue": {
            "description": "The deductible value defined by the insurer’s standard contract terms.",
            "example": "750",
            "type": "string"
          },
          "personalised": {
            "description": "Indicates whether the deductible reflects a personalised amount for the specific policy.",
            "example": false,
            "type": "boolean"
          }
        },
        "title": "Coverage Parameter Value Deductible"
      },
      "CoverageParameterValueLimit": {
        "description": "The maximum amount that can be paid out in the event of a claim.",
        "discriminator": {
          "propertyName": "insurance-parameters"
        },
        "properties": {
          "description": {
            "description": "The longer explanation of what the limit is.",
            "example": "20% of the insured amount",
            "type": "string"
          },
          "displayValue": {
            "description": "The formatted and translated value of the limit.",
            "example": "Complex",
            "type": "string"
          },
          "limitType": {
            "description": "The type of the limit.",
            "enum": [
              "amount",
              "complex",
              "full-value",
              "no-limit",
              "not-applicable"
            ],
            "example": "full-value",
            "title": "Coverage Parameter Value Limit Type",
            "type": "string"
          }
        },
        "title": "Coverage Parameter Limit"
      },
      "CreateUserRequest": {
        "properties": {
          "externalId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          }
        },
        "required": [
          "externalId"
        ]
      },
      "Deductible": {
        "description": "A specific deductible with its amount value for a specific insurance. The deductibleIds can be used for looking up when using the API, while the names might be localized in a way that makes them hard to use. The amount value is in the same currency as the insurance. The list relates to reference for possible values of the IDs for different insurance types.",
        "discriminator": {
          "propertyName": "insurance-parameters"
        },
        "properties": {
          "deductibleAmount": {
            "description": "The deductible amount in local currency or percent",
            "example": 1500,
            "format": "int32",
            "type": "integer"
          },
          "deductibleId": {
            "description": "The technical name of the deductible, standardized across different companies.",
            "example": "deductibleFixed",
            "type": "string"
          },
          "deductibleName": {
            "description": "Localized name of the deductible, can be used as display name.",
            "example": "Fixed deductible",
            "type": "string"
          }
        },
        "title": "Insurance Deductible"
      },
      "Document": {
        "description": "A document associated with a policy.",
        "discriminator": {
          "propertyName": "insurance-parameters"
        },
        "properties": {
          "id": {
            "description": "An id uniquely identifying a document within a policy and collection.",
            "example": "5c7e3f0c-62ec-46cd-8d86-12b05ed654d1",
            "type": "string"
          },
          "type": {
            "description": "The type of the document.",
            "example": "INSURANCE_LETTER",
            "type": "string"
          }
        },
        "title": "Document"
      },
      "EmailParameter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CollectionParameter"
          }
        ],
        "description": "Input required for email-link authentication flows.",
        "properties": {
          "email": {
            "description": "Email address that will receive the verification link.",
            "example": "user@example.com",
            "format": "email",
            "type": "string"
          },
          "type": {
            "enum": [
              "EMAIL"
            ],
            "type": "string"
          }
        },
        "required": [
          "email"
        ]
      },
      "ErrorResponse": {
        "description": "Standard error response returned by the API when a request fails.",
        "properties": {
          "errors": {
            "description": "Field-level validation errors, empty when not applicable.",
            "items": {
              "$ref": "#/components/schemas/InsurelyInputError"
            },
            "type": "array"
          },
          "localizedMessage": {
            "description": "Localized version of the error message, if available.",
            "example": "Invalid request",
            "type": "string"
          },
          "message": {
            "description": "Human-readable error message.",
            "example": "Invalid request",
            "type": "string"
          },
          "status": {
            "description": "HTTP status name.",
            "example": "BAD_REQUEST",
            "type": "string"
          },
          "statusCode": {
            "description": "HTTP status code.",
            "example": 400,
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "FarmProperty": {
        "description": "An additional property included in the `farmInsurance`.",
        "properties": {
          "buildingType": {
            "description": "The type of the additional building.",
            "enum": [
              "BARN",
              "STABLE",
              "LOG_CABIN",
              "MACHINE_HALL",
              "UNKNOWN"
            ],
            "example": "BARN",
            "type": "string"
          }
        },
        "title": "Farm property"
      },
      "FullInsuranceWrapper": {
        "description": "The insurance wrapper contains the insurance, its deductibles, addons, and general coverage as separate fields.\n",
        "discriminator": {
          "propertyName": "insurance"
        },
        "properties": {
          "addons": {
            "description": "A list of addons that this insurance has",
            "items": {
              "$ref": "#/components/schemas/AddOn"
            },
            "type": "array"
          },
          "coverage": {
            "$ref": "#/components/schemas/Coverage",
            "description": "The coverage details of the insurance, including parameters"
          },
          "deductibles": {
            "description": "A list of deductibles associated with the insurance",
            "items": {
              "$ref": "#/components/schemas/Deductible"
            },
            "type": "array"
          },
          "documents": {
            "description": "A list of documents associated with the insurance",
            "items": {
              "$ref": "#/components/schemas/Document"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the insurance.",
            "example": "a8a2d600-d314-4ef3-ade1-611c3b596296",
            "type": "string"
          },
          "insurance": {
            "$ref": "#/components/schemas/InsuranceWrapper",
            "description": "The basic insurance data collected from the insurance company"
          },
          "personalInformation": {
            "additionalProperties": {},
            "description": "A map of personal information for the person who collected data. E.g. personal number.",
            "type": "object"
          },
          "termsUrl": {
            "description": "URL to the current insurance terms as a PDF, will be missing if there is no link.",
            "example": "/coverage/terms?filePath=se/condoInsurance/se-demo/term_hemförsäkring mellan_2025-01-01.pdf",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "Full Insurance Wrapper"
      },
      "Holder": {
        "description": "Information about the insurance holder",
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "city": {
            "description": "City of residence of the insurance holder",
            "example": "Stockholm",
            "type": "string"
          },
          "email": {
            "description": "The email address of the insurance holder  - disabled by default",
            "example": "abc@insurely.com",
            "type": "string"
          },
          "name": {
            "description": "The full name of the insurance holder",
            "example": "Firstname Lastname",
            "type": "string"
          },
          "otherInsuranceHolder": {
            "description": "Whether the insurance holder is not the person requesting the data collection",
            "example": false,
            "type": "boolean"
          },
          "phoneNumber": {
            "description": "The phone number of the insurance holder - disabled by default",
            "example": "+01234567890",
            "type": "string"
          },
          "postalCode": {
            "description": "Postal code of the insurance holder",
            "example": "12345",
            "type": "string"
          },
          "streetAddress": {
            "description": "Street address of the insurance holder",
            "example": "Blåbärsvägen 1",
            "type": "string"
          }
        }
      },
      "InitiateCollectionRequest": {
        "description": "Future-proof request body that represents a collection as a set of typed parameters.",
        "properties": {
          "company": {
            "description": "Company identifier.",
            "example": "se-folksam",
            "type": "string"
          },
          "loginMethod": {
            "description": "The login method to use for authentication.",
            "enum": [
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_MOCK",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION_MOCK",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_TEST",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_TEST",
              "SWEDISH_SECURITY_TOKEN",
              "EMAIL"
            ],
            "type": "string"
          },
          "parameters": {
            "description": "Typed parameters describing how to authenticate, consent and scope the collection. Can be empty or null depending on the loginMethod provided.",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/EmailParameter"
                },
                {
                  "$ref": "#/components/schemas/LoginMethodParameter"
                },
                {
                  "$ref": "#/components/schemas/SessionMetadataParameter"
                },
                {
                  "$ref": "#/components/schemas/SwedishBankIdParameter"
                },
                {
                  "$ref": "#/components/schemas/TradeUnionConsentParameter"
                }
              ]
            },
            "type": "array"
          },
          "productTypeFilter": {
            "description": "Narrows the collection to a subset of the products this client is configured for. Omit the field to collect the full configured set.\n\nEach value is a product key of the form `<market>.<category>.<product>`. A three-segment key names a single product; a two-segment key names a whole category and collects every product the client is allowed in it. The market segment is always this market, insurance included.\n\nThe accepted keys are enumerated on this field. That list is this market's vocabulary, not your entitlement: which of them your client may use depends on its configuration. Keys for the other domain, if your client collects both, are enumerated in that domain's spec.\n\nRejected with 400: a key naming a category or product this market does not have; a named product the client is not configured for; or a filter that resolves to no products at all. An empty array is rejected for the same reason — omit the field instead.\n\nA category this market does have is never an error on its own. It contributes whatever the client is allowed in it, and nothing when that is empty, so a caller sending a fixed superset keeps working when the configuration changes underneath them.\n\nIn France and Germany the configuration check is family-level rather than per product, because those markets record the product family rather than the product: a client configured for French pensions is accepted for any PER key.",
            "example": [
              "se.vehicle_insurance.car",
              "se.person_insurance"
            ],
            "items": {
              "enum": [
                "se.animal_insurance",
                "se.animal_insurance.cat",
                "se.animal_insurance.dog",
                "se.animal_insurance.horse",
                "se.animal_insurance.other",
                "se.general_insurance",
                "se.general_insurance.other",
                "se.group_insurance",
                "se.group_insurance.group",
                "se.housecontent_insurance",
                "se.housecontent_insurance.condo",
                "se.housecontent_insurance.contents",
                "se.housecontent_insurance.cottage",
                "se.housecontent_insurance.farm",
                "se.housecontent_insurance.landlord",
                "se.housecontent_insurance.villa",
                "se.income_insurance",
                "se.income_insurance.income",
                "se.income_insurance.loan",
                "se.income_insurance.sickness",
                "se.person_insurance",
                "se.person_insurance.accident",
                "se.person_insurance.child",
                "se.person_insurance.health",
                "se.person_insurance.life",
                "se.person_insurance.pregnancy",
                "se.person_insurance.travel",
                "se.vehicle_insurance",
                "se.vehicle_insurance.boat",
                "se.vehicle_insurance.car",
                "se.vehicle_insurance.caravan",
                "se.vehicle_insurance.moped",
                "se.vehicle_insurance.motorcycle",
                "se.vehicle_insurance.motorhome",
                "se.vehicle_insurance.other",
                "se.vehicle_insurance.trailer"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "company"
        ],
        "title": "InitiateCollectionRequest"
      },
      "InputOptions": {
        "description": "The values a required input may take, for inputs that are a choice between a fixed set rather than free text.",
        "properties": {
          "key": {
            "description": "The required input these options belong to, as listed in `REQUIRED_INPUT_TYPES`.",
            "enum": [
              "BRANCH",
              "EMAIL",
              "MOBILE_PHONE_NUMBER"
            ],
            "example": "EMAIL",
            "type": "string"
          },
          "options": {
            "description": "The values to choose between, in the order they should be displayed.",
            "items": {
              "$ref": "#/components/schemas/Option"
            },
            "type": "array"
          },
          "type": {
            "description": "How the options should be presented.",
            "enum": [
              "selectOne"
            ],
            "example": "selectOne",
            "type": "string"
          }
        },
        "required": [
          "key",
          "options",
          "type"
        ]
      },
      "InstructionsRequestObject": {
        "description": "The instructions request object included in the `CollectionStatusInformationMap` for the `SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION` login method.",
        "properties": {
          "request": {
            "$ref": "#/components/schemas/Request"
          }
        },
        "required": [
          "request"
        ]
      },
      "Insurance": {
        "discriminator": {
          "mapping": {
            "hidden": "#/components/schemas/Insurance"
          },
          "propertyName": "insurance"
        },
        "properties": {
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ]
      },
      "InsuranceAccident": {
        "description": "Accident insurances are of insurance type `personInsurance` and subtype `accidentInsurance`\n",
        "example": {
          "@market": "core",
          "coming": false,
          "discountAmount": {
            "amount": 120,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-folksam",
          "insuranceName": "Olycksfallsförsäkring",
          "insuranceNumber": "4455123-10",
          "insuranceSubType": "accidentInsurance",
          "insuranceType": "personInsurance",
          "insuredAmountBaseEconomicalDisability": {
            "amount": 1200000,
            "currency": "SEK"
          },
          "insuredAmountBaseMedicalDisability": {
            "amount": 1200000,
            "currency": "SEK"
          },
          "insuredAmountLife": {
            "amount": 500000,
            "currency": "SEK"
          },
          "insuredAmountMaxMedicalDisability": {
            "amount": 2400000,
            "currency": "SEK"
          },
          "insuredPersonName": "Anna Andersson",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 1320,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredAmountBaseEconomicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The base amount for economical disability compensation. The compensation for specific injuries are based on this amount.\n"
          },
          "insuredAmountBaseMedicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The base amount for medical disability compensation. The compensation for specific injuries are based on this amount.\n"
          },
          "insuredAmountLife": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The compensation if the insurance holder is to decease."
          },
          "insuredAmountMaxMedicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The maximum compensation for a medical disability. A multiple of the base amount.\n"
          },
          "insuredPersonName": {
            "description": "Name of the person covered by the insurance. Can differ from the insurance holder name.",
            "example": "Karl Karlsson",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceAccident",
        "x-tag": "Insurance Type"
      },
      "InsuranceAnimal": {
        "description": "Animal insurances are of insurance type `animalInsurance` with the following possible subtypes:\n* `dogInsurance`\n* `catInsurance`\n* `horseInsurance`\n* `otherAnimalInsurance`\n",
        "example": {
          "@market": "core",
          "animalBreed": "Labrador retriever",
          "animalGender": "CASTRATED_MALE",
          "animalName": "Sigge",
          "animalPurchasePrice": {
            "amount": 18000,
            "currency": "SEK"
          },
          "chipNumber": "752000000000001",
          "coming": false,
          "dateOfBirth": "2019-04-12",
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-agria",
          "insuranceName": "Hundförsäkring Stor",
          "insuranceNumber": "1899777-004-321",
          "insuranceSubType": "dogInsurance",
          "insuranceType": "animalInsurance",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 5480,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01",
          "veterinaryCareAmount": {
            "amount": 60000,
            "currency": "SEK"
          },
          "veterinaryCareAmountRemaining": {
            "amount": 57250,
            "currency": "SEK"
          }
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "animalBreed": {
            "description": "The breed of the animal.",
            "example": "Golden retriever",
            "type": "string"
          },
          "animalGender": {
            "description": "The gender of the animal.",
            "enum": [
              "MALE",
              "FEMALE",
              "CASTRATED_MALE",
              "CASTRATED_FEMALE",
              "UNKNOWN"
            ],
            "example": "MALE",
            "type": "string"
          },
          "animalName": {
            "description": "The name of the animal.",
            "example": "Pelle",
            "type": "string"
          },
          "animalPurchasePrice": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The animal purchase price."
          },
          "chipNumber": {
            "description": "The animal's chip number.",
            "example": "123456789ASD123",
            "type": "string"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "dateOfBirth": {
            "description": "The animal's date of birth.",
            "example": "2018-12-01",
            "type": "string"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          },
          "veterinaryCareAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The maximum reimbursed veterinary care amount per insurance period."
          },
          "veterinaryCareAmountRemaining": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The remaining veterinary care amount for the insurance period."
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceAnimal",
        "x-tag": "Insurance Type"
      },
      "InsuranceCar": {
        "description": "Car insurances are of insurance type `vehicleInsurance` with the subtype `carInsurance`.",
        "example": {
          "@market": "se",
          "brand": "Volvo",
          "coming": false,
          "coverage": "FULL_WITH_CHASSI",
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-if",
          "insuranceName": "Bilförsäkring Hel",
          "insuranceNumber": "4455123-03",
          "insuranceSubType": "carInsurance",
          "insuranceType": "vehicleInsurance",
          "maxMileage": 10000,
          "model": "V60 D4",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 6420,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "registrationNo": "ABC12X",
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01",
          "youngDriver": true,
          "youngDriverAge": 23
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "brand": {
            "description": "Brand of the insured vehicle",
            "example": "Volvo",
            "type": "string"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "coverage": {
            "enum": [
              "UNDEFINED",
              "FULL_WITH_CHASSI",
              "FULL_WITHOUT_CHASSI",
              "TRAFFIC",
              "NOT_IN_TRAFFIC",
              "CASCO",
              "MTPL",
              "THIRD_PARTY",
              "THIRD_PARTY_PLUS"
            ],
            "type": "string"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "maxMileage": {
            "description": "Max mileage per year that the insurance covers in km.",
            "example": 10000,
            "format": "int32",
            "type": "integer"
          },
          "model": {
            "description": "Insured vehicle model",
            "example": "S60",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "registrationNo": {
            "description": "Registration number for vehicle",
            "example": "ABC000",
            "type": "string"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          },
          "youngDriver": {
            "description": "Insurance policy explicitly mention a young driver as listed driver of the car (mentioned during the subscription process).",
            "example": true,
            "type": "boolean"
          },
          "youngDriverAge": {
            "description": "The maximum age to be considered a young driver.",
            "example": 23,
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceCar",
        "x-tag": "Insurance Type"
      },
      "InsuranceChild": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsurancePerson"
          }
        ],
        "description": "Child insurances are of insurance type `personInsurance` and subtype `childInsurance`",
        "example": {
          "coming": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-trygg-hansa",
          "insuranceName": "Barnförsäkring Bas",
          "insuranceNumber": "4455123-07",
          "insuranceSubType": "childInsurance",
          "insuranceType": "personInsurance",
          "insuredAmountBaseEconomicalDisability": {
            "amount": 1500000,
            "currency": "SEK"
          },
          "insuredAmountBaseMedicalDisability": {
            "amount": 1000000,
            "currency": "SEK"
          },
          "insuredAmountLife": {
            "amount": 50000,
            "currency": "SEK"
          },
          "insuredAmountMaxMedicalDisability": {
            "amount": 2000000,
            "currency": "SEK"
          },
          "insuredPersonDateOfBirth": "2018-03-22",
          "insuredPersonName": "Erik Andersson",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 2280,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "insuredAmountBaseEconomicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The base amount for economical disability compensation. The compensation for specific injuries are based on this amount.\n"
          },
          "insuredAmountBaseMedicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The base amount for medical disability compensation. The compensation for specific injuries are based on this amount.\n"
          },
          "insuredAmountLife": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The compensation if the child is to decease."
          },
          "insuredAmountMaxMedicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The maximum compensation for a medical disability. A multiple of the base amount.\n"
          },
          "insuredPersonDateOfBirth": {
            "description": "Date of birth of the insured child in the format YYYY-MM-DD. Only available for some companies; absent when it could not be determined.\n",
            "example": "2016-02-20",
            "type": "string"
          },
          "insuredPersonName": {
            "description": "Name of the person covered by the insurance. Can differ from the insurance holder name.",
            "example": "Karl Karlsson",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceChild",
        "x-tag": "Insurance Type"
      },
      "InsuranceCottage": {
        "description": "Cottage insurances are of insurance type `houseContentInsurance` and subtype `cottageInsurance`",
        "example": {
          "@market": "core",
          "additionalBuildings": [
            {
              "area": 18,
              "buildingType": "GUEST_HOUSE",
              "floors": 1,
              "waterConnection": false
            }
          ],
          "ancillaryArea": 22,
          "coming": false,
          "connectedAlarmDiscount": false,
          "constructionYear": "1972",
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "hasBasement": false,
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-folksam",
          "insuranceName": "Fritidshusförsäkring",
          "insuranceNumber": "4455123-05",
          "insuranceObjectCity": "Exempelstad",
          "insuranceObjectPostalCode": "12345",
          "insuranceObjectPropertyCode": "Exempel 1:24",
          "insuranceObjectStreetAddress": "Exempelstigen 3",
          "insuranceSubType": "cottageInsurance",
          "insuranceType": "houseContentInsurance",
          "insuredMovablesAmount": {
            "amount": 400000,
            "currency": "SEK"
          },
          "livingArea": 68,
          "numberOfBathrooms": 1,
          "numberOfFloors": 1,
          "numberOfResidents": 4,
          "numberOfToilets": 1,
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 4310,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "purchaseYear": "2014",
          "renewalDate": "2026-08-01",
          "rental": false,
          "startDate": "2025-08-01"
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "additionalBuildings": {
            "description": "Information about any additional buildings on the property.",
            "items": {
              "$ref": "#/components/schemas/AdditionalBuilding"
            },
            "type": "array"
          },
          "ancillaryArea": {
            "description": "Ancillary area in square meters rounded to nearest integer.",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "connectedAlarmDiscount": {
            "description": "Discount related to having a connected alarm system.",
            "example": true,
            "type": "boolean"
          },
          "constructionYear": {
            "description": "The year the residence was built.",
            "example": "1910",
            "type": "string"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "hasBasement": {
            "description": "Whether the residence has a basement.",
            "example": true,
            "type": "boolean"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceObjectCity": {
            "description": "City where the insured object is located",
            "example": "Stockholm",
            "type": "string"
          },
          "insuranceObjectPostalCode": {
            "description": "Postal code of the insured object",
            "example": "12345",
            "type": "string"
          },
          "insuranceObjectPropertyCode": {
            "description": "Property code of the insured object",
            "example": "Blåbäret 1:10",
            "type": "string"
          },
          "insuranceObjectStreetAddress": {
            "description": "Street address of the insured object",
            "example": "Hallonvägen 3",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredMovablesAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Maximum compensation for movable property."
          },
          "livingArea": {
            "description": "Living area in square meters",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "numberOfBathrooms": {
            "description": "Number of bathrooms in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "numberOfFloors": {
            "description": "Number of floors in the residence.",
            "example": 4,
            "format": "int32",
            "type": "integer"
          },
          "numberOfResidents": {
            "description": "Number of people living in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "numberOfToilets": {
            "description": "Number of toilets in the residence.",
            "example": 4,
            "format": "int32",
            "type": "integer"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "purchaseYear": {
            "description": "The year the residence was purchased.",
            "example": "1995",
            "type": "string"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "rental": {
            "description": "Whether the insurance holder rents the residence.",
            "example": false,
            "type": "boolean"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "x-tag": "Insurance Type"
      },
      "InsuranceFarm": {
        "description": "Farm insurances are of insurance type `houseContentInsurance` and subtype `farmInsurance`",
        "example": {
          "additionalBuildings": [
            {
              "area": 15,
              "buildingType": "SHED",
              "floors": 1,
              "waterConnection": false
            }
          ],
          "ancillaryArea": 95,
          "coming": false,
          "connectedAlarmDiscount": true,
          "constructionYear": "1948",
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "farmProperties": [
            {
              "buildingType": "MACHINE_HALL"
            }
          ],
          "hasBasement": true,
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-lansforsakringar",
          "insuranceName": "Lantbruksförsäkring",
          "insuranceNumber": "4455123-06",
          "insuranceObjectCity": "Exempelstad",
          "insuranceObjectPostalCode": "12345",
          "insuranceObjectPropertyCode": "Exempel 2:18",
          "insuranceObjectStreetAddress": "Exempelgården 4",
          "insuranceSubType": "farmInsurance",
          "insuranceType": "houseContentInsurance",
          "insuredMovablesAmount": {
            "amount": 1500000,
            "currency": "SEK"
          },
          "livingArea": 186,
          "numberOfBathrooms": 2,
          "numberOfFloors": 2,
          "numberOfResidents": 3,
          "numberOfToilets": 2,
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 18650,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "purchaseYear": "2009",
          "renewalDate": "2026-08-01",
          "rental": false,
          "startDate": "2025-08-01"
        },
        "properties": {
          "additionalBuildings": {
            "description": "Information about any additional buildings on the property",
            "items": {
              "$ref": "#/components/schemas/AdditionalBuilding"
            },
            "type": "array"
          },
          "ancillaryArea": {
            "description": "Ancillary area in square meters rounded to nearest integer.",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "connectedAlarmDiscount": {
            "description": "Discount related to having a connected alarm system.",
            "example": true,
            "type": "boolean"
          },
          "constructionYear": {
            "description": "The year the residence was built.",
            "example": "1910",
            "type": "string"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "farmProperties": {
            "items": {
              "$ref": "#/components/schemas/FarmProperty"
            },
            "type": "array"
          },
          "hasBasement": {
            "description": "Whether the residence has a basement.",
            "example": true,
            "type": "boolean"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceObjectCity": {
            "description": "City where the insured abject is located",
            "example": "Stockholm",
            "type": "string"
          },
          "insuranceObjectPostalCode": {
            "description": "Postal code of the insured object",
            "example": "12345",
            "type": "string"
          },
          "insuranceObjectPropertyCode": {
            "description": "Property code of the insured object",
            "example": "Blåbäret 1:10",
            "type": "string"
          },
          "insuranceObjectStreetAddress": {
            "description": "Street address of the insured object",
            "example": "Blåbärsvägen 3",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredMovablesAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Maximum compensation for moveable property."
          },
          "livingArea": {
            "description": "Living area in square meters rounded to nearest integer.",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "numberOfBathrooms": {
            "description": "Number of bathrooms in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "numberOfFloors": {
            "description": "Number of floors in the residence.",
            "example": 4,
            "format": "int32",
            "type": "integer"
          },
          "numberOfResidents": {
            "description": "Number of people living in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "numberOfToilets": {
            "description": "Number of toilets in the residence.",
            "example": 4,
            "format": "int32",
            "type": "integer"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "purchaseYear": {
            "description": "The year the residence was purchased.",
            "example": "1995",
            "type": "string"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "rental": {
            "description": "Whether the insurance holder rents the residence.",
            "example": false,
            "type": "boolean"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "x-tag": "Insurance Type"
      },
      "InsuranceGeneral": {
        "description": "General insurances are of insurance type `generalInsurance` and subtype `genericInsurance`",
        "example": {
          "coming": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-lansforsakringar",
          "insuranceName": "Försäkring",
          "insuranceNumber": "4455123-13",
          "insuranceSubType": "genericInsurance",
          "insuranceType": "generalInsurance",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 760,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insurance": {
            "description": "Basic insurance information"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "x-tag": "Insurance Type"
      },
      "InsuranceHome": {
        "description": "Home insurances are of insurance type `houseContentInsurance` and subtype `condoInsurance`",
        "example": {
          "@market": "se",
          "coming": false,
          "connectedAlarmDiscount": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-lansforsakringar",
          "insuranceName": "Hemförsäkring Stor",
          "insuranceNumber": "4455123-01",
          "insuranceObjectCity": "Exempelstad",
          "insuranceObjectPostalCode": "12345",
          "insuranceObjectStreetAddress": "Exempelgatan 1",
          "insuranceSubType": "condoInsurance",
          "insuranceType": "houseContentInsurance",
          "insuredMovablesAmount": {
            "amount": 1000000,
            "currency": "SEK"
          },
          "livingArea": 74,
          "numberOfResidents": 2,
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 3120,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "securityDoorGridDiscount": true,
          "startDate": "2025-08-01"
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "connectedAlarmDiscount": {
            "description": "Discount related to having a connected alarm system.",
            "example": true,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceObjectCity": {
            "description": "City where the insured object is located",
            "example": "Stockholm",
            "type": "string"
          },
          "insuranceObjectPostalCode": {
            "description": "Postal code of the insured object",
            "example": "12345",
            "type": "string"
          },
          "insuranceObjectStreetAddress": {
            "description": "Street address of the insured object",
            "example": "Hallonvägen 3",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredMovablesAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Maximum compensation for movable property."
          },
          "livingArea": {
            "description": "Living area in square meters",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "numberOfResidents": {
            "description": "Number of people living in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "securityDoorGridDiscount": {
            "description": "Discount related to having an approved security door or grid.",
            "example": true,
            "type": "boolean"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "title": "InsuranceHome",
        "x-tag": "Insurance Type"
      },
      "InsuranceHouseContent": {
        "description": "Contents insurances are of insurance type `houseContentInsurance` with the following possible subtypes:\n* `condoInsurance`\n* `villaInsurance`\n* `cottageInsurance`\n",
        "discriminator": {
          "mapping": {
            "condoInsurance": "#/components/schemas/InsuranceHome",
            "cottageInsurance": "#/components/schemas/InsuranceCottage",
            "villaInsurance": "#/components/schemas/InsuranceVilla"
          },
          "propertyName": "insuranceSubType"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/InsuranceHome"
          },
          {
            "$ref": "#/components/schemas/InsuranceVilla"
          }
        ],
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceObjectCity": {
            "description": "City where the insured object is located",
            "example": "Stockholm",
            "type": "string"
          },
          "insuranceObjectPostalCode": {
            "description": "Postal code of the insured object",
            "example": "12345",
            "type": "string"
          },
          "insuranceObjectStreetAddress": {
            "description": "Street address of the insured object",
            "example": "Hallonvägen 3",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredMovablesAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Maximum compensation for movable property."
          },
          "livingArea": {
            "description": "Living area in square meters",
            "example": 72,
            "type": "number"
          },
          "numberOfResidents": {
            "description": "Number of people living in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceHouseContent"
      },
      "InsuranceIncome": {
        "description": "Income insurances are of insurance type `incomeInsurance` with the following possible subtypes:\n* `incomeInsurance`\n* `sicknessInsurance`\n* `loanInsurance`\n",
        "example": {
          "coming": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-bliwa",
          "insuranceName": "Inkomstförsäkring",
          "insuranceNumber": "4455123-12",
          "insuranceSubType": "incomeInsurance",
          "insuranceType": "incomeInsurance",
          "insuredAmount": {
            "amount": 480000,
            "currency": "SEK"
          },
          "insuredMonthlyAmount": {
            "amount": 40000,
            "currency": "SEK"
          },
          "numberOfDaysUntilFirstPayout": 30,
          "numberOfDaysUntilLastPayout": 300,
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 1188,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "qualifyingPeriodDays": 30,
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Selected insurance amount which a lump sum payout is based on. Only applicable for certain income insurance types\n"
          },
          "insuredMonthlyAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Monthly payment amount."
          },
          "numberOfDaysUntilFirstPayout": {
            "description": "Number of days from unemployment/sickness until first payout",
            "example": 30,
            "format": "int32",
            "type": "integer"
          },
          "numberOfDaysUntilLastPayout": {
            "description": "Number of days from unemployment/sickness until last payout",
            "example": 180,
            "format": "int32",
            "type": "integer"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "qualifyingPeriodDays": {
            "description": "Number of working days before qualified for payouts",
            "example": 180,
            "format": "int32",
            "type": "integer"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "Income insurance",
        "x-tag": "Insurance Type"
      },
      "InsuranceLife": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsurancePerson"
          }
        ],
        "description": "Life insurances are of insurance type `personInsurance` and subtype `lifeInsurance`",
        "example": {
          "coming": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-skandia",
          "insuranceName": "Livförsäkring",
          "insuranceNumber": "4455123-08",
          "insuranceSubType": "lifeInsurance",
          "insuranceType": "personInsurance",
          "insuredAmountLife": {
            "amount": 1000000,
            "currency": "SEK"
          },
          "insuredPersonName": "Anna Andersson",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 1740,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "insuredAmountLife": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Insured amount."
          },
          "insuredPersonName": {
            "description": "Name of the person covered by the insurance. Can differ from the insurance holder name.",
            "example": "Karl Karlsson",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceLife",
        "x-tag": "Insurance Type"
      },
      "InsuranceOtherVehicle": {
        "description": "Other vehicle insurances are of insurance type `vehicleInsurance` with the following possible subtypes:\n* `boatInsurance`\n* `caravanInsurance`\n* `mopedInsurance`\n* `motorHomeInsurance`\n* `motorcycleInsurance`\n* `otherVehicleInsurance`\n* `trailerInsurance`\n",
        "example": {
          "@market": "core",
          "brand": "Brenderup",
          "coming": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-if",
          "insuranceName": "Släpvagnsförsäkring",
          "insuranceNumber": "4455123-04",
          "insuranceSubType": "trailerInsurance",
          "insuranceType": "vehicleInsurance",
          "model": "1205S",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 890,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "registrationNo": "XYZ98A",
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "brand": {
            "description": "Brand of the insured vehicle",
            "example": "Volvo",
            "type": "string"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "model": {
            "description": "Insured vehicle model",
            "example": "S60",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "registrationNo": {
            "description": "Registration number for vehicle",
            "example": "ABC000",
            "type": "string"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceOtherVehicle",
        "x-tag": "Insurance Type"
      },
      "InsuranceParameterValue": {
        "description": "A parameter value for a specific insurance. Describes one insurance element for a specific insurance as well as if it's included or not. Contains a technical name, a display name, a description in the local language and the value for the specific insurance.",
        "discriminator": {
          "propertyName": "insurance-parameters"
        },
        "properties": {
          "isAddonPurchased": {
            "description": "The value has been changed to true because the collected insurance has the addon.",
            "example": true,
            "type": "boolean"
          },
          "parameterDeductible": {
            "$ref": "#/components/schemas/CoverageParameterValueDeductible"
          },
          "parameterDescription": {
            "description": "Description of the parameter in the local language.",
            "example": "Compensates you if your car is stolen or damaged in a theft or a break-in.",
            "type": "string"
          },
          "parameterDisplayName": {
            "description": "Display name for the parameter presented in the local language.",
            "example": "Theft",
            "type": "string"
          },
          "parameterGroup": {
            "description": "The group the parameter belongs to.",
            "example": "Basic coverage",
            "type": "string"
          },
          "parameterGroupOrder": {
            "description": "The display order of the parameter group.",
            "example": 1,
            "format": "int32",
            "type": "integer"
          },
          "parameterLimit": {
            "$ref": "#/components/schemas/CoverageParameterValueLimit"
          },
          "parameterName": {
            "description": "The name of the parameter as returned for a specific insurance. In english.",
            "example": "theft",
            "type": "string"
          },
          "parameterOrder": {
            "description": "The display order of the parameter within the parameter group.",
            "example": 2,
            "format": "int32",
            "type": "integer"
          },
          "value": {
            "description": "Potential values are `true` (parameter included in insurance coverage), `false` (parameter not included in insurance coverage) or `possible` (parameter could be included in coverage but we are unable to determine for certain)",
            "example": true,
            "type": "string"
          }
        },
        "title": "Insurance Parameter Value"
      },
      "InsurancePerson": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Insurance"
          }
        ],
        "description": "Person insurances are of insurance type `personInsurance` with the following possible subtypes:\n* `childInsurance`\n* `lifeInsurance`\n* `accidentInsurance`\n* `pregnancyInsurance`\n* `healthInsurance`\n* `travelInsurance`\n",
        "discriminator": {
          "mapping": {
            "accidentInsurance": "#/components/schemas/InsuranceAccident",
            "childInsurance": "#/components/schemas/InsuranceChild",
            "healthInsurance": "#/components/schemas/CoreInsurancePerson",
            "lifeInsurance": "#/components/schemas/InsuranceLife",
            "pregnancyInsurance": "#/components/schemas/InsurancePregnancy",
            "travelInsurance": "#/components/schemas/CoreInsurancePerson"
          },
          "propertyName": "insuranceSubType"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/InsuranceChild"
          },
          {
            "$ref": "#/components/schemas/InsuranceLife"
          },
          {
            "$ref": "#/components/schemas/InsuranceAccident"
          },
          {
            "$ref": "#/components/schemas/InsurancePregnancy"
          },
          {
            "$ref": "#/components/schemas/CoreInsurancePerson"
          }
        ],
        "properties": {
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsurancePerson",
        "x-tag": "Insurance Type"
      },
      "InsurancePregnancy": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsurancePerson"
          }
        ],
        "description": "Pregnancy insurances are of insurance type `personInsurance` and subtype `pregnancyInsurance`",
        "example": {
          "coming": false,
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-trygg-hansa",
          "insuranceName": "Gravidförsäkring Plus",
          "insuranceNumber": "4455123-09",
          "insuranceSubType": "pregnancyInsurance",
          "insuranceType": "personInsurance",
          "insuredAmountBaseMedicalDisability": {
            "amount": 750000,
            "currency": "SEK"
          },
          "insuredPersonName": "Anna Andersson",
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 995,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "renewalDate": "2026-08-01",
          "startDate": "2025-08-01"
        },
        "properties": {
          "insuredAmountBaseMedicalDisability": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The base amount for medical disability compensation. The compensation for specific injuries are based on this amount.\n"
          },
          "insuredPersonName": {
            "description": "Name of the person covered by the insurance. Can differ from the insurance holder name.",
            "example": "Karl Karlsson",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsurancePregnancy",
        "x-tag": "Insurance Type"
      },
      "InsuranceTypeAndSubtype": {
        "properties": {
          "insuranceSubType": {
            "description": "The specific insurance subtype",
            "enum": [
              "carInsurance",
              "boatInsurance",
              "trailerInsurance",
              "motorcycleInsurance",
              "mopedInsurance",
              "caravanInsurance",
              "motorhomeInsurance",
              "otherVehicleInsurance",
              "childInsurance",
              "pregnancyInsurance",
              "lifeInsurance",
              "healthInsurance",
              "accidentInsurance",
              "travelInsurance",
              "condoInsurance",
              "contentsInsurance",
              "villaInsurance",
              "cottageInsurance",
              "farmInsurance",
              "catInsurance",
              "dogInsurance",
              "horseInsurance",
              "otherAnimalInsurance",
              "genericInsurance",
              "groupInsurance",
              "incomeInsurance",
              "sicknessInsurance",
              "loanInsurance",
              "landlordInsurance"
            ],
            "example": "CAR_INSURANCE",
            "type": "string"
          },
          "insuranceType": {
            "description": "The main insurance type category",
            "enum": [
              "vehicleInsurance",
              "houseContentInsurance",
              "personInsurance",
              "animalInsurance",
              "groupInsurance",
              "generalInsurance",
              "incomeInsurance"
            ],
            "example": "VEHICLE_INSURANCE",
            "type": "string"
          }
        }
      },
      "InsuranceVehicle": {
        "description": "Vehicle insurances are of insurance type `vehicleInsurance` with the following possible subtypes:\n* `boatInsurance`\n* `carInsurance`\n* `caravanInsurance`\n* `mopedInsurance`\n* `motorHomeInsurance`\n* `motorcycleInsurance`\n* `otherVehicleInsurance`\n* `trailerInsurance`\n",
        "discriminator": {
          "mapping": {
            "carInsurance": "#/components/schemas/InsuranceCar",
            "otherVehicleInsurance": "#/components/schemas/InsuranceOtherVehicle"
          },
          "propertyName": "insurance"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/InsuranceCar"
          },
          {
            "$ref": "#/components/schemas/InsuranceOtherVehicle"
          }
        ],
        "properties": {
          "brand": {
            "description": "Brand of the insured vehicle",
            "example": "Volvo",
            "type": "string"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "model": {
            "description": "Insured vehicle model",
            "example": "S60",
            "type": "string"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "registrationNo": {
            "description": "Registration number for vehicle",
            "example": "ABC000",
            "type": "string"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "required": [
          "insuranceCompany",
          "insuranceSubType",
          "insuranceType"
        ],
        "title": "InsuranceVehicle"
      },
      "InsuranceVilla": {
        "description": "Villa insurances are of insurance type `houseContentInsurance` and subtype `villaInsurance`\n",
        "example": {
          "@market": "se",
          "additionalBuildings": [
            {
              "area": 24,
              "buildingType": "GARAGE",
              "floors": 1,
              "waterConnection": false
            }
          ],
          "ancillaryArea": 35,
          "coming": false,
          "connectedAlarmDiscount": true,
          "constructionYear": "1994",
          "discountAmount": {
            "amount": 450,
            "currency": "SEK"
          },
          "discountPercentage": "10",
          "endDate": "2026-07-31",
          "hasBasement": true,
          "holder": {
            "@market": "se",
            "city": "Exempelstad",
            "email": "anna.andersson@example.com",
            "name": "Anna Andersson",
            "phoneNumber": "+46701234567",
            "postalCode": "12345",
            "streetAddress": "Exempelgatan 1"
          },
          "insuranceCompany": "se-lansforsakringar",
          "insuranceName": "Villaförsäkring Stor",
          "insuranceNumber": "4455123-02",
          "insuranceObjectCity": "Exempelstad",
          "insuranceObjectPostalCode": "12345",
          "insuranceObjectPropertyCode": "Exempel 2:15",
          "insuranceObjectStreetAddress": "Exempelvägen 2",
          "insuranceSubType": "villaInsurance",
          "insuranceType": "houseContentInsurance",
          "insuredMovablesAmount": {
            "amount": 1500000,
            "currency": "SEK"
          },
          "livingArea": 142,
          "numberOfBathrooms": 2,
          "numberOfFloors": 2,
          "numberOfResidents": 4,
          "premium": {
            "@market": "se",
            "amount": {
              "amount": 7840,
              "currency": "SEK"
            },
            "paymentFrequency": 12,
            "paymentMethod": "AUTOGIRO",
            "period": "YEARLY_PREMIUM_PERIOD"
          },
          "purchaseYear": "2016",
          "renewalDate": "2026-08-01",
          "rental": false,
          "startDate": "2025-08-01"
        },
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "additionalBuildings": {
            "description": "Information about any additional buildings on the property",
            "items": {
              "$ref": "#/components/schemas/AdditionalBuilding"
            },
            "type": "array"
          },
          "ancillaryArea": {
            "description": "Ancillary area in square meters rounded to nearest integer.",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "coming": {
            "description": "If the insurance startDate is in the future given the current date of the data collection\n",
            "example": false,
            "type": "boolean"
          },
          "connectedAlarmDiscount": {
            "description": "Discount related to having a connected alarm system.",
            "example": true,
            "type": "boolean"
          },
          "constructionYear": {
            "description": "The year the residence was built.",
            "example": "1910",
            "type": "string"
          },
          "discountAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The yearly discount amount."
          },
          "discountPercentage": {
            "description": "The discount percentage, represented as a string containing a number between 0 and 100. Null if not available.",
            "example": "10",
            "type": "string"
          },
          "endDate": {
            "description": "End date for the insurance",
            "example": "2023-12-31",
            "type": "string"
          },
          "hasBasement": {
            "description": "Whether the residence has a basement.",
            "example": true,
            "type": "boolean"
          },
          "holder": {
            "$ref": "#/components/schemas/Holder",
            "description": "Information about the registered insurance holder"
          },
          "insuranceCompany": {
            "$ref": "#/components/schemas/Company",
            "description": "Insurance company name",
            "example": "se-insurance-company"
          },
          "insuranceName": {
            "description": "Name of insurance as stated by the insurance companies' systems",
            "example": "Content insurance",
            "type": "string"
          },
          "insuranceNumber": {
            "description": "Reference number for insurance at respective insurance company",
            "example": "123456-789",
            "type": "string"
          },
          "insuranceObjectCity": {
            "description": "City where the insured object is located",
            "example": "Stockholm",
            "type": "string"
          },
          "insuranceObjectPostalCode": {
            "description": "Postal code of the insured object",
            "example": "12345",
            "type": "string"
          },
          "insuranceObjectPropertyCode": {
            "description": "Property code of the insured object",
            "example": "Blueberry 1:10",
            "type": "string"
          },
          "insuranceObjectStreetAddress": {
            "description": "Street address of the insured object",
            "example": "Hallonvägen 3",
            "type": "string"
          },
          "insuranceSubType": {
            "description": "Subtype of insurance",
            "example": "condoInsurance",
            "type": "string"
          },
          "insuranceType": {
            "description": "Type of insurance",
            "example": "houseContentInsurance",
            "type": "string"
          },
          "insuredMovablesAmount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "Maximum compensation for movable property."
          },
          "livingArea": {
            "description": "Living area in square meters",
            "example": 72,
            "format": "int32",
            "type": "integer"
          },
          "numberOfBathrooms": {
            "description": "Number of bathrooms in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "numberOfFloors": {
            "description": "Number of floors in the residence.",
            "example": 4,
            "format": "int32",
            "type": "integer"
          },
          "numberOfResidents": {
            "description": "Number of people living in the residence.",
            "example": 3,
            "format": "int32",
            "type": "integer"
          },
          "premium": {
            "$ref": "#/components/schemas/Premium",
            "description": "The premium the insurance holder has to pay."
          },
          "purchaseYear": {
            "description": "The year the residence was purchased.",
            "example": "1995",
            "type": "string"
          },
          "renewalDate": {
            "description": "Renewal date for the insurance",
            "example": "2020-01-01",
            "type": "string"
          },
          "rental": {
            "description": "Whether the insurance holder rents the residence.",
            "example": false,
            "type": "boolean"
          },
          "startDate": {
            "description": "The start date of the insurance. Could be either original start date or period start date\n",
            "example": "2020-01-01",
            "type": "string"
          }
        },
        "title": "InsuranceVilla",
        "x-tag": "Insurance Type"
      },
      "InsuranceWrapper": {
        "description": "Is one of a specific insurance subtype.",
        "discriminator": {
          "mapping": {
            "child-1": "#/components/schemas/InsuranceAnimal",
            "child-2": "#/components/schemas/InsuranceVehicle",
            "child-3": "#/components/schemas/InsurancePerson",
            "child-5": "#/components/schemas/InsuranceHouseContent",
            "child-6": "#/components/schemas/InsuranceCottage",
            "child-7": "#/components/schemas/InsuranceFarm",
            "child-8": "#/components/schemas/InsuranceGeneral"
          },
          "propertyName": "insurance"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/InsuranceAnimal"
          },
          {
            "$ref": "#/components/schemas/InsuranceVehicle"
          },
          {
            "$ref": "#/components/schemas/InsurancePerson"
          },
          {
            "$ref": "#/components/schemas/InsuranceHouseContent"
          },
          {
            "$ref": "#/components/schemas/InsuranceIncome"
          },
          {
            "$ref": "#/components/schemas/InsuranceCottage"
          },
          {
            "$ref": "#/components/schemas/InsuranceFarm"
          },
          {
            "$ref": "#/components/schemas/InsuranceGeneral"
          }
        ],
        "title": "Insurance Wrapper"
      },
      "InsurelyInputError": {
        "description": "Field-level validation errors, empty when not applicable."
      },
      "Item": {
        "description": "The item object included in the `CollectionInput` for providing supplemental information",
        "properties": {
          "type": {
            "description": "The type of information provided",
            "enum": [
              "BRANCH",
              "EMAIL",
              "LOGIN_METHOD",
              "MOBILE_PHONE_NUMBER",
              "PASSWORD",
              "SWEDISH_PERSONAL_NUMBER",
              "TWO_FACTOR_TOKEN",
              "USERNAME"
            ],
            "example": "EMAIL",
            "type": "string"
          },
          "value": {
            "description": "The value for the corresponding type that is passed in for the item",
            "example": "abc@insurely.com",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "value"
        ]
      },
      "LoginMethodParameter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CollectionParameter"
          }
        ],
        "description": "Selects which login method the collector should trigger.",
        "properties": {
          "loginMethod": {
            "description": "Identifier of the login method supported by the availability endpoint.",
            "enum": [
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_MOCK",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION_MOCK",
              "SWEDISH_MOBILE_BANKID_OTHER_DEVICE_TEST",
              "SWEDISH_MOBILE_BANKID_SAME_DEVICE_TEST",
              "SWEDISH_SECURITY_TOKEN",
              "EMAIL"
            ],
            "type": "string"
          },
          "type": {
            "enum": [
              "LOGIN_METHOD"
            ],
            "type": "string"
          }
        },
        "required": [
          "loginMethod"
        ]
      },
      "Market": {
        "description": "A market definition used to indicate market-specific API models. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
        "enum": [
          "se",
          "core"
        ],
        "example": "core",
        "title": "Market",
        "type": "string"
      },
      "MonetaryAmount": {
        "description": "Defines a monetary amount, specified by its currency code and numerical value.",
        "properties": {
          "amount": {
            "description": "The numeric representation of the monetary value.",
            "example": 10.32,
            "type": "number"
          },
          "currency": {
            "description": "The ISO 4217 standard currency code. Possible enums: DKK, EUR, GBP, NOK, SEK, USD, etc.",
            "example": "EUR",
            "type": "string"
          }
        },
        "title": "Monetary Amount"
      },
      "Option": {
        "description": "One value a required input may take.",
        "properties": {
          "label": {
            "description": "The text to display to the user.",
            "example": "Sparbanken Skåne",
            "type": "string"
          },
          "value": {
            "description": "The value to submit as the `CollectionInput` item value.",
            "example": "Sparbanken Skåne",
            "type": "string"
          }
        },
        "required": [
          "label",
          "value"
        ]
      },
      "Premium": {
        "description": "A premium including the amount and period.",
        "discriminator": {
          "mapping": {
            "se": "#/components/schemas/SwedishPremium"
          },
          "propertyName": "insurance"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/SwedishPremium"
          }
        ],
        "properties": {
          "@market": {
            "$ref": "#/components/schemas/Market",
            "description": "A meta property to indicate which specific insurance model to deserialize the response to. The value is the ISO 3166-1 alpha-2 country code, with the addition of the `core` market, used as default models where no market-specific one exists.\n",
            "enum": [
              "se",
              "core"
            ],
            "example": "core",
            "title": "@market"
          },
          "amount": {
            "$ref": "#/components/schemas/MonetaryAmount",
            "description": "The premium amount."
          },
          "paymentFrequency": {
            "description": "Frequency of premium payments, possible values are:\n`1` - annually, `2` - biannually, `4` - quarterly,\n`12` - monthly, `0` - one time payment or `-1` - unknown\n",
            "example": 12,
            "format": "int32",
            "type": "integer"
          },
          "period": {
            "description": "The period with which this premium is based on.",
            "enum": [
              "YEARLY_PREMIUM_PERIOD",
              "UNKNOWN_PREMIUM_PERIOD"
            ],
            "example": "YEARLY_PREMIUM_PERIOD",
            "type": "string"
          }
        }
      },
      "Request": {
        "properties": {
          "body": {
            "description": "If the method is POST, body to be included in the POST request as string.",
            "example": "'{\"username\":\"19900101-1234\"}'",
            "type": "string"
          },
          "cookies": {
            "description": "List of cookies to include in the request. They should be added to a cookie jar and included in each subsequent request.",
            "items": {
              "$ref": "#/components/schemas/Cookie"
            },
            "type": "array"
          },
          "etag": {
            "description": "Entity tag of the request, each unique request will have its own unique etag. This allows for distinguishing between new requests to be made,\nsince the same request may be \"returned with multiple `CollectionStatus` responses.",
            "example": "d5c19d129d9f4a54b7de2fa198bf73fa-initiate",
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of headers to include with the request.",
            "example": {
              "Content-Type": "application/json"
            },
            "type": "object"
          },
          "method": {
            "description": "HTTP method of the request.",
            "example": "POST",
            "type": "string"
          },
          "url": {
            "description": "URL to make a request towards. This will be based on the company that the collection is started towards.",
            "example": "https://insurely.com/initiate-bankid",
            "type": "string"
          }
        },
        "required": [
          "url"
        ]
      },
      "ResponseObject": {
        "description": "An HTTP response to be provided after receiving HTTP `INSTRUCTIONS` in the `CollectionStatus` `extraInformation` object. This is expected when using the `SWEDISH_MOBILE_BANKID_SAME_DEVICE_CLIENT_SIDE_AUTHENTICATION` `loginMethod`. An in-depth description of this flow can be found in the introduction.",
        "properties": {
          "headers": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "description": "The keys and values of the response headers. Values are lists because some headers (notably Set-Cookie) will be repeated",
            "example": {
              "Cache-Control": [
                "no-cache, no-store, max-age=0"
              ],
              "Content-Encoding": [
                "gzip"
              ],
              "Content-Language": [
                "sv_SE"
              ],
              "Content-Type": [
                "application/json; charset=UTF-8"
              ],
              "Date": [
                "Sun, 20 Jul 1969 20:17:10 GMT"
              ],
              "Expires": [
                "Thu, 01 Jan 1970 00:00:00 GMT"
              ],
              "Pragma": [
                "no-cache"
              ],
              "Server": [
                "-"
              ],
              "Set-Cookie": [
                "session=0cdd1666-7319-4f73-8fc3-d095f83b4ff9;Path=/;Domain=somecompany.se;Secure;HttpOnly",
                "qwerty=219ffwef9w0f; Domain=somecompany.se"
              ],
              "Strict-Transport-Security": [
                "max-age=31536000; includeSubDomains"
              ],
              "Transfer-Encoding": [
                "Identity"
              ],
              "Vary": [
                "Accept-Encoding"
              ]
            },
            "type": "object"
          },
          "response": {
            "description": "The response body, in the format it was responded, e.g. html or json.",
            "example": {
              "andromedaUserToken": "some_random_token",
              "extendedUsage": false,
              "formattedServerTime": "1969-07-20 22:27",
              "links": {
                "next": {
                  "method": "GET",
                  "uri": "/v5/profile/"
                }
              },
              "maskedUserId": "19300805****",
              "serverTime": "19690720 22:17",
              "status": "COMPLETE"
            }
          },
          "type": {
            "enum": [
              "RESPONSE_OBJECT"
            ],
            "example": "RESPONSE_OBJECT",
            "type": "string"
          }
        },
        "title": "ResponseObject"
      },
      "SelectOne": {
        "properties": {
          "key": {
            "type": "string"
          },
          "options": {
            "items": {
              "$ref": "#/components/schemas/AdditionalLoginInputSelectOption"
            },
            "type": "array",
            "uniqueItems": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "options"
        ]
      },
      "SessionMetadataParameter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CollectionParameter"
          }
        ],
        "description": "Lightweight metadata sent along with the collection request.",
        "properties": {
          "attributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Arbitrary key/value attributes used for correlation.",
            "example": {
              "externalReference": "client-run-42"
            },
            "type": "object"
          },
          "type": {
            "enum": [
              "SESSION_METADATA"
            ],
            "type": "string"
          }
        }
      },
      "SessionResponse": {
        "properties": {
          "expiresAt": {
            "format": "date-time",
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "userUuid": {
            "type": "string"
          }
        }
      },
      "SupplementInformation": {
        "discriminator": {
          "mapping": {
            "COLLECTION_INPUT": "#/components/schemas/CollectionInput",
            "RESPONSE_OBJECT": "#/components/schemas/ResponseObject",
            "TWO_FACTOR_CHOICE": "#/components/schemas/TwoFactorChoice",
            "TWO_FACTOR_CODE": "#/components/schemas/TwoFactorCode"
          },
          "propertyName": "api"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/TwoFactorCode"
          },
          {
            "$ref": "#/components/schemas/TwoFactorChoice"
          },
          {
            "$ref": "#/components/schemas/ResponseObject"
          },
          {
            "$ref": "#/components/schemas/CollectionInput"
          }
        ],
        "properties": {
          "type": {
            "description": "Type of the supplemental information.",
            "enum": [
              "TWO_FACTOR_CODE",
              "TWO_FACTOR_CHOICE",
              "RESPONSE_OBJECT",
              "COLLECTION_INPUT"
            ],
            "type": "string"
          }
        },
        "title": "SupplementInformation"
      },
      "SwedishBankIdParameter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CollectionParameter"
          }
        ],
        "description": "BankID credentials required to initiate Swedish authentication flows.",
        "properties": {
          "personalNumber": {
            "description": "Swedish personal number for the end user.",
            "example": "192101010101",
            "type": "string"
          },
          "type": {
            "enum": [
              "SWEDISH_BANKID"
            ],
            "type": "string"
          }
        },
        "required": [
          "personalNumber"
        ]
      },
      "SwedishPremium": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Premium"
          }
        ],
        "properties": {
          "paymentMethod": {
            "description": "Method of payment",
            "enum": [
              "UNDEFINED",
              "AUTOGIRO",
              "PAPER_INVOICE",
              "ELECTRONIC_INVOICE",
              "GENERIC_INVOICE",
              "ONE_TIME_PAYMENT",
              "EMPLOYER_PAID",
              "CREDIT_CARD"
            ],
            "example": "GENERIC_INVOICE",
            "type": "string"
          }
        }
      },
      "TradeUnionConsentParameter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CollectionParameter"
          }
        ],
        "description": "Represents that the end user consented to trade union data usage.",
        "properties": {
          "collectedAt": {
            "description": "Optional timestamp describing when the consent was collected.",
            "format": "date-time",
            "type": "string"
          },
          "type": {
            "enum": [
              "TRADE_UNION_CONSENT"
            ],
            "type": "string"
          },
          "value": {
            "description": "Whether the consent has been granted.",
            "type": "boolean"
          }
        },
        "required": [
          "value"
        ]
      },
      "TwoFactorAuthenticationInstruction": {
        "description": "Instructions for two factor authentication. Add supplemental information to a collection if the `responseType` is not `NO_RESPONSE`.",
        "properties": {
          "authenticationInstruction": {
            "description": "Instructions text",
            "example": "Please authenticate with the following device: <name>'s IPHONE 13",
            "type": "string"
          },
          "responseType": {
            "description": "Expected response type",
            "enum": [
              "NUMBER_CODE",
              "NO_RESPONSE",
              "PHONE_NUMBER",
              "QR_CODE"
            ],
            "example": "NUMBER_CODE",
            "type": "string"
          }
        },
        "required": [
          "authenticationInstruction",
          "responseType"
        ]
      },
      "TwoFactorChoice": {
        "description": "A two factor code to be supplied to a collection. The collection will have status `TWO FACTOR PENDING` when a two factor code is expected from the user.",
        "properties": {
          "type": {
            "enum": [
              "TWO_FACTOR_CHOICE"
            ],
            "example": "TWO_FACTOR_CHOICE",
            "type": "string"
          },
          "value": {
            "description": "UUID of Selected Two factor method",
            "example": "2331690c-06ea-499b-a5b5-c719e253ce93",
            "type": "string"
          }
        },
        "title": "TwoFactorChoice"
      },
      "TwoFactorCode": {
        "description": "A two factor code to be supplied to a collection. The collection will have status `TWO FACTOR PENDING` when a two factor code is expected from the user.",
        "properties": {
          "type": {
            "enum": [
              "TWO_FACTOR_CODE"
            ],
            "example": "TWO_FACTOR_CODE",
            "type": "string"
          },
          "value": {
            "description": "Two factor code",
            "example": "A12345",
            "type": "string"
          }
        },
        "title": "TwoFactorCode"
      },
      "TwoFactorOption": {
        "description": "Available 2FA methods for this collection.",
        "properties": {
          "displayText": {
            "description": "text to display",
            "example": "Please supply the code sent to your iPhone 070******6",
            "type": "string"
          },
          "type": {
            "description": "2FA type",
            "enum": [
              "SMS",
              "APP",
              "APP_CODE",
              "EMAIL"
            ],
            "example": "APP",
            "type": "string"
          },
          "uuid": {
            "description": "uuid for this option",
            "example": "7fbc80f0-870b-4d94-8a31-baf683780b79",
            "type": "string"
          }
        }
      },
      "UserResponse": {
        "properties": {
          "anonymized": {
            "type": "boolean"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "userUuid": {
            "type": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "authorization-token": {
        "description": "Your API key. Requests are only accepted from IP addresses on the client's allowlist, and with a registered client certificate when mTLS is enforced for the client.",
        "in": "header",
        "name": "authorization-token",
        "type": "apiKey"
      },
      "client-id": {
        "description": "Your client ID, as used by the Prebuilt UI. Server-to-server integrations authenticate with authorization-token instead.",
        "in": "header",
        "name": "client-id",
        "type": "apiKey"
      },
      "jwt-token": {
        "bearerFormat": "JWT",
        "description": "A user session token, sent as `Authorization: Bearer <token>`.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "contact": {
      "email": "tech@insurely.com",
      "name": "Insurely",
      "url": "https://insurely.com"
    },
    "description": "",
    "termsOfService": "https://www.insurely.com/sv/privacy-policy",
    "title": "Insurely API",
    "version": "2026-04-01"
  },
  "openapi": "3.1.0",
  "paths": {
    "/collections": {
      "get": {
        "description": "Returns all collections for the authenticated user within the client scope.",
        "operationId": "getCollections",
        "parameters": [
          {
            "description": "Return only the latest collection per company",
            "in": "query",
            "name": "latest",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Filter by collection status (e.g. COMPLETED, FAILED)",
            "in": "query",
            "name": "statusIn",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "collections": {
                    "$ref": "#/components/examples/getCollections-200-collections"
                  }
                },
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CollectionSummary"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Collections retrieved successfully."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing JWT token."
          }
        },
        "security": [
          {
            "jwt-token": []
          }
        ],
        "summary": "Get collections",
        "tags": [
          "Data Collection"
        ]
      },
      "post": {
        "description": "Initiate a data collection. Calling this will trigger the selected login method.",
        "operationId": "initiateCollection",
        "parameters": [
          {
            "in": "header",
            "name": "insurely-session-id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "bankid-other-device": {
                  "$ref": "#/components/examples/initiateCollection-request-bankid-other-device"
                },
                "bankid-same-device": {
                  "$ref": "#/components/examples/initiateCollection-request-bankid-same-device"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/InitiateCollectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "started": {
                    "$ref": "#/components/examples/initiateCollection-201-started"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CollectionStatus"
                }
              }
            },
            "description": "Data collection successfully initiated."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid request. Check the response for reason details."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid authorization token or the token specified is not allowed to collect information from the specified company."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The client is not allowed to use this endpoint or resource."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Initiate collection",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/collections/{collectionId}": {
      "delete": {
        "description": "Deletes the collected data from an insurance collection.",
        "operationId": "deleteCollection",
        "parameters": [
          {
            "in": "path",
            "name": "collectionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Collection successfully deleted."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Collection is not an insurance collection."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication failed: the credentials are missing or invalid, the calling IP is not on the client's allowlist, or mTLS is enforced and no valid client certificate was sent. An expired session token gets 401 Token expired."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The authenticated external user does not have access to the collection."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "No collection with that ID exists for this client."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Delete collection",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/collections/{collectionId}/insurance/data": {
      "get": {
        "operationId": "getInsuranceCollectionData",
        "parameters": [
          {
            "in": "path",
            "name": "collectionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "insurely-language",
            "required": false,
            "schema": {
              "enum": [
                "sv",
                "en",
                "no",
                "da",
                "et",
                "fr",
                "de",
                "it",
                "lv",
                "lt",
                "ru"
              ],
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "insurance-animal-dog": {
                    "$ref": "#/components/examples/getInsuranceCollectionData-200-insurance-animal-dog"
                  }
                },
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/FullInsuranceWrapper"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Insurance data successfully fetched."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Collection is not an insurance collection."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication failed: the credentials are missing or invalid, the calling IP is not on the client's allowlist, or mTLS is enforced and no valid client certificate was sent. An expired session token gets 401 Token expired."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The external user does not have access."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "No collection with that ID exists for this client, the collection has expired or there was no data to fetch."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Get insurance collection data",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/collections/{collectionId}/insurance/policy/{policyId}/document/{documentId}": {
      "get": {
        "description": "Downloads the policy letter PDF behind a document reference returned in the insurance data of a collection. Read the policy and document ids off the insurance object returned by GET /collections/{collectionId}/insurance/data and pass them here.",
        "operationId": "getPolicyDocument",
        "parameters": [
          {
            "in": "path",
            "name": "collectionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "policyId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "documentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {}
            },
            "description": "Document successfully fetched."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Collection is not an insurance collection."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication failed: the credentials are missing or invalid, the calling IP is not on the client's allowlist, or mTLS is enforced and no valid client certificate was sent. An expired session token gets 401 Token expired."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The external user does not have access."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "No collection with that ID exists for this client, the collection has expired or no document with that ID exists."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Get insurance policy document",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/collections/{collectionId}/skip": {
      "post": {
        "description": "Mark a collection as skipped by the user.",
        "operationId": "skipCollection",
        "parameters": [
          {
            "in": "path",
            "name": "collectionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successfully marked as skipped."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid authorization token or disabled client."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The authenticated external user does not have access to the collection."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Collection not found for this client."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Skip collection",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/collections/{collectionId}/status": {
      "get": {
        "description": "Returns the current status of an initiated collection.",
        "operationId": "getCollectionStatus",
        "parameters": [
          {
            "in": "path",
            "name": "collectionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "authentication-timeout": {
                    "$ref": "#/components/examples/getCollectionStatus-200-authentication-timeout"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CollectionStatusResponse"
                }
              }
            },
            "description": "Status successfully fetched."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication failed: the credentials are missing or invalid, the calling IP is not on the client's allowlist, or mTLS is enforced and no valid client certificate was sent. An expired session token gets 401 Token expired."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The client is not allowed to use this endpoint or resource."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "No collection with that ID exists for this client, or the collection has expired."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Get collection status",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/collections/{collectionId}/supplement-info": {
      "post": {
        "description": "Add supplemental information to a collection. See the extended section of SupplementInformation for what types of supplemental information that are supported.\n",
        "operationId": "addSupplementInformation",
        "parameters": [
          {
            "in": "path",
            "name": "collectionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "two-factor-code": {
                  "$ref": "#/components/examples/addSupplementInformation-request-two-factor-code"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/SupplementInformation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully added supplemental information."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Malformed or invalid supplemental information payload."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid authorization token or disabled client."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-403"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The authenticated external user does not have access to the collection."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Collection not found for this client."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Add collection supplemental information",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/companies/availability": {
      "get": {
        "description": "Obtain a full list of companies available for your client, together with their current status, availability (functional or not) and available login methods.",
        "operationId": "getCompaniesStatus",
        "parameters": [
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "available-companies": {
                    "$ref": "#/components/examples/getCompaniesStatus-200-available-companies"
                  }
                },
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CompanyAvailability"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request."
          },
          "429": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-429"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests. Please retry with backoff."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "client-id": []
          }
        ],
        "summary": "Get status and availability",
        "tags": [
          "Company"
        ]
      }
    },
    "/users": {
      "get": {
        "description": "Find a user by externalId. Returns 404 if not found.",
        "operationId": "findUserByExternalId",
        "parameters": [
          {
            "in": "query",
            "name": "externalId",
            "required": true,
            "schema": {
              "maxLength": 255,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "user": {
                    "$ref": "#/components/examples/findUserByExternalId-200-user"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/UserResponse"
                }
              }
            },
            "description": "User found."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Missing or blank externalId."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing API key."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "User not found."
          }
        },
        "security": [
          {
            "authorization-token": []
          }
        ],
        "summary": "Find user by externalId",
        "tags": [
          "User"
        ]
      },
      "post": {
        "description": "Create a new user with the given externalId.",
        "operationId": "createUser",
        "parameters": [
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "create-user": {
                  "$ref": "#/components/examples/createUser-request-create-user"
                }
              },
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "user": {
                    "$ref": "#/components/examples/createUser-201-user"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/UserResponse"
                }
              }
            },
            "description": "User successfully created."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid request. Missing or blank externalId."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing API key."
          },
          "409": {
            "description": "User with the same externalId already exists for this client."
          }
        },
        "security": [
          {
            "authorization-token": []
          }
        ],
        "summary": "Create user",
        "tags": [
          "User"
        ]
      }
    },
    "/users/{id}/collections": {
      "get": {
        "description": "Returns all collections for the specified user within the client scope. Intended for backend-to-backend use with API key authentication.",
        "operationId": "getCollectionsByUser",
        "parameters": [
          {
            "description": "The UUID of the user",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Return only the latest collection per company",
            "in": "query",
            "name": "latest",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Filter by collection status (e.g. COMPLETED, FAILED)",
            "in": "query",
            "name": "statusIn",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "collections": {
                    "$ref": "#/components/examples/getCollectionsByUser-200-collections"
                  }
                },
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CollectionSummary"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Collections retrieved successfully."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing API key."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "User not found."
          }
        },
        "security": [
          {
            "authorization-token": []
          }
        ],
        "summary": "Get collections by user ID",
        "tags": [
          "Data Collection"
        ]
      }
    },
    "/users/{userUuid}": {
      "delete": {
        "description": "Anonymize a user (soft delete). Sets externalId to null and marks user as anonymized.",
        "operationId": "deleteUser",
        "parameters": [
          {
            "in": "path",
            "name": "userUuid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "User successfully deleted."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing API key."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "User not found."
          }
        },
        "security": [
          {
            "authorization-token": []
          }
        ],
        "summary": "Delete user",
        "tags": [
          "User"
        ]
      },
      "get": {
        "description": "Get a user by userUuid. With API key, any user within client scope can be accessed. With JWT, only the authenticated user's own profile can be accessed.",
        "operationId": "getUser",
        "parameters": [
          {
            "in": "path",
            "name": "userUuid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "user": {
                    "$ref": "#/components/examples/getUser-200-user"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/UserResponse"
                }
              }
            },
            "description": "User found."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing credentials."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "User not found or not accessible."
          }
        },
        "security": [
          {
            "authorization-token": []
          },
          {
            "jwt-token": []
          }
        ],
        "summary": "Get user",
        "tags": [
          "User"
        ]
      }
    },
    "/users/{userUuid}/sessions": {
      "post": {
        "description": "Create a JWT session token for the user.",
        "operationId": "createSession",
        "parameters": [
          {
            "in": "path",
            "name": "userUuid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.",
            "example": "2026-04-01",
            "in": "header",
            "name": "Insurely-Version",
            "required": true,
            "schema": {
              "enum": [
                "2026-04-01"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "session": {
                    "$ref": "#/components/examples/createSession-201-session"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/SessionResponse"
                }
              }
            },
            "description": "Session successfully created."
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-400"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "User has no externalId."
          },
          "401": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-401"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Invalid or missing API key."
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/standard-error-404"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "User not found."
          }
        },
        "security": [
          {
            "authorization-token": []
          }
        ],
        "summary": "Create session",
        "tags": [
          "User"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "Production",
      "url": "https://api.insurely.com"
    },
    {
      "description": "Test",
      "url": "https://api.test.insurely.com"
    }
  ],
  "tags": [
    {
      "description": "Provides statuses of companies available for data collection",
      "name": "Company"
    },
    {
      "description": "Initiate a collection of wealth or insurance data, see the status and send additional information.",
      "name": "Data Collection"
    },
    {
      "description": "Create, retrieve, and manage users.",
      "name": "User"
    }
  ]
}