API Reference
Get signal results for a single prospect
/v1/accounts/{accountGroupId}/prospects/{prospectId}/signalsPending versus evaluated
A completed evaluation can return status evaluated with results: []. Treat pending as no completed evaluation yet, not as completed with no matching items.
Score filtering
minScore filters low-relevance items from returned groups. Source groups with no matching items are omitted, but evaluated remains evaluated after completion.
Integration notes
Permissions
templates:read/write for signal specification management, signals:read/write for scans, and prospects:read for prospect signal results.
Async
POST /signals/scans returns 202 Accepted with a scan id. Poll GET /signals/scans/{scanId}; prospect signal reads can remain pending until evaluations complete.
Parameters
accountGroupIdPathType: string
Account group ID that scopes the request.
Required
prospectIdPathType: string
Sonarly prospect ID scoped to the account group.
Required
minScoreQueryType: integer
Minimum signal score required for included prospects.
Optional
Request body
Responses
Prospect signal results
Schema: ProspectSignalsSuccessResponse
Request validation failed
Schema: ValidationErrorResponse
Invalid or missing API key
Schema: ErrorResponse
Missing required permission
Schema: ErrorResponse
Resource not found
Schema: ErrorResponse
Rate limit exceeded
Schema: ErrorResponse
Internal server error
Schema: ErrorResponse
Upstream service error
Schema: ErrorResponse
Response examples
200 Example JSONProspectSignalsSuccessResponse
{
"success": true,
"data": {
"prospectId": "507f1f77bcf86cd799439011",
"status": "pending",
"results": [
{
"type": "string",
"items": [
{
"score": "string",
"reasoning": "string",
"summary": "string",
"title": "string",
"postedAt": "string",
"postLink": "string",
"totalLikes": "string",
"totalComments": "string",
"replySummary": "string",
"commentedAt": "string",
"commentLink": "string",
"jobUrl": "https://example.com/resource",
"companyName": "Avery Stone",
"location": "string",
"employmentType": "string",
"seniorityLevel": "string",
"salary": "string",
"changeType": "string",
"oldValue": "string",
"newValue": "string",
"detectedAt": "string",
"percentageChange": "string"
}
],
"evaluatedAt": "2026-04-28T15:30:00.000Z"
}
],
"evaluatedAt": "2026-04-28T15:30:00.000Z"
},
"error": null,
"traceId": "507f1f77bcf86cd799439011"
}400 Example JSONValidationErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}401 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}403 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}404 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}429 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}500 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}502 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}