ScalepointDeveloper Portal

Events API Types of Events Supported By CORE & HUB

Events header

All events contain some header information

FieldDescription
$schemajson schema
$schema_basebase schema for all events
eventTypetype of the event corresponding the schema
payloadVersionversion
correlationIdid used to correlate behavior in backend system
timestamptimestamp for the event

Supported events

Folling is a list of all current supported events

Scalepoint to IC

case_created

Supported systems: HUB Property

Send when a claim has been created in CWA. Most useful when the case is not created thourgh integration as the backend system can react with case_created event back to CWA updating the case number.

claim_updated

CaseClosed

Supported systems: ClaimShop, HUB Property

Event is sent when claim is closed.

{
  "$schema": "./schemas/claim_updated_payload.json",
  "$schema_base": "./schemas/event_envelope.schema.json",
  "eventType": "claim_updated",
  "payloadVersion": "1.0.0",
  "correlationId": "f80245d2-d4a2-4f41-b488-bfb470ee48be",
  "timestamp": "2016-12-01T12:34:39.887165Z",
  "case": {
    "number": "CN82411074",
    "token": "b.9e28f37f-4495-4b26-8654-10db263fd618",
    "caseType": "PropertyClaim"
  },
  "changedBy": {
    "fullName": "Built-in Administrator",
    "username": "admin",
    "userType": "Scalepoint"
  },
  "changes": [
    {
      "property": "CaseClosed",
      "isTerminated": true,
      "terminationReason": "CreatedByMistake",
      "terminationReasonDescription": "Description"
    }
  ]
}

If isTerminated is false, then the claim has gone through happy flow (craftsman assigned, invoiced approved...)

Otherwise the following termination reasons are possible:

TerminationReasonDescription
NoneNone is used when claim is not terminated = "close claim" task was suggested to user and claim was closed in normal flow
NotCoveredClaim handler changes coverage to 'Not covered' and closes case - not matter if claim was covered prior
BelowDeductibleClaim handler changes coverage to 'Below Deductible' and closes case
CreatedByMistakeOnly used in connection with termination. Used when user manually choose "termination" and select "created by mistake"
OtherOnly used in connection with termination. Used when user manually choose "other" and select "created by "other". User can add terminationReason in text. This text is added to request
PhoneInspectionAssessor has option when assigned to inspection to select "phone-inspection" and set coverage. If this result in not covered then claim can be terminated. Seems that phoneInspection is not used
NotCoveredAfterInspectionService partner sets claim as not covered
PaidInOwnSystemClaim handler marked that the claim would already handled in backend system. Only used in connection with "terminated"
InactivityIn settings it can be defined when case is closed by system due to inactivity
CustomReasonClaim handler inputs customer reason provided in the TerminationReasonDescription
TerminationReasonDescription

User friendly message which can be showed on UI

ShouldBeClosedInOwnSystem

True if user checked the corresponding box when closing the claim.

claim_reopened

Send when the claim has previously been closed, but is not opened once again. Can happend for instance if a service provider files an invoice or if the claimant writes a message. The claim handler can also choose to reopen the case.

accident_date_changed

Send when the accident date has been changed on the damage tab.

additional_claim_field

Send when 'Additional claim fields' have been changed on UI. These are the individually configurable fields.

reserve_updated

Payload example:

{
            "id": "_1001",
            "type": "reserve_updated",
            "timestamp": "2021-02-15T13:48:36.008917413Z",
            "attributes": {
                "eventType": "reserve_updated",
                "payloadVersion": "1.1.0",
                "changesInReserves": {
                    "2190": [
                        {
                            "property": "planned",
                            "newValue": 1037.0
                        },
                        {
                            "property": "actual",
                            "newValue": 0.0
                        },
                        {
                            "property": "isdefault",
                            "newValue": true
                        },
                        {
                            "property": "title",
                            "newValue": "Oprindelig reserve"
                        },
                        {
                            "property": "id",
                            "newValue": 2190
                        },
                        {
                            "property": "type.id",
                            "newValue": 1904
                        },
                        {
                            "property": "type.name",
                            "newValue": "Alm. Erstatning"
                        },
                        {
                            "property": "type.code",
                            "newValue": "RE-001"
                        },
                        {
                            "property": "type.flow",
                            "newValue": 0
                        }
                    ]
                },
                "correlationId": "9bdcbed3-fbd7-4333-be06-a15c19f0890f",
                "timestamp": "2021-02-15T13:48:36.8432584+00:00",
                "case": {
                    "uuid": "30cc0a25-4903-47ca-9856-d822aad0e331",
                    "number": "905709",
                    "token": "ic.30cc0a25-4903-47ca-9856-d822aad0e331"
                },
                "changedBy": {}
            }
        }

When reserve has changed. Either manually or if an invoice has been approved and the reserve is therefore decreased.

Schema:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "planned": {
            "type": "number"
        },
        "plannedChange": {
            "type": "object",
            "properties": {
                "property": {
                    "type": "string",
                    "enum": [
                        "planned"
                    ]
                },
                "newValue": {
                    "$ref": "#/definitions/planned"
                },
                "oldValue": {
                    "$ref": "#/definitions/planned"
                }
            }
        },
        "outgoing": {
            "type": "number"
        },
        "outgoingChange": {
            "type": "object",
            "properties": {
                "property": {
                    "type": "string",
                    "enum": [
                        "outgoing"
                    ]
                },
                "newValue": {
                    "$ref": "#/definitions/outgoing"
                },
                "oldValue": {
                    "$ref": "#/definitions/outgoing"
                }
            }
        },
        "incoming": {
            "type": "number"
        },
        "incomingChange": {
            "type": "object",
            "properties": {
                "property": {
                    "type": "string",
                    "enum": [
                        "incoming"
                    ]
                },
                "newValue": {
                    "$ref": "#/definitions/incoming"
                },
                "oldValue": {
                    "$ref": "#/definitions/incoming"
                }
            }
        },
        "changesInReserves": {
            "type": "object",
            "additionalProperties": {
                "type": "array",
                "items": {
                    "$ref": "#/definitions/changeItem"
                }
            }
        },
        "changeItem": {
            "type": "object",
            "required": ["property", "newValue"],
            "properties": {
                "property": {
                    "type": "string"
                },
                "newValue": {
                    "type": ["number", "string", "boolean", "null"]
                },
                "oldValue": {
                    "type": ["number", "string", "boolean", "null"]
                }
            }
        }
    },
    "type": "object",
    "properties": {
        "eventType": {
            "type": "string",
            "enum": [
                "reserve_updated"
            ]
        },
        "payloadVersion": {
            "type": "string"
        },
        "correlationId": {
            "type": "string"
        },
        "timestamp": {
            "type": "string"
        },
        "case": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "changedBy": {
            "type": "object",
            "properties": {
                "fullName": {
                    "type": ["string", "null"]
                },
                "username": {
                    "type": ["string", "null"]
                },
                "email": {
                    "type": ["string", "null"]
                }
            }
        },
        "changesInReserves": {
            "$ref": "#/definitions/changesInReserves"
        }
    },
    "required": [
        "eventType",
        "payloadVersion",
        "correlationId",
        "timestamp",
        "changesInReserves"
    ]
}
AttachmentsAdded

Event is sent when new attachments are added to a claim.

{
    "eventType": "claim_updated",
    "payloadVersion": "1.0.0",
    "correlationId": "d2f1c8e2-4b2a-4c8e-9e2a-1a2b3c4d5e6f",
    "timestamp": "2025-11-24T10:00:00Z",
    "case": {
        "number": "987654321",
        "token": "b.12345678-1234-1234-1234-123456789abc",
        "caseType": "PropertyClaim"
    },
    "changedBy": {
        "fullName": "Jane Doe",
        "username": "jdoe@future.com",
        "userType": "ClaimHandler"
    },
    "changes": [
        {
            "property": "AttachmentsAdded",
            "attachments": [
                {
                    "id": "att-001",
                    "fileName": "invoice.pdf",
                    "description": "Invoice document",
                    "fileSize": 123456,
                    "isRestricted": false
                },
                {
                    "id": "att-002",
                    "fileName": "photo.jpg",
                    "description": "Damage photo",
                    "fileSize": 234567,
                    "isRestricted": true
                }
            ]
        }
    ]
}
AttachmentChanged

Event is sent when an attachment's description or restriction status is changed.

{
    "eventType": "claim_updated",
    "payloadVersion": "1.0.0",
    "correlationId": "e3f2c1d4-5b6a-7c8d-9e0f-1a2b3c4d5e6f",
    "timestamp": "2025-11-24T11:00:00Z",
    "case": {
        "number": "987654321",
        "token": "b.12345678-1234-1234-1234-123456789abc",
        "caseType": "PropertyClaim"
    },
    "changedBy": {
        "fullName": "Jane Doe",
        "username": "jdoe@future.com",
        "userType": "ClaimHandler"
    },
    "changes": [
        {
            "property": "AttachmentChanged",
            "id": "att-001",
            "description": "Updated invoice document",
            "isRestricted": true
        }
    ]
}

case_settled

Supported systems: ClaimShop, HUB Property

This event is used to integrate information about payments, invoices and claimant share (like deductible, depreciation, vat).

A settlement is zero or multiple expenses and claimant share approved and payed out on a claim.

When a case is partially or fully settled in Scalepoint

Description

FieldDescription
case
case.uuidUnique key for the case
case.tokencase token
case.numberclaim number
settlement
settlement.approvedbyWho approve the settlement
settlement.approvedby.nameApprover name
settlement.approvedby.emailApprover email
settlement.approvedby.typeuser or system (in case of automatic approval)
summarydifferent values affecting the payments, all in money
summary.manualReductionUsed for various purposes on a contentClaim
summary.shareOfVatamount of VAT the claimant pays
summary.deductibleamount of deductible applied in this settlement
summary.depreciationamount of depreciation applied in this settlement
PartiesParticipants who either payes or recieves money
Party.$idreference to this party within the json document
Party.address
Party.ididentification of the participant, can be cpr-number or cvr-number
Party.internalidunique key provided by the IC: In case of network service providers, this is manage in scalepoint ui
Party.externalIdService Partner Id from external systems when available (e.g forsti related claims)
Party.participantIdService Partner Agent Id from the system
Party.rolesRole that this partiy plays on the claim. can be: serviceProvider, policyHolder, claimant
expensessummary of the approved expenses
expense.$idreference to this expense within the json document
expense.uuidUnique id for the expense
expense.ididentification of the expense, usually the invoice number given by the service partner
expense.totaltotal amount on the invoice, before any selfcoverage (deductible, depreciation...)
expense.subtotaltotal minus VAT
expense.vatvat
expense.currencyCodecurrency for the invoice, usually DKK for now
expense.issueDateDate for when the invoice was issued by the payee party
expense.dueDateDuedate as stated on the invoice
expense.expenseTypescalepoint specific type of invoice
expense.administrativeif the invoice is for a service which is not claim related
expense.payerPartypayer as stated on the invoice
expense.payeePartyissuer of invoice
expense.isPayeeThirdPartyClaimantflag to distinguish if payee is a third party claimant
expense.claimantPartyclaimant party data if payee is third party claimant
expense.policyCoverageexpense coverage by policy
expense.registrationNocar registration number (motor only)
obligationssummary of who is obliged to compensate what
obligation.$idreference to this obligation within the json document
obligation.typetype of obligation like compensation, deductible, depreciation, vat, creditnote
obligation.payerPartyreference to participant who is obliged to compensate
obligation.payeePartyreference to participant who needs compensation
obligation.amountamount to be compensated
obligation.currencyCodecurrency of obligation, usually DKK for now
obligation.ruleNamename of the rule describing the reason for obligation
obligation.expensereference to expense that needs compensation
obligation.creditNotereference to expense that is crediting
paymentsArray of transactions between parties
payment.uuidUnique id for the particular transaction. Can be used to provide feedback to scalepoint if the given transaction succeeded or not
payment.dueDateWhen the transaction is due. This value is not taken directly from the invoice, but taken from payment terms
payment.payerPartyreference to the paying participant
payment.payeePartyreference to the participant getting payed
payment.totalAmount to be transferred
payment.currencyCodecurrency for the transaction, usually DKK for now
payment.paymentMeansSuggested payment means
payment.paymentMeans.paymentMeansCodepossible values: DOMESTIC_BANK_TRANSFER, INTERNATIONAL_BANK_TRANSFER, FIK_PAYMENT, NEMKONTO_BANK_TRANSFER
payment.paymentMeans.paymentChannelCodepossible values: DK:BANK, DK:FIK, IBAN, DK:NEMKONTO
payment.paymentMeans.paymentId
payment.paymentMeans.instructionId
payment.paymentMeans.creditAccount
payment.additionalPaymentMeansPayment means alternative to suggested payment.paymentMeans
payment.expensesexpenses to which this transaction relates
payment.obligationsobligations to which this transaction relates

message_received

This event is used to notify the system when a new message is added to a claim. It provides information about the message, including the channel, sender, and other relevant metadata.

Description

FieldDescription
message
message.idUnique identifier for the message
message.timestampTimestamp when the message was received
message.channelThe channel through which the message was received (e.g., email, SMS, myClaim, etc.)
message.senderInformation about the sender of the message
message.sender.nameName of the sender
message.sender.emailEmail address of the sender (if applicable)
message.sender.phonePhone number of the sender (if applicable)
message.sender.typeType of sender (e.g., Participant, Unknown sender)
message.sender.roleRole of the sender (e.g., PolicyHolder, ServiceProvider)
message.contentContent of the message
message.attachmentsList of attachments included in the message
message.attachments.fileNameName of the attached file
message.attachments.fileTypeType of the attached file
message.attachments.uploadedByInformation about who uploaded the attachment

Example Payload

    {
    "messageReceivedData": {
        "type": "object",
        "title": "message_received event",
        "properties": {
            "senderData": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "roles": {
                        "type": "string"
                    },
                    "isClaimParticipant": {
                        "type": "boolean"
                    }
                }
            },
            "messageData": {
                "title": "Message data",
                "type": "object",
                "properties": {
                    "subject": {
                        "type": "string"
                    },
                    "receivedOn": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "channelType": {
                        "type": "string",
                        "enum": [
                            "Sms",
                            "Email",
                            "ClaimPage",
                            "MessageTab"
                        ]
                    },
                    "addMessageAction": {
                        "type": "string",
                        "enum": [
                            "Message",
                            "Attachment"
                        ]
                    }
                }
            }
        }
    }
}

claim_deleted

This event is used to notify the system when a claim has been deleted. It provides information about the system (from which the claim was deleted), claim ids, who deleted it and when.

Description

FieldDescription
systemSystem from which the claim was deleted. Possible values: "corehub"
case
case.numberNumber identification of the claim
case.tokenUnified token identification of the claim
deletedBy
deletedBy.fullNameFull name of the actor who deleted the claim
deletedBy.usernameUser name of the actor who deleted the claim
deletedBy.userTypeUser type of the actor who deleted the claim. Possible values: "Scalepoint", "ServicePartnerUser", "ClaimHandler", "InternalAssessor", "Other"
deletedBy.nameName of the actor who deleted the claim
deletedBy.emailEmail of the actor who deleted the claim
deletedBy.typeType of the actor who deleted the claim. Possible values: "user", "system"

Example Payload

{
  "eventType": "claim_deleted",
  "payloadVersion": "1.0.0",
  "correlationId": "9798f8b4-8a4e-4ec9-9ad2-0c0404779902",
  "timestamp": "2025-07-15T08:55:18.4586747Z",
  "system": "corehub",
  "case": {
	"number": "CN1234554",
	"token": "b.48cff215-3d17-442d-814e-660028b4f2c2"
  },
  "deletedBy": {
    "fullName": "Test Testensen",
    "username": "test@scalepoint.com",
    "userType": "Scalepoint",
    "name": "Test Testensen",
    "email": "test@scalepoint.com",
    "type": "user"
  }
}

JSON Schema of claim_deleted

Please refer to the JSON Schema

task_updated

This event is used to integrate information about an updated task on a claim. It provides basic information about the task, who updated it and when.

Description

FieldDescription
timestampTime stamp when the event is created
taskIdScalepoint internal task Id
taskNameName of the task
taskDescriptionDescription of the task
taskStatusStatus of the task
deadlineDeadline of the task if exists
taskTemplateNameTask template name if used
payloadVersionVersion of the payload, in case if we do any breaking changes we will update this version
createdByName of a user who created a task. System in case a task was created automatically
assigneeName of a user assigned to a task
assigneeUserTypeType of a user assigned to a task
caseCase object related to the task
case.idCase identifier related to the task
case.numberCase number related to the task
case.sourceOfCreationCase source of creation related to the task

Example Payload

{
    "eventType":"task_updated",
    "payloadVersion":"1.0.0",
    "timestamp":"2025-08-27T10:34:47.8371855Z",
    "taskId":"1cdb66d4-557e-4468-8411-4f1039111a9f",
    "taskName":"Test custom task",
    "taskStatus":"Active",
    "createdBy":"System",
    "assignee":"Test Assignee",
	"assigneeUserType": "ClaimHandler",
	"case": {
		"id": "f90eedd4-13d6-4970-bcbe-65703531dad6",
		"number": "CN1234",
		"sourceOfCreation": "Phone"
	}
}

JSON Schema of task_updated

Please refer to the JSON Schema

claim_attachment_change_failed

Sent by Scalepoint when a requested attachment change cannot be applied (for example attachment not found or processing error). The event is intended for the insurance company / backend to be able to react to a failed attempt.

Description

FieldDescription
timestampTime stamp when the event is created
payloadVersionVersion of the payload
correlationIdId used to correlate behavior in backend system
attachmentIdExternal identifier of the attachment
errorMessageHuman readable error description

Example Payload:

{
  "eventType": "claim_attachment_change_failed",
  "payloadVersion": "1.0.0",
  "correlationId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "timestamp": "2026-01-20T13:16:52.8568284Z",
  "attachmentId": "8ac4852d-3e5f-4ed3-9f8b-014748881739",
  "errorMessage": "Attachment not found"
}

JSON Schema of claim_attachment_change_failed

Please refer to the JSON Schema

IC to Scalepoint

case_created

The provided case.number is save to the claim with the given case.token, if it does not already have a number.

case_creation_failed

Used when the backend system fails to generate a case number. Case will be closed in CWA and the message will be displayed to the user

case_notification

Used to create messages on the message tab of a given claim. The notification.type can be used to set up rules for creating specific tasks for claim handlers.

Description

FieldDescription
eventTypeType of the event. Value: case_notification
payloadVersionVersion of the payload
correlationIdId used to correlate behavior in backend system
timestampTimestamp when the event was created
case
case.tokenClaim token identifying the target case
notification
notification.typeType of notification – can be used to trigger specific tasks for claim handlers
notification.messageMessage text to be added to the message tab of the claim

Example Payload

{
  "eventType": "case_notification",
  "payloadVersion": "1.0.0",
  "correlationId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "timestamp": "2026-01-19T11:50:07Z",
  "case": {
    "token": "b.9e28f37f-4495-4b26-8654-10db263fd618"
  },
  "notification": {
    "type": "ExternalUpdate",
    "message": "The claim has been reviewed by the backend system."
  }
}

payment_status_updated

When a particular payment in a case_settled event has been processed or canceled, the ic can send this event, to reflect the change on the settlements tab in CWA.

claim_attachment_changed

This event is sent from IC to Scalepoint when an attachment's description or restriction status has been changed in the external system.

Description

FieldDescription
timestampTime stamp when the event is created
payloadVersionVersion of the payload
correlationIdId used to correlate behavior in backend system
payload.attachmentIdExternal identifier of the attachment
payload.descriptionNew attachment description
payload.isRestrictedNew restriction flag

Example Payload

{
  "eventType": "claim_attachment_changed",
  "payloadVersion": "1.0.0",
  "correlationId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "timestamp": "2026-01-19T11:50:07Z",
  "payload": {
    "attachmentId": "8ac4852d-3e5f-4ed3-9f8b-014748881735",
    "description": "Photo of the damaged bumper",
    "isRestricted": false
  }
}

JSON Schema of claim_attachment_changed

Please refer to the JSON Schema

Last updated on

On this page