Back to reference

API Reference

List campaign content needing approval

Returns one item per prospect workflow run waiting for approval, including editable `subject`, `message`, and `requestMessage` fields plus a read-only `workflowReview` graph and per-message `reviewContext`. Use one-based `page` and `limit` pagination and inspect `currentPage`, `totalPages`, and `totalItems`; `limit` accepts 1–100. Approval is atomic for the complete pending batch of that one prospect run. Direct messages and InMail use `message` and optional `subject`, connection requests can include `requestMessage`, and comment content includes `postLink` and `postSummary` so reviewers can verify the target. Multiline content is represented as JSON strings with `\n` line breaks. Unknown query parameters are rejected with `422 VALIDATION_ERROR`.

GET/v1/accounts/{accountGroupId}/campaigns/content-approvals

Review queue

Use this endpoint to fetch all content currently waiting for approval before editing or approving it. Comment items include postLink and postSummary so reviewers can verify the exact LinkedIn post target.

Integration notes

Required API permission

campaigns:read.

Prerequisites

integration_api_key, account_group_access.

Parameters

accountGroupIdPath

Type: string

Account group ID that scopes the request.

Required

campaignIdQuery

Type: string

Campaign ID that identifies the campaign to read or mutate.

Optional

pageQuery

Type: integer

Query parameter used to filter or shape page.

Optional

limitQuery

Type: integer

Maximum number of items to return in this page.

Optional

Request body

This endpoint does not define a request body.

Responses

200

Pending approval content

Schema: CampaignContentApprovalListSuccessResponse

400

Request validation failed

Schema: ValidationErrorResponse

401

Invalid or missing API key

Schema: ErrorResponse

403

Missing required permission

Schema: ErrorResponse

422

Request validation failed

Schema: ValidationErrorResponse

429

Rate limit exceeded

Schema: ErrorResponse

500

Internal server error

Schema: ErrorResponse

502

Upstream service error

Schema: ErrorResponse

Response examples

200 Example JSONCampaignContentApprovalListSuccessResponse
{
    "success": true,
    "data": {
        "items": [
            {
                "workflowInstanceId": "507f1f77bcf86cd799439011",
                "campaignId": "507f1f77bcf86cd799439011",
                "campaignName": "Avery Stone",
                "linkedListId": "507f1f77bcf86cd799439011",
                "leadId": "507f1f77bcf86cd799439011",
                "personId": "507f1f77bcf86cd799439011",
                "firstName": "Avery Stone",
                "lastName": "Avery Stone",
                "title": "string",
                "companyName": "Avery Stone",
                "photoUrl": "https://example.com/resource",
                "linkedinUrl": "https://example.com/resource",
                "latestStep": "string",
                "pendingContent": [
                    {
                        "nodeId": "507f1f77bcf86cd799439011",
                        "nodeSubType": "string",
                        "contentType": "string",
                        "subject": "Quick follow-up",
                        "message": "Thanks for the context. I can send over details this afternoon.",
                        "requestMessage": "Thanks for the context. I can send over details this afternoon.",
                        "generatedAt": "string",
                        "previousStepSubType": "string",
                        "workflowPath": "string",
                        "reviewContext": "string",
                        "postLink": "string",
                        "postSummary": "string"
                    }
                ],
                "workflowReview": {
                    "nodes": [
                        "string"
                    ],
                    "edges": [
                        "string"
                    ]
                }
            }
        ],
        "totalItems": 0.82,
        "totalPages": 0.82,
        "currentPage": 0.82
    },
    "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"
}
422 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"
}
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"
}