{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-api-response-entity-list-insurance-contract-schema.json", "title": "ApiResponseEntityListInsuranceContract", "description": "Issuer response entity", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-account-insurance-contract-api-openapi.yml#/components/schemas/ApiResponseEntityListInsuranceContract", "x-wl-api-response": true, "type": "object", "required": [ "responseMetadata" ], "properties": { "responseMetadata": { "description": "Response metadata", "allOf": [ { "$ref": "#/$defs/ResponseMetadata" } ] }, "data": { "type": "array", "description": "Response data", "items": { "$ref": "#/$defs/InsuranceContract" } } }, "$defs": { "AccountIdentifier": { "type": "object", "properties": { "accountReference": { "type": "string", "description": "Account reference is to identify the Account calculated by the system (algorithm is configurable per issuer). Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used." }, "issuerAccountExternalReference": { "type": "string", "description": "Issuer account external reference is to identify the Account. Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used. Algorithm configurable by issuer, can be generated by the system if there is an externalReferenceGeneratorAlgorithm." } }, "title": "AccountIdentifier" }, "InsuranceContract": { "type": "object", "properties": { "issuerId": { "type": "string", "description": "Issuer identifier (unique per platform)" }, "insuranceContractIdentifier": { "description": "Unique identifier of the insurance contract", "allOf": [ { "$ref": "#/$defs/InsuranceContractIdentifier" } ] }, "accountIdentifier": { "description": "The account linked to the insurance contract", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] }, "lastInsuranceEventCode": { "type": "string", "description": "Last insurance event code" }, "lastInsuranceEventDate": { "type": "string", "format": "date-time", "description": "Last event date" }, "insuranceEvents": { "type": "array", "description": "The list of insurance events linked to this contract.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/InsuranceEvent" } }, "status": { "type": "string", "description": "Status of insurance contract" }, "validFrom": { "type": "string", "format": "date-time", "description": "From when the contract is valid" }, "accountOwnerBirthDate": { "type": "string", "format": "date-time", "description": "Owner's birth date" }, "insurancePackage": { "allOf": [ { "$ref": "#/$defs/InsuranceContractPackage" } ] } }, "title": "InsuranceContract" }, "InsuranceContractIdentifier": { "type": "object", "description": "The insurance package which is linked to this contract ", "properties": { "insurancePackageReference": { "type": "string", "description": "Reference of the insurance contract" } }, "title": "InsuranceContractIdentifier" }, "InsuranceContractPackage": { "type": "object", "properties": { "issuerId": { "type": "string", "description": "Issuer identifier of the insurance package" }, "insurancePackageIdentifier": { "description": "Unique identifier of the insurance contract package", "allOf": [ { "$ref": "#/$defs/InsurancePackageIdentifier" } ] } }, "title": "InsuranceContractPackage" }, "InsuranceEvent": { "type": "object", "properties": { "insuranceEventCode": { "type": "string", "description": "Insurance event code" }, "insuranceEventDate": { "type": "string", "format": "date-time", "description": "Date of insurance event" }, "insuranceEventDescription": { "type": "string", "description": "Description of the insurance event" } }, "title": "InsuranceEvent" }, "InsurancePackageIdentifier": { "type": "object", "description": "Unique identifier of the insurance contract package", "properties": { "insurancePackageReference": { "type": "string", "description": "Reference of the insurance package" } }, "title": "InsurancePackageIdentifier" }, "Links": { "type": "object", "required": [ "self" ], "properties": { "self": { "type": "string", "description": "Service method URL" }, "next": { "type": "string", "description": "URL pagination query parameter next page" } }, "title": "Links" }, "ResponseMetadata": { "type": "object", "required": [ "correlationId", "responseDateTime", "statusCode", "statusMessage" ], "properties": { "correlationId": { "type": "string", "description": "Correlation Identifier" }, "links": { "description": "Metadata Links", "allOf": [ { "$ref": "#/$defs/Links" } ] }, "statusMessage": { "type": "string", "description": "Executed REST API status message" }, "statusCode": { "type": "integer", "format": "int32", "description": "HTTP status code" }, "responseDateTime": { "type": "string", "description": "Timestamp when response date was generated" }, "timeTakenMs": { "type": "integer", "format": "int64", "description": "Wall clock time required from service to generate the response" } }, "title": "ResponseMetadata" } } }