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.

Debuta’s reporting system lets users flag inappropriate behavior directly from any profile. When a report is submitted, the match between the two users is automatically dissolved and the report enters an admin review queue. Both endpoints require authentication and operate only on the authenticated user’s own reports — users cannot view or modify each other’s reports.

The Report Object

reporte
object
A single report document.

Endpoints

POST /api/report/:userId

Report a user for inappropriate behavior.

GET /api/report/mis-reportes

View all reports submitted by you.

POST /api/report/:userId

Reports another user. The server validates that the motivo is one of the allowed categories, prevents self-reporting, and uses an upsert so that submitting a report against the same user a second time updates the existing report rather than creating a duplicate. Any existing match between the reporter and the reported user is automatically deleted as a safety measure. Authentication: Bearer JWT required.

Path parameters

userId
string
required
MongoDB ObjectId of the user you are reporting.

Request body

motivo
string
required
Reason for the report. Must be exactly one of the following values:
ValueDescription
spamSpam or promotional content
contenido_inapropiadoInappropriate content
comportamiento_ofensivoOffensive or harassing behavior
perfil_falsoFake or impersonation profile
acosoHarassment or stalking
otroOther reason (use descripcion to elaborate)
descripcion
string
Optional additional context. Maximum 500 characters.

Response 200

{
  "message": "Usuario reportado correctamente. Gracias por tu reporte."
}

Error responses

StatusCondition
400motivo is not one of the valid enum values.
400Attempting to report yourself.
401Missing or invalid JWT.
500Internal server error.

curl examples

# Report for harassment
curl -X POST https://api.debuta.app/api/report/665f000000000000000000bb \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "motivo": "acoso",
    "descripcion": "This user sent unsolicited messages repeatedly after I asked them to stop."
  }'

# Report a fake profile (no description needed)
curl -X POST https://api.debuta.app/api/report/665f000000000000000000cc \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"motivo": "perfil_falso"}'
Submitting a report immediately removes any mutual match or pending like between you and the reported user. This action cannot be reversed from the client.

GET /api/report/mis-reportes

Returns all reports the authenticated user has submitted, sorted newest first. Each report includes a populated snapshot of the reported user. Authentication: Bearer JWT required.

Response 200

{
  "reportes": [
    {
      "_id": "665f2c3d4e5f6a7b8c9d0e1f",
      "reportadoPor": "665f000000000000000000aa",
      "reportado": {
        "_id": "665f000000000000000000bb",
        "first_name": "Diego",
        "username": "diego.x",
        "profile_picture": {
          "url": "https://res.cloudinary.com/debuta/image/upload/v1/profiles/diego.jpg",
          "public_id": "profiles/diego"
        }
      },
      "motivo": "acoso",
      "descripcion": "Sent repeated unwanted messages.",
      "estado": "pendiente",
      "createdAt": "2024-06-04T09:00:00.000Z",
      "updatedAt": "2024-06-04T09:00:00.000Z"
    }
  ]
}

curl example

curl -X GET https://api.debuta.app/api/report/mis-reportes \
  -H "Authorization: Bearer <token>"
Admins review all submitted reports in the admin panel via GET /api/admin/reports. Status transitions (pendienterevisadoresuelto) are managed exclusively by the admin interface and are reflected in the estado field of each report object returned here.

Build docs developers (and LLMs) love