# Voshi Developer Docs > Voshi connects educational tools to Learning Management Systems (Canvas, Blackboard, Moodle, and other LTI 1.3 platforms). Most tools are hosted by Voshi: a web component built in the dashboard or uploaded, which receives a VoshiApi object carrying the launch, storage, files, and grade passback. A self-hosted tool instead receives launches as a signed JWT POSTed to its own HTTPS endpoints and calls the REST APIs directly. The complete documentation is also available as a single markdown file at https://myeducator-llc.github.io/voshi-docs/llms-full.txt ## Get Started - [Welcome to Voshi](https://myeducator-llc.github.io/voshi-docs/): Build an educational tool once, and reach every LMS through the Voshi platform. - [Quickstart](https://myeducator-llc.github.io/voshi-docs/quickstart): Build your first Voshi tool: register, describe it to the AI Builder, run it in the Sandbox, and publish. - [Concepts](https://myeducator-llc.github.io/voshi-docs/concepts): Locations, extids, and other key terms — the vocabulary the rest of these docs is written in. ## Building Your Tool - [How a hosted tool works](https://myeducator-llc.github.io/voshi-docs/building/how-it-works): Your tool is a small piece of browser code. Voshi hosts it, launches it, and hands it everything it needs. - [The dashboard](https://myeducator-llc.github.io/voshi-docs/building/dashboard): Where you build, test, and manage your tool: a tour of each tab. - [Your tool's files](https://myeducator-llc.github.io/voshi-docs/building/files): What is in a hosted tool's folder, what manifest.json does, and how to edit the code outside the dashboard. - [Locations](https://myeducator-llc.github.io/voshi-docs/building/locations): The destinations in your tool that instructors can place in their courses, and how a hosted tool declares them. - [Testing in the Sandbox](https://myeducator-llc.github.io/voshi-docs/building/sandbox): A private course where your draft runs for real, as a student or as an instructor. - [Versions](https://myeducator-llc.github.io/voshi-docs/building/versions): The draft you work on, the versions you publish, and how courses adopt them. ## The Voshi API - [The Voshi API](https://myeducator-llc.github.io/voshi-docs/api/overview): The one object your tool talks to: what it holds, how to call it, and how it reports problems. - [Who launched](https://myeducator-llc.github.io/voshi-docs/api/launch): What the api object says about the person, the course, and the location this launch is for. - [Storage](https://myeducator-llc.github.io/voshi-docs/api/storage): Four JSON objects your tool owns for every launch: per course, per location, per student, and per student at a location. - [Files](https://myeducator-llc.github.io/voshi-docs/api/files): Files your tool keeps beside each storage object: uploads, recordings, images, anything too big or not JSON. - [Grades](https://myeducator-llc.github.io/voshi-docs/api/grades): Report a score to the course gradebook with one call. - [Assets](https://myeducator-llc.github.io/voshi-docs/api/assets): Your tool's own stylesheets, templates, and files, loaded for you and handed over as api.assets. - [Errors](https://myeducator-llc.github.io/voshi-docs/api/errors): What the Voshi API throws, what each kind means, and what to tell the learner. ## Advanced: Your Own Server - [Your own server](https://myeducator-llc.github.io/voshi-docs/advanced/overview): When to self-host, what you build, and how to register a self-hosted tool. - [How launches work](https://myeducator-llc.github.io/voshi-docs/advanced/launch/overview): The lifecycle of a launch, from a click in the LMS to a request at your tool. - [Receiving launches](https://myeducator-llc.github.io/voshi-docs/advanced/launch/receiving-launches): The endpoint that receives launches, what Voshi sends to it, and what your tool should record. - [Verifying the launch JWT](https://myeducator-llc.github.io/voshi-docs/advanced/launch/verifying-the-jwt): Fetch Voshi's public keys, verify the RS256 signature, and enforce expiry. - [Launch Data reference](https://myeducator-llc.github.io/voshi-docs/advanced/launch/launch-claims): Every field inside the launch_data JWT — the Launch Data your tool receives. - [Locations](https://myeducator-llc.github.io/voshi-docs/advanced/locations): How a self-hosted tool declares the destinations instructors can place, and the extid rules behind them. - [Serving your locations](https://myeducator-llc.github.io/voshi-docs/advanced/locations-endpoint): The endpoint Voshi calls to ask your tool which destinations an instructor can place. - [How provisioning works](https://myeducator-llc.github.io/voshi-docs/advanced/provisioning/overview): Course setup: how Voshi asks your tool to prepare a course, and a location within it, before students arrive. - [Receiving provision requests](https://myeducator-llc.github.io/voshi-docs/advanced/provisioning/receiving-provision-requests): The provisioning endpoint you build, the claims it receives, and the call that marks a level ready. - [Grade passback](https://myeducator-llc.github.io/voshi-docs/advanced/grades/grade-passback): Push scores from your tool to the LMS gradebook. - [Grades API reference](https://myeducator-llc.github.io/voshi-docs/advanced/grades/api-reference): Publish a score: POST to the grade.submit URL from a launch. - [Storage](https://myeducator-llc.github.io/voshi-docs/advanced/app-data/overview): Per-course, per-placement, and per-student JSON storage, built into every launch. - [Storage API reference](https://myeducator-llc.github.io/voshi-docs/advanced/app-data/api-reference): Read, replace, and patch your tool's storage rows. - [Managing your tool](https://myeducator-llc.github.io/voshi-docs/advanced/managing-your-app): Where your tool's configuration lives, and what your API key can and cannot do. ## Reference - [Errors](https://myeducator-llc.github.io/voshi-docs/reference/errors): The error envelope and status codes used across the Voshi APIs. - [Changelog](https://myeducator-llc.github.io/voshi-docs/reference/changelog): Contract changes, what you have to do about them, and where the previous docs live.