v2DeprecatedSignals
Create a Signal
Record a new signal detection for a partner workspace.
Records a new signal detection for the workspace.
Create a signal
POST/api/v2/partner/workspaces/{partner_workspace_id}/signals
Path parameters
| Parameter | Type | Description |
|---|---|---|
| partner_workspace_id | string | Opaque workspace identifier from the partner system. |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| signal_type | string | Yes | Type of signal to record. See Signal reference for the concepts behind the automated types; this endpoint also accepts linkedinComment, linkedinReaction, hubspotContactDetection, salesforceContactDetection, jobPosting, jobPostingInsight, jobPostingHiringManager, and the lead-engagement types (leadLikedOwnContent, leadCommentedOwnContent, leadLikedCompetitorContent, leadCommentedCompetitorContent, leadLikedInfluencerContent, leadCommentedInfluencerContent). An unrecognized value is rejected. |
| interaction_data | any | Yes | Signal-type-specific payload. |
| workspace_company_document_id | string | Yes | ID of the workspace company to associate with this signal. Must belong to this workspace. |
| workspace_lead_document_id | string | No | ID of the workspace lead to associate with this signal. Must belong to this workspace. |
| agent_document_id | string | No | ID of the agent to attribute this signal to. Must belong to this workspace. |
Example request
curl -X POST "https://api.getsillage.com/api/v2/partner/workspaces/ws_123/signals" \
-H "Authorization: Bearer $SILLAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"signal_type": "keywordDetection",
"interaction_data": { "keywords_found": ["AI"] },
"workspace_company_document_id": "wcmp_abc123"
}'Example response
Status: 201 Created
{
"data": {
"id": 301,
"signal_type": "keywordDetection",
"data": { "keywords_found": ["AI"] },
"detected_at": "2026-06-12T09:00:00.000Z",
"signal_date": "2026-06-12T09:00:00.000Z",
"lead_id": null,
"company_id": 456,
"agent_id": null,
"source_url": null,
"author": null,
"excerpt": null
}
}Response fields
| Field | Type | Description |
|---|---|---|
| id | integer | Id of the signal. |
| signal_type | string or null | Signal type. |
| data | any or null | Signal-type-specific payload. |
| detected_at | string or null | When the signal was detected (ISO 8601). |
| signal_date | string or null | Date associated with the signal event (ISO 8601). |
| lead_id | integer or null | ID of the associated lead, if any. |
| company_id | integer or null | ID of the associated company, if any. |
| agent_id | integer or null | ID of the agent that produced this signal, if any. |
| source_url | string or null | Link to the source content behind the signal. null when the signal has no public external link. |
| author | object or null | The person behind the source content, when known: full_name, headline, linkedin_url (each nullable). null for company-level or authorless signals. |
| excerpt | string or null | A short text excerpt from the source content. null when no text is available. |
Errors
| Status | Meaning |
|---|---|
| 400 | Invalid request body. |
| 401 | The master key is missing or invalid. |
| 403 | The master key is not authorized to access this resource. |
| 404 | The supplied workspace_company_document_id, workspace_lead_document_id, or agent_document_id does not belong to this workspace. |
| 429 | Too many requests. |
| 500 | An unexpected server error occurred. |
Error responses use RFC 9457 problem documents with Content-Type: application/problem+json.