bitcain docs
API Reference

Courses

Trading Academy courses - browse, enroll, and learn trading strategies

List Courses

GET
/api/v1/courses

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

difficulty?|

Filter by difficulty level

category?|

Filter by category

is_published?boolean

Filter by published status

Defaulttrue
is_featured?|

Filter by featured status

skip?integer

Number of records to skip

Default0
Range0 <= value
limit?integer

Maximum records to return

Default100
Range1 <= value <= 100

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/courses"
[
  {
    "title": "string",
    "slug": "string",
    "description": "string",
    "difficulty": "beginner",
    "duration_minutes": 0,
    "estimated_completion_time": "string",
    "thumbnail_url": "string",
    "preview_video_url": "string",
    "instructor_name": "string",
    "instructor_bio": "string",
    "instructor_avatar_url": "string",
    "is_published": false,
    "is_featured": false,
    "display_order": 0,
    "category": "string",
    "tags": [
      "string"
    ],
    "learning_objectives": [
      "string"
    ],
    "prerequisites": [
      "string"
    ],
    "metadata": {},
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "total_lessons": 0,
    "total_enrollments": 0,
    "average_rating": "0.0",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "published_at": "2019-08-24T14:15:22Z"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Course

GET
/api/v1/courses/{course_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

course_id*string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/courses/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "title": "string",
  "slug": "string",
  "description": "string",
  "difficulty": "beginner",
  "duration_minutes": 0,
  "estimated_completion_time": "string",
  "thumbnail_url": "string",
  "preview_video_url": "string",
  "instructor_name": "string",
  "instructor_bio": "string",
  "instructor_avatar_url": "string",
  "is_published": false,
  "is_featured": false,
  "display_order": 0,
  "category": "string",
  "tags": [
    "string"
  ],
  "learning_objectives": [
    "string"
  ],
  "prerequisites": [
    "string"
  ],
  "metadata": {},
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "total_lessons": 0,
  "total_enrollments": 0,
  "average_rating": "0.0",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "published_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Course By Slug

GET
/api/v1/courses/slug/{slug}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

slug*string

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/courses/slug/string"
{
  "title": "string",
  "slug": "string",
  "description": "string",
  "difficulty": "beginner",
  "duration_minutes": 0,
  "estimated_completion_time": "string",
  "thumbnail_url": "string",
  "preview_video_url": "string",
  "instructor_name": "string",
  "instructor_bio": "string",
  "instructor_avatar_url": "string",
  "is_published": false,
  "is_featured": false,
  "display_order": 0,
  "category": "string",
  "tags": [
    "string"
  ],
  "learning_objectives": [
    "string"
  ],
  "prerequisites": [
    "string"
  ],
  "metadata": {},
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "total_lessons": 0,
  "total_enrollments": 0,
  "average_rating": "0.0",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "published_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

List Course Modules

GET
/api/v1/courses/{course_id}/modules

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

course_id*string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/courses/497f6eca-6276-4993-bfeb-53cbbbba6f08/modules"
[
  {
    "course_id": "5e757794-c815-4ccc-bf16-1010d8ef2347",
    "title": "string",
    "description": "string",
    "module_order": 0,
    "duration_minutes": 0,
    "is_optional": false,
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Get Lesson Content

GET
/api/v1/courses/{course_id}/lessons/{lesson_id}/content

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

course_id*string
Formatuuid
lesson_id*string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/courses/497f6eca-6276-4993-bfeb-53cbbbba6f08/lessons/497f6eca-6276-4993-bfeb-53cbbbba6f08/content"
[
  {
    "lesson_id": "2585ba54-c32a-4ece-8fca-c6fa0530db0e",
    "content_type": "video",
    "title": "string",
    "content": "string",
    "video_url": "string",
    "resource_url": "string",
    "content_order": 0,
    "duration_seconds": 0,
    "quiz_data": {
      "questions": [
        {
          "question": "string",
          "options": [
            "string",
            "string"
          ],
          "correct_answer_index": 0,
          "explanation": "string"
        }
      ],
      "passing_score": 80,
      "time_limit_minutes": 1
    },
    "interactive_config": {},
    "metadata": {},
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}