Baloise · Schema

Contract

CompanyInsuranceFinancial ServicesSwitzerlandOpen SourceAPI GovernanceSpectralLinting

Properties

Name Type Description
creationDate string The day the contract was issued
startDate string Start of contract which means start of insurance coverage
endDate string End of contract which means end of insurance coverage
totalNetPrice object
roles array All roles in the contract, e.g. insuranceHolder
product object
agent object
fileHandles array A contract is only complete with its corresponding documents. This is the contract issued by the SaaS provider and maybe some further documents like e.g. customer provided documents like e.g. receipts
stampTaxCode integer The tax stamp code for this contract
termsOfService object
action object
identifier object
payment object
View JSON Schema on GitHub

JSON Schema

baloise-contract-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/baloise/main/json-schema/baloise-contract-schema.json",
  "title": "Contract",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/baloise-corellia-contracts-openapi.yml#/components/schemas/Contract",
  "required": [
    "action",
    "creationDate",
    "endDate",
    "fileHandles",
    "identifier",
    "payment",
    "product",
    "roles",
    "stampTaxCode",
    "startDate",
    "termsOfService",
    "totalNetPrice"
  ],
  "type": "object",
  "properties": {
    "creationDate": {
      "type": "string",
      "description": "The day the contract was issued",
      "format": "date"
    },
    "startDate": {
      "type": "string",
      "description": "Start of contract which means start of insurance coverage",
      "format": "date"
    },
    "endDate": {
      "type": "string",
      "description": "End of contract which means end of insurance coverage",
      "format": "date"
    },
    "totalNetPrice": {
      "$ref": "#/$defs/MonetaryAmount"
    },
    "roles": {
      "maxItems": 99,
      "minItems": 1,
      "type": "array",
      "description": "All roles in the contract, e.g. insuranceHolder",
      "items": {
        "$ref": "#/$defs/Role"
      }
    },
    "product": {
      "$ref": "#/$defs/Product"
    },
    "agent": {
      "$ref": "#/$defs/Agent"
    },
    "fileHandles": {
      "maxItems": 2,
      "minItems": 0,
      "type": "array",
      "description": "A contract is only complete with its corresponding documents. This is the contract issued by the SaaS provider and maybe some further documents like e.g. customer provided documents like e.g. receipts. At least one contract document is required. In case of migration contracts zero documents are accepted.",
      "items": {
        "$ref": "#/$defs/FileHandle"
      }
    },
    "stampTaxCode": {
      "type": "integer",
      "description": "The tax stamp code for this contract",
      "format": "int32"
    },
    "termsOfService": {
      "$ref": "#/$defs/TermsOfService"
    },
    "action": {
      "$ref": "#/$defs/Action"
    },
    "identifier": {
      "$ref": "#/$defs/Identifier"
    },
    "payment": {
      "$ref": "#/$defs/Payment"
    }
  },
  "$defs": {
    "Action": {
      "required": [
        "reason",
        "type"
      ],
      "type": "object",
      "properties": {
        "type": {
          "type": "integer",
          "description": "The type of the action",
          "format": "int32"
        },
        "reason": {
          "type": "integer",
          "description": "The reason for this type",
          "format": "int32"
        },
        "effective": {
          "type": "string",
          "description": "The date when this change should be effective",
          "format": "date"
        }
      }
    },
    "Address": {
      "required": [
        "city",
        "houseNumber",
        "street",
        "zipCode"
      ],
      "type": "object",
      "properties": {
        "sequentialAddressNumber": {
          "type": "integer",
          "description": "The sequential address number within the Baloise internal partner system.",
          "format": "int32"
        },
        "street": {
          "maxLength": 35,
          "minLength": 0,
          "type": "string"
        },
        "houseNumber": {
          "maxLength": 10,
          "minLength": 0,
          "type": "string"
        },
        "zipCode": {
          "maxLength": 4,
          "minLength": 4,
          "type": "string"
        },
        "city": {
          "maxLength": 30,
          "minLength": 0,
          "type": "string"
        }
      }
    },
    "Agent": {
      "required": [
        "agentNumber"
      ],
      "type": "object",
      "properties": {
        "agentNumber": {
          "maxLength": 8,
          "minLength": 0,
          "type": "string",
          "description": "Identification of an Agent"
        },
        "email": {
          "maxLength": 70,
          "minLength": 2,
          "type": "string",
          "description": "A valid email adress"
        }
      },
      "description": "The agent who induced the contract issuance, usually is eligible for receiving commission"
    },
    "Company": {
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 70,
          "minLength": 3,
          "type": "string",
          "description": "Required when partnerNr not set!"
        },
        "uidNumber": {
          "maxLength": 15,
          "minLength": 0,
          "type": "string",
          "description": "Identifies a company uniquely, example CHE-105.805.649"
        },
        "legalForm": {
          "maxLength": 2,
          "minLength": 2,
          "type": "string",
          "description": "Identifies the legal form of the company by CrediReform codes. Has to be provided if UID is missing.",
          "enum": [
            "PRIVATPERSON",
            "EINZELUNTERNEHMEN",
            "GEWERBEBETRIEB",
            "EINFACHE_GESELLSCHAFT",
            "KOLLEKTIVGESELLSCHAFT",
            "KOMMANDITGESELLSCHAFT",
            "TREUHAENDERSCHAFT_TREUUNTERNEHMEN",
            "ERBENGEMEINSCHAFT",
            "EUROPAEISCHE_GESELLSCHAFT",
            "GENOSSENSCHAFT",
            "AKTIENGESELLSCHAFT",
            "KOMMANDIT_AKTIENGESELLSCHAFT",
            "GMBH",
            "STIFTUNG",
            "VEREIN",
            "ANSTALT_LI",
            "FORMLOSER_BERICHT",
            "ZWEIGNIEDERL_AUSLAEND_GESELLSCH",
            "INSTITUT_DES_OEFFENTL_RECHTS"
          ]
        },
        "contactSalutation": {
          "type": "string",
          "description": "A contact is a person representing the company. Required when partnerNr not set!",
          "enum": [
            "Mr",
            "Mrs"
          ]
        },
        "contactLastName": {
          "maxLength": 35,
          "minLength": 2,
          "type": "string",
          "description": "A contact is a person representing the company. Required when partnerNr not set!"
        },
        "contactFirstName": {
          "maxLength": 35,
          "minLength": 2,
          "type": "string",
          "description": "A contact is a person representing the company. Required when partnerNr not set!"
        },
        "address": {
          "$ref": "#/$defs/Address"
        },
        "partnerNr": {
          "type": "integer",
          "description": "The PartnerNr of the partner.",
          "format": "int32"
        }
      }
    },
    "Coverable": {
      "required": [
        "code",
        "coverages"
      ],
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "description": "A code uniquely identifying a type of coverable",
          "format": "int32"
        },
        "riskLocation": {
          "$ref": "#/$defs/Address"
        },
        "coverages": {
          "maxItems": 99,
          "minItems": 1,
          "type": "array",
          "items": {
            "$ref": "#/$defs/Coverage"
          }
        }
      }
    },
    "Coverage": {
      "required": [
        "code",
        "premium",
        "sumInsured"
      ],
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "description": "A code uniquely identifying a type of coverage",
          "format": "int32"
        },
        "premium": {
          "$ref": "#/$defs/MonetaryAmount"
        },
        "deductible": {
          "$ref": "#/$defs/MonetaryAmount"
        },
        "sumInsured": {
          "$ref": "#/$defs/MonetaryAmount"
        },
        "measurandType": {
          "type": "integer",
          "format": "int32"
        },
        "measurandValue": {
          "$ref": "#/$defs/MonetaryAmount"
        },
        "discountType": {
          "type": "integer",
          "format": "int32"
        },
        "discountValue": {
          "$ref": "#/$defs/MonetaryAmount"
        },
        "extraChargeType": {
          "type": "integer",
          "format": "int32"
        },
        "extraChargeValue": {
          "$ref": "#/$defs/MonetaryAmount"
        }
      }
    },
    "FileHandle": {
      "required": [
        "handle"
      ],
      "type": "object",
      "properties": {
        "handle": {
          "type": "string",
          "description": "Reference to an uploaded document. This can be a PDF or a picture (e.g. JPG) of a contract or a purchase receipt."
        }
      }
    },
    "Identifier": {
      "required": [
        "id",
        "type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Id depending on the type."
        },
        "type": {
          "type": "string",
          "description": "The type of the id. EXT or INT.",
          "enum": [
            "INT",
            "EXT"
          ]
        }
      }
    },
    "MonetaryAmount": {
      "required": [
        "amount"
      ],
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "description": "An amount with two decimal digit like an insured sum or a deductible (e.g. 100,22)."
        }
      }
    },
    "Payment": {
      "required": [
        "code",
        "recurringType"
      ],
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "description": "A code uniquely identifying the type of payment e.g. invoice or creditcard, Paypal etc.",
          "format": "int32"
        },
        "recurringType": {
          "type": "integer",
          "description": "The recurring type code.",
          "format": "int32"
        },
        "dueDate": {
          "type": "string",
          "description": "The due date for the recurring type",
          "format": "date"
        }
      }
    },
    "Person": {
      "type": "object",
      "properties": {
        "salutation": {
          "type": "string",
          "description": "Required when partnerNr not set!",
          "enum": [
            "Mr",
            "Mrs"
          ]
        },
        "lastName": {
          "maxLength": 35,
          "minLength": 2,
          "type": "string",
          "description": "Required when partnerNr not set!"
        },
        "firstName": {
          "maxLength": 35,
          "minLength": 2,
          "type": "string",
          "description": "Required when partnerNr not set!"
        },
        "dateOfBirth": {
          "type": "string",
          "format": "date"
        },
        "phoneNumber": {
          "$ref": "#/$defs/PhoneNumber"
        },
        "emailAddress": {
          "maxLength": 70,
          "minLength": 2,
          "type": "string",
          "description": "A valid email address"
        },
        "language": {
          "maxLength": 2,
          "minLength": 2,
          "type": "string",
          "description": "The language for correspondence with the customer. According to ISO 639-1 language codes, only the values 'de', 'fr', 'it' or 'en' are accepted. Required when partnerNr not set!"
        },
        "address": {
          "$ref": "#/$defs/Address"
        },
        "partnerNr": {
          "type": "integer",
          "description": "The PartnerNr of the partner.",
          "format": "int32"
        }
      }
    },
    "PhoneNumber": {
      "required": [
        "phoneNumber"
      ],
      "type": "object",
      "properties": {
        "countryCode": {
          "type": "string",
          "description": "Country code, default is +41."
        },
        "phoneNumber": {
          "maxLength": 20,
          "minLength": 5,
          "type": "string",
          "description": "Phone number, without the leading zero."
        }
      }
    },
    "Product": {
      "required": [
        "code",
        "coverables",
        "pricingMonthYear"
      ],
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "description": "A code uniquely identifying the product",
          "format": "int32"
        },
        "pricingMonthYear": {
          "maxLength": 4,
          "minLength": 4,
          "type": "string",
          "description": "The month/year in which the pricing for the contract was set. Format MMYY"
        },
        "coverables": {
          "maxItems": 99,
          "minItems": 1,
          "type": "array",
          "items": {
            "$ref": "#/$defs/Coverable"
          }
        }
      }
    },
    "Role": {
      "required": [
        "role"
      ],
      "type": "object",
      "properties": {
        "role": {
          "type": "string",
          "enum": [
            "insuranceholder",
            "payer"
          ]
        },
        "person": {
          "$ref": "#/$defs/Person"
        },
        "company": {
          "$ref": "#/$defs/Company"
        }
      }
    },
    "TermsOfService": {
      "required": [
        "edition",
        "type"
      ],
      "type": "object",
      "properties": {
        "type": {
          "type": "integer",
          "description": "The type of service terms",
          "format": "int32"
        },
        "edition": {
          "type": "integer",
          "description": "The edition of the service terms",
          "format": "int32"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/baloise-contract"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.