Skip to main content
This page explains the shared notification model and the v1 API URL examples. For the full LENS (v2) watchlist surface — CRUD, members, subscriptions, event types, dashboard, and bulk acknowledge — see Watchlists in the v2 API.

Concepts

TIC uses three concepts for change notifications. Keeping them straight makes the rest of this page easier to follow.
TermMeaning
WatchlistA list of entities you want to monitor (companies, persons, addresses, properties, vehicles).
Notification triggerA destination attached to a watchlist that receives notifications. A trigger has a type (webhook, email, or sms) and a destination (URL, email address, or mobile phone number).
EventA detected change to a watchlist member (e.g. new address, new beneficial owner). Events are delivered to every enabled trigger on the watchlist.
A webhook is one type of notification trigger — specifically, one whose destination is an HTTPS URL. Email and SMS triggers carry a narrower summary; only webhook triggers receive the full event payload.
Use webhook triggers when you need the full event data. Use email/SMS when a human just needs to be alerted that something changed.

Creating a notification trigger

Before a trigger becomes active it must be confirmed. Confirmation behavior depends on the trigger type:

Webhook trigger (URL)

Auto-confirms when the destination URL responds with a successful HTTP status code to the initial confirmation request. Retries up to three times.

Email trigger

An email is sent to the destination address with a confirmation link. The trigger activates once the recipient clicks it.

SMS trigger

A text message is sent to the destination mobile number with a confirmation link. The trigger activates once the recipient clicks it.

Example — creating a webhook trigger

The example below adds a webhook trigger to watchlist 6 that reacts to changes in address, annual reports, intelligence, representatives, and status.
cURL
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "x-api-key: your_api_key" \
  --data '
    {
      "Destination": "https://webhook.site/cf728358-1738-4ffe-be04-f14a9d28a4de",
      "DestinationType": "webhook",
      "Address": true,
      "AnnualReport": true,
      "Intelligence": true,
      "Representatives": true,
      "Status": true
    }
  ' \
  https://api.tic.io/watchlists/6/triggers
Response
{
  "teamWatchListTriggerId": 2,
  "destination": "https://webhook.site/cf728358-1738-4ffe-be04-f14a9d28a4de",
  "destinationType": "webhook",
  "address": true,
  "annualReport": true,
  "intelligence": true,
  "representatives": true,
  "status": true,
  "hasBeenValidated": false,
  "lastMessageSentAtUtc": null,
  "lastUpdatedAtUtc": "2024-12-22T10:29:39.1746639Z"
}
A confirmation notification is then POSTed to the destination URL using the same payload format shown below.
Webhook payload
[
  {
    "teamWatchListMemberEventId": 1,
    "teamWatchListMemberId": 1,
    "teamWatchListId": 1,
    "externalId": "EXTERNAL ID 1",
    "companyId": 3503318,
    "watchListMemberEventType": "companyAddress",
    "eventDate": "2024-02-02T10:49:24",
    "lastUpdatedAtUtc": "2025-05-02T11:30:09"
  }
]

Testing a webhook trigger

You can test webhook triggers to verify your endpoint handles the payload correctly.
cURL
curl \
  --request POST \
  --header "Content-Type: application/json" \
  --header "x-api-key: your_api_key" \
  https://api.tic.io/watchlists/6/triggers/test
The test POST carries an array of sample events. Since 2025-05-02, every event in the array includes the source of the change.
Test payload
[
  {
    "teamWatchListMemberEventId": 1,
    "teamWatchListMemberId": 9029,
    "teamWatchListId": 18,
    "externalId": "MY_NUMBER_1",
    "companyId": 12345678,
    "watchListMemberEventType": "companyAddress",
    "eventDate": "2024-02-02T10:49:24",
    "lastUpdatedAtUtc": "2025-05-02T11:30:09"
  },
  {
    "teamWatchListMemberEventId": 2,
    "teamWatchListMemberId": 9029,
    "teamWatchListId": 18,
    "externalId": "MY_NUMBER_2",
    "companyId": 12345678,
    "watchListMemberEventType": "companyRegistration",
    "eventDate": "2025-04-09T15:21:04",
    "lastUpdatedAtUtc": "2025-05-02T11:30:09"
  },
  {
    "teamWatchListMemberEventId": 3,
    "teamWatchListMemberId": 9029,
    "teamWatchListId": 18,
    "externalId": "MY_NUMBER_3",
    "companyId": 12345678,
    "watchListMemberEventType": "companyIntelligence",
    "eventDate": "2025-04-13T15:47:27",
    "lastUpdatedAtUtc": "2025-05-02T11:30:09"
  },
  {
    "teamWatchListMemberEventId": 4,
    "teamWatchListMemberId": 9029,
    "teamWatchListId": 18,
    "externalId": "MY_NUMBER_4",
    "companyId": 12345678,
    "watchListMemberEventType": "companyFinancialDocument",
    "eventDate": "2025-02-25T08:51:23",
    "lastUpdatedAtUtc": "2025-05-02T11:30:09"
  }
]

Event types

The watchListMemberEventType field identifies what changed. Valid values:
TypeDescription
companyAddressNew information about one or more company addresses
companyNameNew information about the company’s legal or trade names
companyStatusNew information about company status
companyRegistrationNew information about registration (VAT, payroll, tax, etc.)
companyIntelligenceNew intelligence flags or signals
companyBeneficialOwnerNew information about beneficial owners
companyWorkplaceNew information about one or more workplaces owned by the company
companyPersonNew information about company representatives
companyRegisteredOfficeNew information about the registered office
companyShareCapitalNew information about share capital
companyPurposeNew information about the company’s registered purpose
companyDebtBalanceChanges to the debt balance
companyOrderToPayCaseNew information about one or more order-to-pay cases
companyFinancialDocumentNew financial documents such as annual reports
companyCaseNew information about cases (inneliggande ärenden)
personAddressNew information about person addresses
personNameNew information about person names
personStatusNew information about person status
personCompanyNew information about the person’s role as a company representative