Skip to main content
Ticket management operations require authentication. Include a valid Bearer token in the Authorization header for every request described on this page.

Role permissions overview

ADMIN

Full access to all ticket operations: view, assign, transfer, update, reclassify, pause, reopen, cancel, and archive.

MESA

Can view, assign, transfer, reclassify, update, pause, reopen, cancel, and archive tickets.

AREA

Can view and update tickets assigned to their area. Can also pause, cancel, and archive tickets.

USUARIO

No access to management endpoints. Public endpoints (/crear, /consultar) only.

View the dashboard

The dashboard returns a list of tickets filtered by the authenticated user’s role and area assignment.
curl
curl -X GET https://api.example.com/api/tickets/dashboard \
  -H "Authorization: Bearer YOUR_TOKEN"
ADMIN and MESA users see all tickets. AREA users see only tickets assigned to their area.

View ticket details

Retrieve the full record for a single ticket using its UUID.
curl
curl -X GET https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d \
  -H "Authorization: Bearer YOUR_TOKEN"
Roles allowed: ADMIN, MESA, AREA.

Ticket operations

1

Assign a ticket to an agent

Use POST /api/tickets/{id}/asignar to assign a ticket to a specific agent. Provide the agent’s user ID and a reason for the assignment.Roles allowed: ADMIN, MESA.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/asignar \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "agenteId": "usr_agent_001",
    "motivo": "Agente especializado en incidentes de correo electrónico."
  }'
2

Transfer a ticket to another area

Use POST /api/tickets/{id}/transferir to move a ticket to a different area. You can optionally reassign it to a specific agent in that area at the same time.Roles allowed: ADMIN, MESA.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/transferir \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "nuevaArea": "INFRAESTRUCTURA",
    "agenteId": "usr_agent_007",
    "motivo": "El problema requiere acceso a la configuración del servidor de correo."
  }'
Always include a motivo that explains the transfer reason. This is recorded in the ticket history and helps the receiving area understand the context.
3

Update ticket status, priority, and add a response

Use POST /api/tickets/{id}/actualizar to change the ticket’s state, priority, assigned area, and add a response visible to the requester.Roles allowed: ADMIN, MESA, AREA.All four fields are required:
FieldTypeConstraintsDescription
estadostring3–50 charactersNew ticket status, e.g., EN_PROCESO, RESUELTO.
prioridadstring3–50 charactersNew priority level, e.g., MEDIA, ALTA.
areastring2–100 charactersArea currently handling the ticket.
respuestastringMinimum 5 charactersResponse or progress note for the requester.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/actualizar \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "estado": "EN_PROCESO",
    "prioridad": "ALTA",
    "area": "INFRAESTRUCTURA",
    "respuesta": "Hemos identificado el problema. Se está restableciendo el acceso al servidor de correo. Tiempo estimado de resolución: 2 horas."
  }'
4

Reclassify priority and category

Use POST /api/tickets/{id}/reclasificar when the initial priority or category is incorrect after review.Roles allowed: ADMIN, MESA.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/reclasificar \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "nuevaPrioridad": "CRITICA",
    "nuevaCategoria": "Infraestructura",
    "motivo": "El incidente afecta a todos los usuarios del dominio, no solo a una persona."
  }'
5

Pause and resume a ticket

Pause a ticket when you are waiting for a third party or for the requester to provide more information. Resume it when you are ready to continue.Roles allowed to pause: ADMIN, MESA, AREA. Roles allowed to reopen: ADMIN, MESA.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/pausar \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "motivo": "Esperando respuesta del proveedor de servicios de correo externo."
  }'
SLA timers may continue running while a ticket is paused, depending on your system configuration. Verify your SLA policy before pausing high-priority tickets.
6

Cancel a ticket

Use POST /api/tickets/{id}/cancelar to cancel a ticket that should not be resolved. The rol field identifies whether the cancellation is initiated by the requester or by an agent.Roles allowed: ADMIN, MESA, AREA.
rol valueWhen to use
USUARIOThe requester asked to withdraw the ticket.
AGENTEAn agent is canceling the ticket for operational reasons.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/cancelar \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "motivo": "El usuario resolvió el problema por su cuenta y solicitó la cancelación.",
    "rol": "USUARIO"
  }'
7

Archive a resolved ticket

Use POST /api/tickets/{id}/archivar to move a closed or canceled ticket to the archive. Archived tickets remain in the system for auditing but no longer appear in active queues.Roles allowed: ADMIN, MESA, AREA.
curl
curl -X POST https://api.example.com/api/tickets/a3f1c2d4-8b5e-4f7a-9c1d-2e3f4a5b6c7d/archivar \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "motivo": "Ticket resuelto y confirmado por el usuario. Archivado tras 7 días de inactividad."
  }'

Operations quick reference

OperationEndpointRolesRequired body fields
AssignPOST /{id}/asignarADMIN, MESAagenteId, motivo
TransferPOST /{id}/transferirADMIN, MESAnuevaArea, agenteId, motivo
UpdatePOST /{id}/actualizarADMIN, MESA, AREAestado, prioridad, area, respuesta
ReclassifyPOST /{id}/reclasificarADMIN, MESAnuevaPrioridad, nuevaCategoria, motivo
PausePOST /{id}/pausarADMIN, MESA, AREAmotivo
ResumePOST /{id}/reabrirADMIN, MESAmotivo
CancelPOST /{id}/cancelarADMIN, MESA, AREAmotivo, rol
ArchivePOST /{id}/archivarADMIN, MESA, AREAmotivo

Build docs developers (and LLMs) love