Skip to content
Signal
Dashboard

Signals

The signal object: an event that a monitor found, with type, strength and score.

A signal is an event that a monitor found for a campaign, for example a funding round or a leadership change. Signals are read-only. Monitor runs create them. The API has no operation that creates, changes or deletes one signal. The organization owns the signal. Campaign provenance is optional; subjects can exist without account or person records.

This page describes the current contract. Monitor targets and signal subjects describes organization ownership, subject identifiers and historical retention in this candidate.

The signal object

FieldTypeDescription
idUUIDRequired. ID of the signal.
campaign_idUUIDNullable. Retained source campaign provenance.
person_idsUUID arrayExisting people linked to the signal.
subjectsstring arrayStable subject references, independent of prospect records.
account_idsarray of UUIDIDs of the accounts that the signal is about. Empty for a topic signal and for a signal about people only.
summarystringRequired. What happened.
signal_typeenumRequired. Category of the event. See Signal types.
signal_display_namestringNullable. Display name of the signal type in the monitor config.
strengthenumNullable. Importance of the signal: LOW, MEDIUM or HIGH.
scorenumberNullable. Probability of a sales opportunity, from 0.0 to 1.0.
referencesarray of stringURLs of the sources.
metadataobjectNullable. Data that is specific to the signal type.
monitor_idUUIDNullable. ID of the monitor that found the signal. Null for an older signal with no monitor.
event_datedateNullable. Date of the event, YYYY-MM-DD. Null when the source gives no date.
created_attimestampRequired. Time when the monitor found the signal.
{
  "id": "1b2c3d4e-5f6a-4b7c-8d9e-0f1a2b3c4d5e",
  "campaign_id": "3f2b8a4e-1c5d-4e7f-9a0b-6c2d8e1f4a7b",
  "account_ids": ["8c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"],
  "summary": "Acme raised a 20 million USD Series A.",
  "signal_type": "funding",
  "signal_display_name": "Funding",
  "strength": "HIGH",
  "score": 0.82,
  "references": ["https://example.com/acme-series-a"],
  "metadata": null,
  "monitor_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "event_date": "2026-09-22",
  "created_at": "2026-09-23T12:00:00.000Z"
}

Signal types

signal_type has 17 values. The same values are valid for signal_types[].type in a monitor config.

ValueEvents
fundingInvestment rounds, grants or other capital raises.
leadership_changeChanges in executive leadership, the C-suite or the board of directors.
layoffWorkforce reductions, downsizing or restructuring.
product_launchNew products, services or major feature releases.
partnershipStrategic partnerships, alliances or integration announcements.
acquisitionMergers and acquisitions, as buyer or target.
expansionGeographic expansion, new market entry or office openings.
awardIndustry awards, recognitions, certifications or rankings.
pivotMajor business model changes or strategic direction shifts.
regulatoryRegulatory compliance updates, legal matters or policy changes.
rfpRFP issuance, vendor evaluations or the start of a procurement process.
contract_renewalContract renewals, renegotiations or upcoming expirations.
hiring_surgeUnusual hiring activity.
infrastructureInfrastructure incidents, upgrades or technology changes.
complianceNew compliance requirements, audit pressures or certification needs.
job_postingA single job posting.
otherOther business events. A monitor uses other for a custom signal type.

Strength and score

  • strength is the importance of the signal. The values are upper case: LOW, MEDIUM and HIGH.
  • score is the probability of a sales opportunity, from 0.0 to 1.0.
  • Both fields can be null.
  • list_signals can filter on strength. It has no filter on score.

Lifecycle

  • A monitor run creates signals. The run result.completed is the number of signals that the run processed.
  • delete_monitor deletes the signals that the monitor found.
  • delete_campaign retains signals and their source provenance.

list_signals lists the signals of the organization, oldest first. Send order=desc for the newest first. Use created_after or days to read recent signals. It takes these filters:

FilterDescription
campaign_idSignals with this campaign provenance, including retained history. An unknown campaign gives 404.
person_idSignals about an existing person of the organization.
account_idOnly the signals about this account. An unknown account gives 404.
signal_typeOnly the signals of this type.
strengthOnly the signals of this strength.
search_term=<text>Only the signals whose summary or type contains the text. The text has 1 to 200 characters.
monitor_idOnly the signals of this monitor. An unknown monitor gives 404.
created_afterOnly the signals created at or after this time, an RFC 3339 string.
daysOnly the signals of the last number of days, 1 to 365. Without it, the list has no time limit. With created_after, the later time applies.
orderasc (default) for the oldest first, desc for the newest first. Keep the same order with a cursor.
limit, cursorPagination. Read Paginate and handle errors.

When an account leaves the campaign that produced a signal, the signal stays. account_ids no longer includes that account, and the account_id filter no longer finds the signal.

Operations

Each path below follows $LINKT_API_URL/v2. Set LINKT_API_URL to the origin only, for example https://api.signal.linkt.ai.

OperationMethod and pathPurpose
list_signalsGET /signalsList the signals of the organization.
get_signalGET /signals/{signal_id}Get one signal.
curl --fail-with-body --request GET "$LINKT_API_URL/v2/signals/$SIGNAL_ID" \
  --header "x-api-key: $LINKT_API_KEY"

API reference: get_signal

curl --fail-with-body --request GET "$LINKT_API_URL/v2/signals?limit=5" \
  --header "x-api-key: $LINKT_API_KEY"

API reference: list_signals

APP-483 candidate fields

The coordinated release adds subjects, person_ids, and event_date. Subject references identify observed subjects independently of prospect records. Account and person IDs refer only to existing records. Reading a signal does not convert its subject into a prospect. A person's known account relationship is included when available.

campaign_id becomes nullable provenance. Historical values and signal UUIDs remain unchanged after source deletion. event_date is null when unknown; created_at records when the observation was saved. Keep these dates distinct. Evidence remains in references and metadata.

Set person_id to an existing person UUID to read that person's signals. The UUID below is illustrative; replace it with your person's ID.

curl --fail-with-body --request GET "$LINKT_API_URL/v2/signals?limit=5&person_id=$PERSON_ID" \
  --header "x-api-key: $LINKT_API_KEY"

API reference: list_signals

These additions describe the APP-483 candidate, pending coordinated runtime activation. The downloaded contract identifies the exact backend candidate.

On this page