---
title: "Reemplazar las reglas de asignación del grupo"
method: PUT
path: "/agent-groups/{id}/assignment-rules"
tags: ["Agents"]
---

# Reemplazar las reglas de asignación del grupo

`PUT /agent-groups/{id}/assignment-rules`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/agent-groups/{id}/assignment-rules`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Guarda la lista ORDENADA de reglas «si el campo del contacto … → asignar a esta persona». Cuando un chat del grupo necesita asesor (el Met lo transfiere a humano, o un flujo lo mete al grupo sin responsable), gana la primera regla que coincide; si ninguna coincide, o la persona ya no está activa, sigue el reparto normal. Con el operador `member` el valor del campo nombra al asesor (nombre, correo o id). Cada persona de una regla tiene que ser miembro del grupo. Mandar una lista vacía borra las reglas.

## Path parameters

- `id` number, required

## Request body

- SetAgentGroupAssignmentRulesDto
  - `rules` AgentGroupAssignmentRuleDto[], required: La lista completa y ORDENADA: gana la primera regla que coincide. Vacía = sin reglas.
    - `field` string, required: Clave del campo en la data del contacto: de sistema con `$` (`$region`), personalizada sin él.
    - `operator` 'in' | 'contains' | 'member', required: `in` = es uno de; `contains` = contiene; `member` = el valor del campo nombra al asesor.
    - `user_id` number, nullable: Miembro del grupo que recibe el chat. `null` con `member`.
    - `values` string[], required: Valores a comparar (sin distinguir mayúsculas ni tildes). Vacío con `member`.

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` AgentGroupResponseDto, required
    - `assignment_rules` AgentGroupAssignmentRuleResponseDto[], required: Reglas de asignación, en orden: cuando un chat del grupo necesita asesor (transferencia del Met, o un flujo que lo mete sin responsable), la primera que coincide con la data del contacto decide. Sin coincidencia, sigue el reparto normal. Vacío si el grupo no tiene reglas.
      - `field` string, required: Clave del campo en la data del contacto (`$region`, `$city`, o un campo personalizado).
      - `operator` 'in' | 'contains' | 'member', required: `in` = es uno de; `contains` = contiene; `member` = el valor del campo nombra al asesor.
      - `user_id` number, nullable, required: Miembro del grupo que recibe el chat. `null` cuando el operador es `member`.
      - `values` string[], required
    - `auto_assign` boolean, required: Asignación automática de chats (round-robin): cuando un flujo mete un chat sin asesor en este grupo, se reparte en rotación entre los miembros. Apagada por defecto.
    - `created_at` string, required
    - `id` number, required
    - `members` AgentGroupMemberResponseDto[], required: Miembros del grupo, ordenados por nombre. Vacío si todavía no tiene ninguno.
      - `email` string, required
      - `id` number, required: ID del usuario miembro del grupo.
      - `name` string, required
    - `name` string, required: Nombre del grupo. Es único dentro del workspace.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `409`: La operación entra en conflicto con el estado actual o con un Idempotency-Key en uso. No reintentes con el mismo key y un body distinto.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
