Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/desarrolladorandres2026-gif/Native-tailwind/llms.txt

Use this file to discover all available pages before exploring further.

The support ticket system gives Debuta users a direct channel to the platform team. Users can open a ticket at any time from inside the app, categorise it, and track its status over time. Both endpoints require a valid JWT — tickets are always scoped to the authenticated user. Admins manage the full ticket queue via separate admin endpoints.

The Ticket Object

ticket
object
A single support ticket document.

Ticket categories

ValueUse when…
problema_tecnicoThe app is crashing, loading slowly, or a feature is broken
cuentaAccount access, password, email change, or account deletion
pagosSubscription, billing, or refund issues
abusoReporting platform abuse not covered by the user report flow
sugerenciaFeature requests and feedback
otroAnything that doesn’t fit the above

Endpoints

POST /api/soporte

Open a new support ticket.

GET /api/soporte/mis-tickets

View all tickets you have submitted.

POST /api/soporte

Creates a new support ticket scoped to the authenticated user. All three fields are required — asunto is trimmed and capped at 200 characters, descripcion at 2,000 characters. categoria must exactly match one of the allowed enum values or the request is rejected with 400. Authentication: Bearer JWT required. Content-Type: application/json

Request body

categoria
string
required
Category of the issue. Must be one of: problema_tecnico, cuenta, pagos, abuso, sugerencia, otro.
asunto
string
required
Brief summary of the issue. Maximum 200 characters.
descripcion
string
required
Full description of the problem or request. Maximum 2,000 characters.

Response 201

{
  "message": "Tu reporte fue enviado al equipo de soporte. Te responderemos pronto.",
  "ticket": {
    "_id": "665f6a7b8c9d0e1f2a3b4c5d",
    "estado": "abierto",
    "createdAt": "2024-06-04T11:45:00.000Z"
  }
}
message
string
Confirmation message to display to the user.
ticket._id
string
ObjectId of the newly created ticket.
ticket.estado
string
Always "abierto" immediately after creation.
ticket.createdAt
string
ISO 8601 creation timestamp.

Error responses

StatusCondition
400categoria is not one of the valid enum values.
400asunto is missing or blank.
400descripcion is missing or blank.
401Missing or invalid JWT.
500Internal server error.

curl examples

# Technical problem ticket
curl -X POST https://api.debuta.app/api/soporte \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "categoria": "problema_tecnico",
    "asunto": "App crashes when opening the chat screen",
    "descripcion": "Every time I tap the chat icon on a matched profile the app closes immediately. Started happening after the latest update on iOS 17.4. I have tried reinstalling but the problem persists."
  }'

# Feature suggestion
curl -X POST https://api.debuta.app/api/soporte \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "categoria": "sugerencia",
    "asunto": "Add voice messages to chat",
    "descripcion": "It would be great to be able to send short voice notes in the chat, similar to WhatsApp. This would make conversations feel more personal."
  }'

GET /api/soporte/mis-tickets

Returns all support tickets submitted by the authenticated user, sorted newest first. Use this endpoint to power a “My tickets” screen in the app, allowing users to track the estado and read any respuesta_admin replies. Authentication: Bearer JWT required.

Response 200

{
  "tickets": [
    {
      "_id": "665f6a7b8c9d0e1f2a3b4c5d",
      "usuario": "665f000000000000000000aa",
      "categoria": "problema_tecnico",
      "asunto": "App crashes when opening the chat screen",
      "descripcion": "Every time I tap the chat icon on a matched profile the app closes immediately.",
      "estado": "en_revision",
      "respuesta_admin": "Thanks for the report — our engineering team is investigating. We'll update you within 24 hours.",
      "leido_admin": true,
      "createdAt": "2024-06-04T11:45:00.000Z",
      "updatedAt": "2024-06-04T14:10:00.000Z"
    },
    {
      "_id": "665f5a6b7c8d9e0f1a2b3c4e",
      "usuario": "665f000000000000000000aa",
      "categoria": "sugerencia",
      "asunto": "Add voice messages to chat",
      "descripcion": "It would be great to be able to send short voice notes in the chat.",
      "estado": "abierto",
      "respuesta_admin": "",
      "leido_admin": false,
      "createdAt": "2024-06-02T08:30:00.000Z",
      "updatedAt": "2024-06-02T08:30:00.000Z"
    }
  ]
}

curl example

curl -X GET https://api.debuta.app/api/soporte/mis-tickets \
  -H "Authorization: Bearer <token>"
Admin-side ticket management — listing all tickets, filtering by status, updating estado, and posting respuesta_admin — is handled by the GET /api/admin/soporte and PUT /api/admin/soporte/:id endpoints documented in the Admin Panel section. Those endpoints require a JWT with rol: 'admin'.

Ticket lifecycle

1

User creates ticket

POST /api/soporte — ticket is created with estado: 'abierto'.
2

Admin picks up the ticket

An admin opens the ticket in the admin panel. estado moves to en_revision and leido_admin becomes true.
3

Admin replies

Admin posts a respuesta_admin message. Visible immediately via GET /api/soporte/mis-tickets.
4

Ticket is closed

Admin sets estado to resuelto or cerrado once the issue is addressed.
Poll GET /api/soporte/mis-tickets periodically (or on app foreground) to surface admin replies to users without requiring push notifications.

Build docs developers (and LLMs) love