API Reference
List ICP filter options
Returns the global ICP filter fields and curated option values supported by ICP templates.
/v1/accounts/{accountGroupId}/icp-templates/filter-optionsIntegration notes
Permissions
templates:read for reads and templates:write for create, update, and delete operations.
Follow-up
Template operations are synchronous. Read campaigns or content slots again when downstream state depends on a changed template.
Writing-style syntax
Samples support Spintax such as {Hi|Hello}, documented double-brace profile variables, and signal variables in signal samples. Sonarly renders them before approval; workflow-run edits require final text.
Parameters
accountGroupIdPathType: string
Account group ID that scopes the request.
Required
Request body
Responses
ICP filter options
Schema: IcpTemplateFilterOptionsSuccessResponse
Request validation failed
Schema: ValidationErrorResponse
Invalid or missing API key
Schema: ErrorResponse
Missing required permission
Schema: ErrorResponse
Rate limit exceeded
Schema: ErrorResponse
Internal server error
Schema: ErrorResponse
Response examples
200 Example JSONIcpTemplateFilterOptionsSuccessResponse
{
"success": true,
"data": {
"sections": [
{
"id": "507f1f77bcf86cd799439011",
"label": "string",
"fields": [
{
"key": "string",
"label": "string",
"type": "string",
"description": "string",
"aliases": "string",
"options": "string"
}
]
}
]
},
"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"
}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"
}