Docs/API y webhooks/Equipos

Equipos

Los equipos agrupan usuarios para informes, agregados de cumplimiento y asignaciones a nivel de equipo. Todos los endpoints están bajo /api/public/v1/teams. Un usuario puede pertenecer a cero o a un único equipo a la vez.

Endpoints

MétodoRutaScopePropósito
GET/teamsteams:readListar equipos con número de miembros.
GET/teams/{'{'}id{'}'}teams:readUn único equipo con la lista de miembros.
POST/teamsteams:writeCrear un equipo.
PATCH/teams/{'{'}id{'}'}teams:writeRenombrar un equipo.
DELETE/teams/{'{'}id{'}'}teams:writeEliminar un equipo. Los miembros quedan sin asignar, no desactivados.
POST/teams/{'{'}teamId{'}'}/members/{'{'}userId{'}'}teams:writeAñadir un usuario a un equipo.
DELETE/teams/{'{'}teamId{'}'}/members/{'{'}userId{'}'}teams:writeQuitar un usuario de un equipo.

Listar equipos

Devuelve todos los equipos de la organización. El número de miembros está desnormalizado: llama a GET /teams/{id} para obtener la lista real.

GET /api/public/v1/teams
Authorization: Bearer scs_live_…

Respuesta

[
  {
    "id": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
    "name": "Payments",
    "memberCount": 12,
    "createdAt": "2025-11-03T14:20:00Z"
  },
  {
    "id": "a52e1f9b-8c44-4a31-9c0d-3b62e0a17c84",
    "name": "Platform",
    "memberCount": 8,
    "createdAt": "2025-11-03T14:21:42Z"
  }
]

Ejemplo

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/teams

Obtener equipo

Devuelve el equipo más su lista de miembros, con la misma forma que GET /users/{id} menos los arrays de progreso.

GET /api/public/v1/teams/{teamId}
Authorization: Bearer scs_live_…

Respuesta

{
  "id": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
  "name": "Payments",
  "createdAt": "2025-11-03T14:20:00Z",
  "members": [
    {
      "id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
      "name": "Jane Smith",
      "email": "jane.smith@acme.com",
      "role": "member",
      "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
      "teamName": "Payments",
      "isActive": true,
      "lastLoginAt": "2026-05-27T16:42:11Z",
      "createdAt": "2026-02-04T11:08:00Z"
    }
  ]
}

Ejemplo

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/teams/4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32

Crear equipo

Los nombres de equipo deben ser únicos dentro de la organización. La respuesta devuelve el nuevo equipo con un recuento de miembros de cero.

POST /api/public/v1/teams
Authorization: Bearer scs_live_…
Content-Type: application/json

Cuerpo de la solicitud

CampoTipoRequeridoSignificado
namestringNombre visible del equipo. Debe ser único dentro de la organización.

Respuesta

{
  "id": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
  "name": "Payments",
  "memberCount": 0,
  "createdAt": "2026-05-29T09:30:12Z"
}

Ejemplo

curl -sS -X POST \
  -H "Authorization: Bearer $SCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Payments"}' \
  https://api.limeplate.com/api/public/v1/teams

Actualizar equipo

Solo se puede cambiar el nombre del equipo. Para mover miembros, usa los endpoints de miembro.

PATCH /api/public/v1/teams/{teamId}
Authorization: Bearer scs_live_…
Content-Type: application/json

Cuerpo de la solicitud

CampoTipoRequeridoSignificado
namestringNuevo nombre del equipo.

Respuesta

{
  "message": "Team updated"
}

Ejemplo

curl -sS -X PATCH \
  -H "Authorization: Bearer $SCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Payments Core"}' \
  https://api.limeplate.com/api/public/v1/teams/4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32

Eliminar equipo

Elimina el equipo. Los miembros quedan sin asignar (su teamId pasa a null) pero no se desactivan: sus cuentas, XP y progreso permanecen intactos. Las asignaciones a nivel de equipo ligadas al equipo eliminado se desactivan.

DELETE /api/public/v1/teams/{teamId}
Authorization: Bearer scs_live_…

Respuesta

{
  "message": "Team deleted"
}

Ejemplo

curl -sS -X DELETE \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/teams/4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32

Añadir miembro

Mueve al usuario al equipo. Si el usuario ya pertenecía a otro equipo, esa pertenencia anterior se reemplaza. No existe una llamada "transfer" separada.

POST /api/public/v1/teams/{teamId}/members/{userId}
Authorization: Bearer scs_live_…

Respuesta

{
  "message": "Member added"
}

Ejemplo

curl -sS -X POST \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/teams/4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32/members/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4

Quitar miembro

Desvincula al usuario del equipo. Equivale a hacer PATCH del usuario con teamId: null, pero pasa limpiamente por la identidad del equipo. La cuenta y el progreso del usuario no se ven afectados.

DELETE /api/public/v1/teams/{teamId}/members/{userId}
Authorization: Bearer scs_live_…

Respuesta

{
  "message": "Member removed"
}

Ejemplo

curl -sS -X DELETE \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/teams/4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32/members/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4