Back to reference

API Reference

Get signal results for a single prospect

GET/v1/accounts/{accountGroupId}/prospects/{prospectId}/signals

Pending 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

accountGroupIdPath

Type: string

Account group ID that scopes the request.

Required

prospectIdPath

Type: string

Sonarly prospect ID scoped to the account group.

Required

minScoreQuery

Type: integer

Minimum signal score required for included prospects.

Optional

Request body

This endpoint does not define a request body.

Responses

200

Prospect signal results

Schema: ProspectSignalsSuccessResponse

400

Request validation failed

Schema: ValidationErrorResponse

401

Invalid or missing API key

Schema: ErrorResponse

403

Missing required permission

Schema: ErrorResponse

404

Resource not found

Schema: ErrorResponse

429

Rate limit exceeded

Schema: ErrorResponse

500

Internal server error

Schema: ErrorResponse

502

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"
}