Harmony IntegrationHarmony Integration

Create Contract

POST /api/insurance/CreateContract

📋 Create an insurance contract directly without first creating a lead. This method registers the application and returns a contract number (ContractNo).

🔧 Either provide itemNo in the device section, or provide manufacturer, model, and itemCategoryCode.

🏢 If buying insurance for a company, you can provide companyName and chambresOfCommerceNumber in the customer object.

Optional logging fields: employeeNo, externalReference, and shopNo at the root level let you track which employee or shop completed the transaction.

🇳🇱🇧🇪 Country-specific customer name fields:

  • Netherlands (countryCode: NL)initials is mandatory, firstname is optional.
  • Belgium (countryCode: BE)firstname is mandatory, initials is optional.

The playground below marks the required field with a * based on the countryCode you select in the customer object — pick NL or BE first to see the correct indicators.

About itemCategoryCode

The dropdown above shows a placeholder list that may not be complete. Categories available for your account can differ — sign in to load them automatically, or call SearchItemCategory to fetch the real list for your account.

POST
/api/insurance/CreateContract

Authorization

BearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

customer*object
Customer personal and contact details.
insurance*object
Insurance policy details.
device*object
Insured device details.
employeeNo?string
Employee number (optional).
shopNo?string
Shop or store number (optional).
externalReference?string
External reference identifier from your own system (optional).

Response Body

application/json

application/json

curl -X POST "https://jubilee-ws.test.harmony.nl/api/insurance/CreateContract" \  -H "Content-Type: application/json" \  -d '{    "customer": {      "companyName": "",      "chambresOfCommerceNumber": "",      "gender": "Unknown",      "initials": "J.D.",      "firstname": "John",      "middleName": "",      "lastName": "Doe",      "dateOfBirth": "1980-08-13",      "addressLine1": "Main Street",      "addressLine2": "123",      "addressLine3": "",      "zipCode": "1234AB",      "city": "Amsterdam",      "countryCode": "NL",      "phoneNumber": "+31612345678",      "emailAddress": "john.doe@example.com",      "ibanCode": "NL70ABNA00000000"    },    "insurance": {      "startDate": "2024-06-12",      "templateCode": "SJ0001",      "discountCode": null,      "acceptAutomaticPaymentCollection": true,      "acceptPolicyTerms": true,      "acceptPrivacyPolicy": true    },    "device": {      "itemNo": "PHONE-APPLE",      "itemCategoryCode": "PHONE",      "objectConditionCode": "REFURBISHED",      "manufacturer": "Apple",      "model": "iPhone X",      "serialNo": "SERIAL12351",      "imei": "000000000000000",      "ean": "",      "productType": "Mobile",      "retailPrice": "123.45",      "purchaseDate": "2024-01-01",      "includeTermsOfConditions": false    },    "employeeNo": "E0001",    "shopNo": "shop01",    "externalReference": "ref-x"  }'
{
  "contractNo": "C-123456789",
  "status": "created"
}
{}