curl --request POST \
--url 'https://api.plyne.ai/v1/monitor/signals' \
--header 'Authorization: Bearer plyne_...' \
--header 'Content-Type: application/json' \
--data '{
"account_ids": ["d8companyid"],
"signals": ["d8signaldefinitionid"],
"statuses": ["detected"],
"cursor": { "limit": 50 }
}'
{
"data": [
{
"id": "d8signalid",
"account": {
"id": "d8companyid",
"name": "Current Electric",
"domain": "currentelectric.com",
"profile": {
"platform": "linkedin",
"url": "https://linkedin.com/company/current-electric"
},
"country_code": "US"
},
"signal": {
"id": "d8signaldefinitionid",
"name": "Tech stack migration",
"question": "Did {company} recently adopt ServiceTitan?"
},
"status": "detected",
"score": 88,
"summary": "Moved to ServiceTitan, detected 2 days ago.",
"reason": "Public implementation evidence points to a recent ServiceTitan migration.",
"observed_at": "2026-06-15T08:00:00Z",
"references": []
}
],
"cursor": {
"next": "",
"has_more": false
}
}
POST /v1/monitor/signals
Body
signal_idsstring[]
Return specific signal observations by ID.
account_idsstring[]
Return signal observations for specific monitored accounts.
signalsstring[]
Filter by Custom Signal definition IDs.
statusesstring[]
Filter by account signal status.
Example: [“detected”]
observed_atobject
Restrict signals by observed timestamp.
cursor.limitinteger
Number of signal observations to return. Maximum value is 100.
cursor.afterstring
Opaque cursor returned as cursor.next from the previous response.