Reten Docs
Activity Generation Configs

Listar Activity Generation Configs

Lista as activity generation configs do projeto ativo (somente metadados).

GET /api/activity-generation-configs

Retorna um array com as activity generation configs do projeto ativo, da mais nova para a mais antiga. A lista não é paginada. Este endpoint retorna somente metadados — não inclui os pilares de ciclo de vida aninhados nem os config hashes; cada item traz os nomes dos seus três pilares e seu effectiveAudienceId.

Auth: Obrigatório — permissão activity-generation-config:view

configHashes e a configuração aninhada completa (activationConfig, engagementConfig, resurrectionConfig) só são retornados por GET /:id. Use este endpoint de listagem para descobrir AGCs e depois busque uma por id para ver os detalhes.

Parâmetros de Query

ParâmetroTipoPadrãoDescrição
statusdraft | active | paused—Retorna apenas as AGCs nesse status. Sem ele, são retornadas as AGCs de todos os status. Apenas as configurações active estão pensadas para rodar: liste-as com ?status=active

Exemplo

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' }, // opcional; sem ele, todos os status
    headers: { Authorization: 'Bearer <token>', 'x-tenant-id': '<tenant-id>', 'x-project-id': '<project-id>' },
  },
);
const configs = response.data;

Resposta 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 é audienceId quando a AGC tem audiência própria, e a audiência raiz do projeto caso contrário — veja Audiência efetiva. Nunca é null.

Respostas de Erro

StatusDescrição
400status não é um de draft, active, paused