Articles on: Developers

The SimplyPrint API: a quick intro for developers

SimplyPrint has a full REST API. Every action you can take in the panel - adding to the queue, starting prints, reading printer state, uploading files, managing filament - is reachable as a JSON endpoint. This article is the quick orientation: who can use it, where to get a key, the base URL, and where the real reference lives.


The full endpoint reference, with request and response shapes for every call, is at apidocs.simplyprint.io. This article does not repeat that - it just gets you started.


Plan requirement


API access starts on the Pro plan. Free, Basic, Cloud Slicer and Filament Manager plans do not expose an API.


Two tiers, both gated by plan:


  • Basic API (Pro and above) - read printer state, queue, jobs, history, filament, tags. Light writes like adding a queue item.
  • Enhanced API (Print Farm and above) - everything in Basic plus file uploads, queue mutations that start prints, direct G-code send, bulk write operations.


Rate limits are per-minute and reset when the minute window rolls over:


Plan

Requests per minute

Pro

60

Print Farm

180

School

180

Enterprise

600


Free, Basic, Cloud Slicer and Filament Manager: no API access at all.


How to get an API key


  1. Sign in to the panel.
  2. Open account settings → API (or go straight to simplyprint.io/panel/user_settings/api).
  3. Click to create a new key, give it a name you'll recognise later.
  4. Copy the key - it's shown once, so store it somewhere safe.


Keys are bound to your user, not the whole account. The integration runs with exactly the permissions your user has in the account, no more. If you need an integration to act with restricted access, create a dedicated user with the right rank and generate the key from that user's settings.


The base URL


Every API call hits this shape:


https://api.simplyprint.io/{companyId}/{endpoint}


The number in the URL is your account ID, not an API version. So /api/123/account/Test calls the account/Test endpoint for account 123. You can find your account ID in the panel URL after sign-in - it's the number after /panel/.


Authentication is one header: X-API-KEY: your_key_here. No tokens to rotate, no signing - just the header on every request.


All responses come back as JSON and include a status boolean plus an optional message, so error handling is the same shape across every call.


Where the real docs live


The full endpoint catalogue lives at apidocs.simplyprint.io - every endpoint, request body, response shape, error code, and the OAuth2 flow with its scope list.


For AI agents and tooling, there's also:



OAuth2 for partner apps


API keys are perfect for your own integration against your own account. If you're building a product that other SimplyPrint customers will connect to their account, use OAuth2 instead. Each customer authorises via a consent screen and you never see their credentials.


This is the flow our official Cura integration uses, and the flow we provision for partner integrations on Zapier, n8n, Make and Activepieces.


To get an OAuth2 client provisioned, submit the OAuth2 Client Request Form with your redirect URIs, requested scopes, and a one-paragraph description of what your app does.


Webhooks for push events


The REST API is the pull side - you ask, SimplyPrint answers. For the push side - "a print just finished", "a queue item was approved", "filament ran out" - use webhooks. SimplyPrint POSTs the event to your endpoint so you don't have to poll.


Webhooks are part of Print Farm and above. See All about the Webhooks feature for the event list and setup.


AI agents: use the MCP server


If your integration is an AI agent - Claude, Claude Code, or any other MCP-compatible client - you can skip the REST endpoints entirely and connect via the SimplyPrint MCP server. The agent gets a native tool surface (add to queue, inspect printer, list jobs, adjust filament, and so on) without you writing any endpoint glue. OAuth2-based, scope-gated, same account.


The MCP integration is documented on the MCP feature page.


FAQ


Is there an official SDK?


Not yet. The API is plain JSON over HTTPS, so any modern HTTP client gives you a usable surface in a few lines - cURL works, Postman works, your language's standard HTTP library works. If you need a language-specific SDK for a serious integration, get in touch.


Is there a sandbox or test environment?


There's no public sandbox - integrations build against real accounts. The usual pattern is to create a separate free or Pro account for development, generate its own API key, build against it, then swap to your production key. For larger partner integrations we can provision a dev-friendly setup on request.


What's the API version - is there a v1, v2?


The number in the URL is your account ID, not a version. There is no /v1 today - we add endpoints to the API but don't break the existing surface, so the current API doesn't need a version prefix.


If we ever ship a major-major change - breaking response shapes, a different auth model, or a URL restructure - it will land behind a /v2 (or similar) prefix and the existing API will keep working alongside it. None of that is on the roadmap right now, just calling out how we'd handle it if the day came.


Does it work with my Prusa / Bambu Lab / Creality / OctoPrint printer?


Yes. From the API's perspective every printer is the same printer object - Prusa MK4, Bambu Lab X1C, Creality K-series, an OctoPrint-connected Ender, they all look the same in code. Brand-specific quirks (PrusaLink, AMS, Klipper macros) are abstracted behind a unified surface.


Can I write integration code against a specific brand?


For Prusa, Bambu Lab and OctoPrint replacements we publish brand-specific landing pages with ecosystem detail: Prusa API, Bambu Lab API, OctoPrint replacement.




Updated on: 26/05/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!