Skip to main content
GET /api/user-challenges Requires authentication.
Authorization
string
required
Bearer token obtained from /api/auth/login or /api/auth/signup. Format: Bearer <token>.

Example

curl --request GET \
  --url http://localhost:3000/api/user-challenges \
  --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'

Response

200 OK Returns an array of all user challenge objects, including ACTIVE, COMPLETED, and ABANDONED challenges. Results are ordered by start_date descending (most recent first). Each object includes the associated template data. Returns an empty array [] if the user has never accepted a challenge.
id
number
required
Unique numeric identifier for this user challenge.
user_id
string
required
UUID of the authenticated user.
template_id
number
required
ID of the challenge template this challenge is based on.
status
string
required
Current status of the challenge. One of ACTIVE, COMPLETED, or ABANDONED.
start_date
string
required
ISO 8601 timestamp of when the challenge was started.
completed_at
string
ISO 8601 timestamp of when the challenge was completed. null if not yet completed.
notes
string
Progress notes for the challenge. null if none have been added.
created_at
string
required
ISO 8601 timestamp of when the record was created.
updated_at
string
required
ISO 8601 timestamp of the last update to this record.
template
object
required
The challenge template this challenge is based on.
Example response
[
  {
    "id": 14,
    "user_id": "a3f2c1d0-89b4-4e7a-b6f5-1234567890ab",
    "template_id": 3,
    "status": "ACTIVE",
    "start_date": "2026-03-17T09:00:00.000Z",
    "completed_at": null,
    "notes": "Terceiro dia seguido. Sentindo a diferença!",
    "created_at": "2026-03-17T09:00:00.000Z",
    "updated_at": "2026-03-17T09:00:00.000Z",
    "template": {
      "id": 3,
      "title": "Maratona de 30 Dias",
      "description": "Um mês inteiro de dedicação. Complete suas tarefas todos os dias por 30 dias.",
      "duration_days": 30
    }
  },
  {
    "id": 9,
    "user_id": "a3f2c1d0-89b4-4e7a-b6f5-1234567890ab",
    "template_id": 1,
    "status": "COMPLETED",
    "start_date": "2026-02-01T08:00:00.000Z",
    "completed_at": "2026-02-08T20:14:00.000Z",
    "notes": "Completei os 7 dias! Valeu muito a pena.",
    "created_at": "2026-02-01T08:00:00.000Z",
    "updated_at": "2026-02-08T20:14:00.000Z",
    "template": {
      "id": 1,
      "title": "7 Dias de Foco Total",
      "description": "Complete todas as suas tarefas diárias por 7 dias consecutivos. Mantenha o foco e a disciplina!",
      "duration_days": 7
    }
  }
]

Errors

StatusDescription
401Missing, invalid, or expired token.

Build docs developers (and LLMs) love