API Reference
Get campaign workflow status for a specific set of leads
Returns campaign-scoped workflow status for the requested lead IDs, including explicit not-started and not-in-campaign results so callers do not have to infer missing rows.
/v1/accounts/{accountGroupId}/campaigns/{campaignId}/lead-statusWorkflow statuses
Lead status is campaign-scoped and can be pending, waiting, completed, stopped, not_started, not_in_campaign, or not_eligible.
Integration notes
Required API permission
campaigns:read.
Prerequisites
integration_api_key, account_group_access.
Parameters
accountGroupIdPathType: string
Account group ID that scopes the request.
Required
campaignIdPathType: string
Campaign ID that identifies the campaign to read or mutate.
Required
leadIdsQueryType: string
Lead IDs to include in the requested operation.
Required
Request body
Responses
Campaign workflow status for the requested leads
Schema: CampaignLeadStatusListSuccessResponse
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 JSONCampaignLeadStatusListSuccessResponse
{
"success": true,
"data": {
"items": [
{
"leadId": "507f1f77bcf86cd799439011",
"workflowStatus": "pending",
"workflowInstanceId": "507f1f77bcf86cd799439011",
"latestStep": "string",
"workflowStopReason": "CONTENT_DISCARDED",
"hasPendingApproval": true
}
]
},
"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"
}