Skip to content

Canvas sandboxes

Your own Canvas in minutes. No sales call.

Spin up a private Canvas LMS on its own VM, with you as its admin, to build and test LTI 1.3 tools and Canvas API integrations. Pay by the second while it runs, and stop it when you're done.

Sign in with Google · Prepaid credit, no contract · It stops itself when idle

  • About 2 minutesFrom create to a working Canvas
  • You're the adminA fresh, blank Canvas of your own
  • No contractPrepaid credit, billed by the second
  • API and MCPScripts, CI and Claude Code

Why sandboxes

Hosted Canvas, without the sales call.Or the big commitment.

Other ways to get a hosted Canvas for testing start with a form and a large payment to commit to. A sandbox starts with a Google sign-in, and costs only the time it runs.

  • No sales form, no call and no contract
  • Pay only while it runs, by the second
  • It stops itself when no one uses it, so a forgotten sandbox doesn't run up a bill
  • Stop it, and every course and setting waits for next time
StepOther hosted CanvasCanvas sandboxes
Getting startedFill in a sales formSign in with Google
PayingA large commitment up frontPrepaid credit, by the second
WaitingUntil someone repliesAbout 2 minutes to a working Canvas

A Canvas of your own

A blank Canvas, and you're its admin.

Each sandbox is a fresh Canvas on its own VM, with nothing in it but your admin account. Set it up the way your test needs, and break it if you must: Reset gives you a new one.

  • Open Canvas from the dashboard, signed in as its admin
  • Make courses, teachers and students, and act as any of them
  • Add developer keys, LTI 1.3 tools and account settings, as a school's admin does
  • Its own keys, password and API token, shared with no other sandbox
  • Reset it for a fresh Canvas, with a new password and token

LTI 1.3 and the Canvas API

Everything your tool needs, in one call.

A sandbox's connection details hold its address, admin login, API token and LTI 1.3 platform values. Paste them into your tool's settings, or let your code read them.

  • A public https address, so a tool hosted anywhere can reach it
  • The REST and LTI APIs, the token endpoint and deep linking stay open to your tool's server
  • A browser gets in only through your sandbox's login link

Your way

Run it from code, CI or Claude Code.

Create, start, stop and connect to sandboxes from the REST API or the MCP server, as well as from the dashboard. Make an API key on the dashboard, and use it from either.

  • Claude Code

    Add the MCP server with your API key. Claude can then create a sandbox, wait for it, and read its address, admin login, API token and LTI values.

  • REST API

    Create, start, stop, reset and connect from a script or a CI job. With an Idempotency-Key header, a retried job gets the sandbox it already made, not a second one.

  • Dashboard

    Sign in with Google, add credit and make API keys. Start, stop and open your sandboxes by hand, and see what each one costs.

Add the MCP server to Claude Code
claude mcp add --transport http canvas-sandbox https://sandbox-api.lmsystems.ai/mcp --header "Authorization: Bearer $LMSYSTEMS_API_KEY"
Read the API docs

Pay for what runs

Cheap to run, and cheap to forget.

  • By the second

    Running time is billed per second, at least a minute per start. A stopped sandbox costs only its disk.

  • Stops when idle

    After an hour with no signed-in use, a sandbox stops itself and keeps its data. You choose how long it waits.

  • Prepaid credit

    Buy credit up front, and running sandboxes draw from it. At $0 they stop.

  • Keep or delete

    Start a stopped sandbox later, as you left it. Delete it to stop paying for its disk, and restore it within 24 hours if you change your mind.

Questions

Good questions, answered.

Who are Canvas sandboxes for?

Developers who build for Canvas: LTI 1.3 tools, Canvas API integrations, and the tests and CI jobs around them. It's a separate product from LMSystems for teachers, with its own dashboard and sign-in.

What's in a new sandbox?

A fresh Canvas LMS on its own VM, at its own https address, with one admin account: yours. You also get an admin API token and the sandbox's LTI 1.3 platform values. There are no courses or users until you make them.

How is it different from other hosted Canvas options?

Other ways to get a hosted Canvas for testing start with a sales form and a large payment commitment. A sandbox needs a Google sign-in and prepaid credit. You pay by the second while it runs, and you can stop or delete it at any time.

How much does it cost?

Running time is billed by the second, and each sandbox's disk by the month until you delete it. The dashboard shows the current prices before you sign in. Starting a sandbox needs credit for at least an hour of its running time.

Can my LTI tool reach it?

Yes. Each sandbox has a public https address. Its REST and LTI APIs, OAuth token endpoint and deep-linking returns are open to your tool's server. A browser gets in only through the sandbox's login link.

Is it the same Canvas that schools use?

It's open-source Canvas LMS, the code Instructure publishes under the AGPL. Instructure's hosted services that are not open source, such as New Quizzes, are not in it. LMSystems is not affiliated with Instructure.

What happens to my data when it stops?

Stopping keeps the disk and everything in Canvas. Reset replaces it with a fresh Canvas. Delete removes it after 24 hours, and you can restore it until then.

Get started

Spin up your first Canvas sandbox.

Sign in with Google, add credit, and your own Canvas is ready in about two minutes. No sales form, no contract.

Billed by the second · Read the API docs