openapi: 3.2.0 info: title: Baloise Contracts API version: 0.1.0 contact: email: Group.CH_Open-Source@baloise.ch license: name: Apache License 2.0 url: https://github.com/baloise/corellia/blob/master/LICENSE.txt description: 'Operations tagged contracts across 2 of this provider''s published API definitions: corellia-openapi.json, baloise-corellia-contracts-openapi.yml. Each path carries the servers of the definition it was published in.' tags: - name: Contracts paths: /contracts/v2/cancellations: post: tags: - Contracts summary: cancel a contract description: cancels a contract. If validation fails processing is refused, a corresponding error is thrown operationId: cancelContract parameters: - name: X-Caller-Name in: header description: 'Identifying the sender of this event (request) ' required: true schema: type: string description: Defined by the callee - name: X-Event-ID in: header description: Unique identifier per event (request) required: true schema: type: string description: Generated UUID format: uuid requestBody: description: Cancellation to instruct the insurer to cancel the contract content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/Cancellation' required: true responses: default: description: A handle to the contract which was cancelled. It's intended for conversation between consumer and insurer content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/ContractReference' '400': description: Invalid cancellation is provided. See ErrorResponse for more information about validation issues content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Technical issue on server side, please retry later content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/ErrorResponse' /contracts/v2: post: tags: - Contracts summary: Upload a contract to the insurer description: Uploads a contract. If validation fails processing is refused, a corresponding error is thrown operationId: uploadContract parameters: - name: X-Caller-Name in: header description: 'Identifying the sender of this event (request) ' required: true schema: type: string description: Defined by the callee - name: X-Event-ID in: header description: Unique identifier per event (request) required: true schema: type: string description: Generated UUID format: uuid requestBody: description: Contract that needs to be uploaded to the insurer content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/Contract' required: true responses: default: description: A handle to the contract for conversation with the insurer is provided content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/ContractReference' '400': description: Invalid contract is provided. See ErrorResponse for more information about validation issues content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Technical issue on server side, please retry later content: application/json; charset=UTF-8: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: Cancellation: required: - action - identifier type: object properties: identifier: $ref: '#/components/schemas/Identifier' action: $ref: '#/components/schemas/Action' Coverable: required: - code - coverages type: object properties: code: type: integer description: A code uniquely identifying a type of coverable format: int32 riskLocation: $ref: '#/components/schemas/Address' coverages: maxItems: 99 minItems: 1 type: array items: $ref: '#/components/schemas/Coverage' 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 ContractReference: type: object properties: reference: type: string description: Under this reference the contract is stored at the insurer ErrorResponse: required: - errorCause - message type: object properties: errorCause: type: string enum: - httpClientError - httpClientErrorInputValidation - httpServerError message: type: string description: Information about the error detailMessages: type: array description: In case of e.g. validation error, each validation error is represented by one detail message items: type: string 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: '#/components/schemas/MonetaryAmount' roles: maxItems: 99 minItems: 1 type: array description: All roles in the contract, e.g. insuranceHolder items: $ref: '#/components/schemas/Role' product: $ref: '#/components/schemas/Product' agent: $ref: '#/components/schemas/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: '#/components/schemas/FileHandle' stampTaxCode: type: integer description: The tax stamp code for this contract format: int32 termsOfService: $ref: '#/components/schemas/TermsOfService' action: $ref: '#/components/schemas/Action' identifier: $ref: '#/components/schemas/Identifier' payment: $ref: '#/components/schemas/Payment' 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 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: '#/components/schemas/Address' partnerNr: type: integer description: The PartnerNr of the partner. format: int32 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). 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. Coverage: required: - code - premium - sumInsured type: object properties: code: type: integer description: A code uniquely identifying a type of coverage format: int32 premium: $ref: '#/components/schemas/MonetaryAmount' deductible: $ref: '#/components/schemas/MonetaryAmount' sumInsured: $ref: '#/components/schemas/MonetaryAmount' measurandType: type: integer format: int32 measurandValue: $ref: '#/components/schemas/MonetaryAmount' discountType: type: integer format: int32 discountValue: $ref: '#/components/schemas/MonetaryAmount' extraChargeType: type: integer format: int32 extraChargeValue: $ref: '#/components/schemas/MonetaryAmount' 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 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 Role: required: - role type: object properties: role: type: string enum: - insuranceholder - payer person: $ref: '#/components/schemas/Person' company: $ref: '#/components/schemas/Company' 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: '#/components/schemas/Coverable' 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: '#/components/schemas/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: '#/components/schemas/Address' partnerNr: type: integer description: The PartnerNr of the partner. format: int32 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 x-refined-from: - corellia-openapi.json - baloise-corellia-contracts-openapi.yml