Reten Docs
Configuración de Actividades

Razones de Actividad

CRUD del catalogo global de razones de actividad.

GET /api/activity-reasons

Lista todas las razones de actividad globales.

Auth: Requerida — permiso VIEW_ACTIVITIES

Parámetros de Consulta

ParámetroTipoDefaultDescripción
active_onlybooleanfalseCuando es true, retorna solo razones activas

Ejemplo

curl https://api.reten.ai/api/activity-reasons \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
import axios from 'axios';

const response = await axios.get(
  'https://api.reten.ai/api/activity-reasons',
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

const activityReasons = response.data;

Respuesta 200 OK

[
  {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "code": "retention",
    "label": "Retencion",
    "description": "Actividad de retencion de clientes",
    "isActive": true,
    "createdAt": "2026-01-15T10:00:00.000Z",
    "updatedAt": "2026-01-15T10:00:00.000Z"
  },
  {
    "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "code": "upsell",
    "label": "Upsell",
    "description": "Oportunidad de venta adicional",
    "isActive": true,
    "createdAt": "2026-01-15T10:00:00.000Z",
    "updatedAt": "2026-01-15T10:00:00.000Z"
  }
]

POST /api/activity-reasons

Crea una nueva razon de actividad global.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Cuerpo de la Solicitud

CampoTipoRequeridoDescripcion
codestringSiCodigo unico identificador
labelstringSiEtiqueta de visualizacion
descriptionstringNoDescripcion de la razon de actividad

Ejemplo

curl -X POST https://api.reten.ai/api/activity-reasons \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "collections",
    "label": "Cobranza",
    "description": "Actividad de cobranza"
  }'
import axios from 'axios';

const response = await axios.post(
  'https://api.reten.ai/api/activity-reasons',
  {
    code: 'collections',
    label: 'Cobranza',
    description: 'Actividad de cobranza',
  },
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 201 Created


PATCH /api/activity-reasons/:id

Actualiza una razon de actividad.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Cuerpo de la Solicitud

CampoTipoRequeridoDescripcion
labelstringNoEtiqueta de visualizacion
descriptionstringNoDescripcion de la razon de actividad
is_activebooleanNoHabilitar o deshabilitar esta razon de actividad

Ejemplo

curl -X PATCH https://api.reten.ai/api/activity-reasons/<id> \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "Etiqueta Actualizada"
  }'
import axios from 'axios';

const response = await axios.patch(
  'https://api.reten.ai/api/activity-reasons/<id>',
  {
    label: 'Etiqueta Actualizada',
  },
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 200 OK


DELETE /api/activity-reasons/:id

Elimina una razon de actividad.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Ejemplo

curl -X DELETE https://api.reten.ai/api/activity-reasons/<id> \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
import axios from 'axios';

const response = await axios.delete(
  'https://api.reten.ai/api/activity-reasons/<id>',
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 204 No Content