Education API Reference

Bitcoin learning modules, progress tracking, and step completion.

5 endpoints

GET /api/btc-progress/available-modules

List available modules

Returns the user's learning path and all available modules.

Authentication

JWT Bearer Token

Response (Success)

NameTypeRequiredDescription
learning_path string | null optional
modules array<object> required

Example Request

curl -X GET "https://api.buddo.xyz/api/btc-progress/available-modules" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "learning_path": {},
  "modules": [
    {}
  ]
}
POST /api/btc-progress/learning-path

Set learning path

Sets the user's learning path. Cannot be changed after starting modules.

Authentication

JWT Bearer Token

Request Body

NameTypeRequiredDescription
path string required Learning path identifier

Response (Success)

NameTypeRequiredDescription
learning_path string required
status string required

Example Request

curl -X POST "https://api.buddo.xyz/api/btc-progress/learning-path" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "path": "string"
}'

Example Response

{
  "learning_path": "string",
  "status": "string"
}
POST /api/btc-progress/module/{module_number}/reset

Reset a completed module

Resets a completed module so it can be repeated. Only available after a cooldown period.

Authentication

JWT Bearer Token

Path Parameters

NameInTypeRequiredDescription
module_number path integer required The module number

Response (Success)

NameTypeRequiredDescription
module_number integer required
status "reset" required

Example Request

curl -X POST "https://api.buddo.xyz/api/btc-progress/module/:module_number/reset" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "module_number": 0,
  "status": "reset"
}
GET /api/btc-progress/module/{module_number}/status

Get module progress

Returns completion status for a specific learning module.

Authentication

JWT Bearer Token

Path Parameters

NameInTypeRequiredDescription
module_number path integer required The module number

Response (Success)

NameTypeRequiredDescription
completed integer | null optional
module_number integer required
repeat_eligible_at string | null optional
status "incomplete" | "completed" required
total integer | null optional

Example Request

curl -X GET "https://api.buddo.xyz/api/btc-progress/module/:module_number/status" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "completed": {},
  "module_number": 0,
  "repeat_eligible_at": {},
  "status": "incomplete",
  "total": {}
}
POST /api/btc-progress/{step_id}/complete

Complete a learning step

Marks a learning step as completed. Returns reward amount if applicable, or indicates if the step was already completed.

Authentication

JWT Bearer Token

Path Parameters

NameInTypeRequiredDescription
step_id path string required The learning step identifier

Response (Success)

NameTypeRequiredDescription
reward integer | null optional
status "completed" | "already_completed" required
step_id string required

Example Request

curl -X POST "https://api.buddo.xyz/api/btc-progress/:step_id/complete" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "reward": {},
  "status": "completed",
  "step_id": "string"
}