bitcain docs
API Reference

Tutorials

Interactive platform tutorials and guided walkthroughs

List Tutorials

GET
/api/v1/tutorials

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

category?|
difficulty?|
is_recommended?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/tutorials"
[
  {
    "title": "string",
    "slug": "string",
    "description": "string",
    "category": "getting_started",
    "difficulty": "beginner",
    "estimated_duration_minutes": 5,
    "thumbnail_url": "string",
    "icon": "string",
    "display_order": 0,
    "is_published": false,
    "is_recommended": false,
    "prerequisite_tutorial_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "required_feature_flags": [
      "string"
    ],
    "steps": [
      {
        "step_number": 1,
        "title": "string",
        "content": "string",
        "target_element": "string",
        "tooltip_position": "top",
        "highlight_element": true,
        "allow_interaction": false,
        "action_required": "string",
        "next_button_text": "Next",
        "skip_enabled": true
      }
    ],
    "target_route": "string",
    "required_route_params": {},
    "auto_trigger_on_first_visit": false,
    "auto_trigger_conditions": {},
    "tags": [
      "string"
    ],
    "metadata": {},
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "total_steps": 0,
    "completion_count": 0,
    "skip_count": 0,
    "average_completion_time_minutes": "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
/api/v1/tutorials/recommended

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

difficulty?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/tutorials/recommended"
[
  {
    "title": "string",
    "slug": "string",
    "description": "string",
    "category": "getting_started",
    "difficulty": "beginner",
    "estimated_duration_minutes": 5,
    "thumbnail_url": "string",
    "icon": "string",
    "display_order": 0,
    "is_published": false,
    "is_recommended": false,
    "prerequisite_tutorial_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "required_feature_flags": [
      "string"
    ],
    "steps": [
      {
        "step_number": 1,
        "title": "string",
        "content": "string",
        "target_element": "string",
        "tooltip_position": "top",
        "highlight_element": true,
        "allow_interaction": false,
        "action_required": "string",
        "next_button_text": "Next",
        "skip_enabled": true
      }
    ],
    "target_route": "string",
    "required_route_params": {},
    "auto_trigger_on_first_visit": false,
    "auto_trigger_conditions": {},
    "tags": [
      "string"
    ],
    "metadata": {},
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "total_steps": 0,
    "completion_count": 0,
    "skip_count": 0,
    "average_completion_time_minutes": "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 Tutorial Steps

GET
/api/v1/tutorials/{tutorial_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

tutorial_id*string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/tutorials/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "title": "string",
  "slug": "string",
  "description": "string",
  "category": "getting_started",
  "difficulty": "beginner",
  "estimated_duration_minutes": 5,
  "thumbnail_url": "string",
  "icon": "string",
  "display_order": 0,
  "is_published": false,
  "is_recommended": false,
  "prerequisite_tutorial_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "required_feature_flags": [
    "string"
  ],
  "steps": [
    {
      "step_number": 1,
      "title": "string",
      "content": "string",
      "target_element": "string",
      "tooltip_position": "top",
      "highlight_element": true,
      "allow_interaction": false,
      "action_required": "string",
      "next_button_text": "Next",
      "skip_enabled": true
    }
  ],
  "target_route": "string",
  "required_route_params": {},
  "auto_trigger_on_first_visit": false,
  "auto_trigger_conditions": {},
  "tags": [
    "string"
  ],
  "metadata": {},
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "total_steps": 0,
  "completion_count": 0,
  "skip_count": 0,
  "average_completion_time_minutes": "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": {}
    }
  ]
}

Update Tutorial Progress

PUT
/api/v1/tutorials/{tutorial_id}/progress

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

tutorial_id*string
Formatuuid

Request Body

application/json

status?|
current_step_number?|
total_steps_completed?|
steps_skipped?|
times_restarted?|
time_spent_minutes?|
was_helpful?|
feedback_rating?|
feedback_comment?|
metadata?|

Response Body

application/json

application/json

curl -X PUT "https://loading/api/v1/tutorials/497f6eca-6276-4993-bfeb-53cbbbba6f08/progress" \  -H "Content-Type: application/json" \  -d '{}'
{
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "tutorial_id": "9872dfd0-530f-447a-88a8-46d81316a73f",
  "status": "not_started",
  "current_step_number": 1,
  "total_steps_completed": 0,
  "steps_skipped": 0,
  "times_restarted": 0,
  "time_spent_minutes": 0,
  "was_helpful": true,
  "feedback_rating": 1,
  "feedback_comment": "string",
  "metadata": {},
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "started_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "last_accessed_at": "2019-08-24T14:15:22Z",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}

Mark Tutorial Completed

POST
/api/v1/tutorials/{tutorial_id}/complete

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

tutorial_id*string
Formatuuid

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/tutorials/497f6eca-6276-4993-bfeb-53cbbbba6f08/complete"
{
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "tutorial_id": "9872dfd0-530f-447a-88a8-46d81316a73f",
  "status": "not_started",
  "current_step_number": 1,
  "total_steps_completed": 0,
  "steps_skipped": 0,
  "times_restarted": 0,
  "time_spent_minutes": 0,
  "was_helpful": true,
  "feedback_rating": 1,
  "feedback_comment": "string",
  "metadata": {},
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "started_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "last_accessed_at": "2019-08-24T14:15:22Z",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}