List Activity Generation Configs
List the activity generation configs of the active project (metadata only).
GET /api/activity-generation-configs
Returns an array with the activity generation configs of the active project, newest first. The list is not paginated. This endpoint returns metadata only — it does not include the nested lifecycle pillars or config hashes; each item carries the names of its three pillars and its effectiveAudienceId.
Auth: Required — activity-generation-config:view permission
configHashes and the full nested configuration (activationConfig, engagementConfig, resurrectionConfig) are only returned by GET /:id. Use this list endpoint to discover AGCs, then fetch one by id for the details.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
status | draft | active | paused | — | Only return the AGCs in this status. Without it, AGCs in every status are returned. Only active configurations are meant to run: list them with ?status=active |
Example
curl "https://api.reten.ai/api/activity-generation-configs?status=active" \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "x-project-id: <project-id>"import axios from 'axios';
const response = await axios.get(
'https://api.reten.ai/api/activity-generation-configs',
{
params: { status: 'active' }, // optional; without it, every status
headers: { Authorization: 'Bearer <token>', 'x-tenant-id': '<tenant-id>', 'x-project-id': '<project-id>' },
},
);
const configs = response.data;Response 200 OK
[
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"projectId": "3f6c2b1a-8d4e-4f7a-9b2c-5e1d0a7f6c34",
"name": "Default lifecycle",
"description": "Activation, engagement and resurrection for the main funnel",
"audienceId": null,
"status": "active",
"updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2026-06-10T14:00:00.000Z",
"updatedAt": "2026-06-15T09:30:00.000Z",
"activationConfigName": "Activation",
"engagementConfigName": "Engagement",
"resurrectionConfigName": "Resurrection",
"effectiveAudienceId": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"
},
{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"projectId": "3f6c2b1a-8d4e-4f7a-9b2c-5e1d0a7f6c34",
"name": "Premium cohort lifecycle",
"description": null,
"audienceId": "1f0d2c3b-4a59-4687-9c12-abcdef012345",
"status": "active",
"updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"createdAt": "2026-06-02T08:15:00.000Z",
"updatedAt": "2026-06-12T17:40:00.000Z",
"activationConfigName": "Premium activation",
"engagementConfigName": "Premium engagement",
"resurrectionConfigName": "Premium resurrection",
"effectiveAudienceId": "1f0d2c3b-4a59-4687-9c12-abcdef012345"
}
]effectiveAudienceId is audienceId when the AGC has its own audience, and the project's root audience otherwise — see Effective audience. It is never null.
Error Responses
| Status | Description |
|---|---|
400 | status is not one of draft, active, paused |