Reten Docs
Activity Generation Configs

Obtener Activity Generation Config

Obtiene una activity generation config con todos los pilares anidados y los config hashes.

GET /api/activity-generation-configs/:id

Devuelve una única activity generation config del proyecto activo con su configuración anidada completa — los tres pilares de ciclo de vida y sus hijos — más su status, su effectiveAudienceId (ver Audiencia efectiva) y el objeto configHashes.

Auth: Requerida — permiso activity-generation-config:view

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID de la activity generation config

Las respuestas son camelCase. Las colecciones anidadas de cada pilar se llaman activationConfig.activationMoments, engagementConfig.engagementLevels y resurrectionConfig.resurrectionThresholds.

Ejemplo

curl https://api.reten.ai/api/activity-generation-configs/f47ac10b-58cc-4372-a567-0e02b2c3d479 \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "x-project-id: <project-id>"
import axios from 'axios';

const id = 'f47ac10b-58cc-4372-a567-0e02b2c3d479';
const response = await axios.get(
  `https://api.reten.ai/api/activity-generation-configs/${id}`,
  { headers: { Authorization: 'Bearer <token>', 'x-tenant-id': '<tenant-id>', 'x-project-id': '<project-id>' } },
);
const config = response.data;

Respuesta 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": "1f0d2c3b-4a59-4687-9c12-abcdef012345",
  "status": "active",
  "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "createdAt": "2026-06-10T14:00:00.000Z",
  "updatedAt": "2026-06-15T09:30:00.000Z",
  "activationConfig": {
    "id": "2a8f0c11-6b22-4d33-8e44-aa55bb66cc77",
    "name": "Activation",
    "description": "First-week activation moments",
    "sourceTable": "events",
    "sourceColumns": ["user_id", "event_id"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "aggregationMethod": "nunique",
    "isActive": true,
    "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2026-06-10T14:00:00.000Z",
    "updatedAt": "2026-06-10T14:00:00.000Z",
    "activationMoments": [
      {
        "id": "3b9a1d22-7c33-4e44-9f55-bb66cc77dd88",
        "activationConfigId": "2a8f0c11-6b22-4d33-8e44-aa55bb66cc77",
        "statusCode": "aha",
        "userRetentionStatusConfigId": "aa11bb22-cc33-4d44-9e55-ff66aa77bb88",
        "minActions": 3,
        "windowDays": 7,
        "timeWindow": 30,
        "priority": 1,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      },
      {
        "id": "4c0b2e33-8d44-4f55-a066-cc77dd88ee99",
        "activationConfigId": "2a8f0c11-6b22-4d33-8e44-aa55bb66cc77",
        "statusCode": "setup",
        "userRetentionStatusConfigId": "bb22cc33-dd44-4e55-9f66-aa88bb99ccaa",
        "minActions": 1,
        "windowDays": null,
        "timeWindow": null,
        "priority": 2,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      }
    ]
  },
  "engagementConfig": {
    "id": "5d1c3f44-9e55-4066-b177-dd88ee99ffaa",
    "name": "Engagement",
    "description": "Active-user engagement levels",
    "sourceTable": "events",
    "sourceColumns": ["user_id", "event_id"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "engagementWindowDays": 28,
    "minLifetimeActionsForEngaged": 1,
    "countingMethod": "active_days",
    "isActive": true,
    "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2026-06-10T14:00:00.000Z",
    "updatedAt": "2026-06-10T14:00:00.000Z",
    "engagementLevels": [
      {
        "id": "6e2d4055-af66-4177-c288-ee99ffaa00bb",
        "engagementConfigId": "5d1c3f44-9e55-4066-b177-dd88ee99ffaa",
        "statusCode": "casual",
        "userRetentionStatusConfigId": "cc33dd44-ee55-4f66-a077-bb99ccaaddbb",
        "label": "Casual",
        "minThreshold": 1,
        "maxThreshold": 7,
        "order": 1,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      },
      {
        "id": "7f3e5166-b077-4288-d399-ffaa00bb11cc",
        "engagementConfigId": "5d1c3f44-9e55-4066-b177-dd88ee99ffaa",
        "statusCode": "core",
        "userRetentionStatusConfigId": "dd44ee55-ff66-4077-b188-ccaaddbbeecc",
        "label": "Core",
        "minThreshold": 8,
        "maxThreshold": null,
        "order": 2,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      }
    ]
  },
  "resurrectionConfig": {
    "id": "8a4f6277-c188-4399-e400-aa00bb11ccdd",
    "name": "Resurrection",
    "description": "Recovery vs. churn classification",
    "sourceTable": "events",
    "sourceColumns": ["user_id"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "isActive": true,
    "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2026-06-10T14:00:00.000Z",
    "updatedAt": "2026-06-10T14:00:00.000Z",
    "resurrectionThresholds": [
      {
        "id": "9b5a7388-d299-44aa-f511-bb11ccdd22ee",
        "resurrectionConfigId": "8a4f6277-c188-4399-e400-aa00bb11ccdd",
        "statusCode": "dormant",
        "userRetentionStatusConfigId": "ee55ff66-aa77-4188-c299-ddbbeeccffdd",
        "label": "Dormant",
        "thresholdDays": 30,
        "order": 1,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      },
      {
        "id": "0c6b8499-e3aa-45bb-0622-ccdd22ee33ff",
        "resurrectionConfigId": "8a4f6277-c188-4399-e400-aa00bb11ccdd",
        "statusCode": "churned",
        "userRetentionStatusConfigId": "ff66aa77-bb88-4299-d3aa-eeccffdd00ee",
        "label": "Churned",
        "thresholdDays": 90,
        "order": 2,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      }
    ]
  },
  "effectiveAudienceId": "1f0d2c3b-4a59-4687-9c12-abcdef012345",
  "configHashes": {
    "activation": "9f1c2a3b4d5e6f70",
    "engagement": "a1b2c3d4e5f60718",
    "resurrection": "0f1e2d3c4b5a6978"
  }
}

Cada valor de configHashes es un hash determinístico de 16 caracteres del contenido semántico de ese pilar. Compáralo con un valor previamente almacenado para detectar si un pilar cambió; hashes idénticos significan que la configuración del pilar no cambió.

Respuestas de Error

EstadoDescripción
400id no es un UUID
404No existe una activity generation config con ese id en el proyecto activo (incluida una AGC de otro proyecto) — Activity generation config <id> not found