Même parc. Mêmes données. Depuis votre propre code.
L’API expose les mêmes opérations que l’interface : ajouter à la file d’impression, récupérer l’état des imprimantes, téléverser des fichiers, consulter le filament, lire l’historique des travaux et lancer des actions groupées. Une clé API, une URL de base par compte, et vous pouvez commencer.
Lancer une impression avec un seul appel API
Le chemin le plus rapide entre votre code et un extrudeur en mouvement : envoyez par POST un ID de fichier à /queue/AddItem, ciblez une ou plusieurs imprimantes et SimplyPrint s’occupe du reste. En arrière-plan, la file d’impression applique la même logique de correspondance, d’approbation et de routage que le panneau, l’impression démarre donc sur la même imprimante que si quelqu’un avait appuyé sur Imprimer.
curl -X POST "https://api.simplyprint.io/{companyId}/queue/AddItem" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"fileId": "abc123",
"amount": 1,
"for_printers": "42,43",
"position": "top"
}'
Réponse en cas de succès :
{
"status": true,
"message": null,
"approval_status": "not_required",
"id": 90817,
"queue_position": 1
}
L’{companyId} dans l’URL est l’identifiant de votre compte, pas une version : trouvez-le dans l’URL du panneau après connexion. Définissez for_printers pour cibler des imprimantes précises, ou omettez-le pour laisser SimplyPrint choisir une imprimante compatible. Définissez position: "top" pour placer la tâche en tête de file.
Voir tous les endpoints
Pilotez tous les éléments de votre parc par code
Plus de 100 points de terminaison REST couvrent tous les aspects de votre parc, imprimantes, file d’impression, fichiers, filament, tâches d’impression, statistiques, webhooks, champs personnalisés et plus encore. Ce n’est pas un sous-ensemble limité : si une page existe dans l’interface, un point de terminaison existe dans l’API. Utilisateurs, écoles, maintenance, balises, profils de slicer et macros G-code sont également intégrés.
- File d’impression - ajouter des éléments via /queue/AddItem, lister les approbations en attente, définir les affectations d’imprimante, modifier l’ordre, approuver ou refuser
- Imprimantes - inspecter l’état, envoyer du G-code, déplacer les axes, contrôler ventilateurs et moteurs, référencer, mettre en pause, reprendre, annuler
- Fichiers et impressions : importer, déplacer, récupérer l’historique, archiver, obtenir des estimations de coût
- Filament : lire l’inventaire, attribuer aux imprimantes, ajuster le poids, marquer comme séché, gérer les marques et les couleurs
- Organisation et utilisateurs - gérez les membres, autorisations, champs personnalisés, étiquettes, classes scolaires
Lire l’état. Envoyer des commandes. Même en-tête d’authentification.
Listez toutes les imprimantes avec un seul appel. La réponse correspond au même objet imprimante qu’affiche l’interface, avec le statut, l’impression en cours, les températures, le filament chargé, etc.
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
-H "X-API-KEY: your_api_key_here"
Mettre en pause une impression en cours, envoyer ponctuellement une ligne G-code, déplacer un axe : toutes ces opérations sont disponibles via des points de terminaison actifs, avec le même format JSON en entrée et en sortie.
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/Pause" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{ "pid": 42 }'
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/SendGcode" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{ "pid": 42, "gcode": "G28 X Y" }'
REST, JSON, un en-tête, c’est tout
Chaque point de terminaison utilise HTTPS, JSON en entrée et JSON en sortie. L’authentification tient dans un en-tête : X-API-KEY: your_key_here. Les réponses contiennent toujours un booléen status et un message facultatif, pour une gestion des erreurs uniforme sur chaque appel.
L’URL de base est https://api.simplyprint.io/{companyId}/{endpoint} : {companyId} est l’ID de votre compte, pas une version d’API. Aucun SDK n’est requis : cURL, Postman et tout client HTTP dont vous disposez fonctionnent.
Descubre cómo usa Weshape API para gestionar ~50 printers
One of the most impactful features in SimplyPrint has been the API access, which has been implemented and expanded in the time we've been with SimplyPrint. We sometimes have unique challenges, and the API gives us an effective way to make it fit our exact use-case.
Vous développez pour une marque d’imprimantes spécifique ?
SimplyPrint est indépendant du matériel, mais nos pages API spécifiques à chaque marque présentent les points de terminaison, exemples de code et particularités qui comptent pour chaque écosystème. Si vous écrivez du code d’intégration ciblant précisément Prusa, Bambu Lab ou des hôtes OctoPrint, commencez ici.
Pilotez les Prusa MK4, MK4S, MK3.9, MK3.5, Mini+, XL et CORE One par code. Compatible PrusaLink.
Pilotez les Bambu Lab X1C, P1S, P1P, A1, A1 Mini et H2D par code. Compatible AMS.
Vous migrez d’une intégration REST OctoPrint ? Même structure, hébergée dans notre cloud, sans nouveaux serveurs à déployer.
Deux niveaux : API de base et API avancée
L’accès à l’API comporte deux niveaux selon la formule. Basic vous donne un accès en lecture et des écritures limitées, Enhanced débloque les fonctions avancées : téléversement de fichiers, modifications de la file, démarrage d’impressions et envoi de G-code.
API de base
Lire l’état de l’imprimante, la file d’attente, les impressions, l’historique, le filament et les étiquettes.
API avancée
Accès complet en lecture et écriture : téléversement, lancement d’impressions, envoi de G-code, actions groupées.
Documentation API interactive avec cURL pour chaque point de terminaison
Chaque point de terminaison possède une page de documentation dédiée avec la signature de la requête, le tableau des paramètres, un exemple cURL à copier-coller et un exemple réel de réponse en cas de succès à droite. Plus besoin de deviner la structure des données envoyées : la documentation est la spécification.
POST /{id}/jobs/GetPaginatedPrintJobs : impressions en cours ou terminées, paginées et filtrables par imprimante, utilisateur, statut et date.
POST /{id}/printers/Get : une ou plusieurs imprimantes avec état, filament, caractéristiques matérielles et indicateurs de maintenance.
POST files.simplyprint.io/{id}/files/Upload : requête unique jusqu’à 100 MB, multipart pour les fichiers plus volumineux.
Un en-tête (X-API-KEY), une URL de base. Obtenez une clé dans les paramètres de votre compte.
Pour les applications partenaires, chaque client connecte son propre compte via le flux standard d’autorisation et d’échange de jetons.
OAuth2 pour les intégrations partenaires
Vous développez une application tierce que d’autres clients SimplyPrint utiliseront ? Utilisez OAuth2 afin que chaque client puisse connecter son propre compte via un écran de consentement, sans clés API partagées ni secrets copiés-collés. C’est le même flux que notre intégration Cura officielle utilise, et celui que nous fournissons pour les intégrations de partenaires sur des plateformes comme Zapier, n8n, Make et Activepieces.
- URL d’autorisation : https://simplyprint.io/panel/oauth2/authorize
- Échange de jeton : https://simplyprint.io/api/0/oauth2/Token (le 0 est intentionnel, l’échange n’est associé à aucun compte)
- Découvrir le compte associé : après l’échange, appelez /account/GetUser avec le jeton bearer pour connaître le compte choisi par l’utilisateur
- Appels suivants : utilisez le chemin standard /api/{companyId}/{endpoint} avec le jeton Bearer
# 1) Send the user to the consent screen
https://simplyprint.io/panel/oauth2/authorize
?response_type=code
&client_id=YOUR_CLIENT_ID
&redirect_uri=https://your-app.example.com/callback
&scope=printers.read+queue.write+files.read
&state=<random>
# 2) Exchange the returned code for an access token
curl -X POST "https://simplyprint.io/api/0/oauth2/Token" \
-d "grant_type=authorization_code" \
-d "code=AUTH_CODE_FROM_CALLBACK" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "redirect_uri=https://your-app.example.com/callback"
# 3) Discover the bound company, then call API as that company
curl "https://simplyprint.io/api/0/account/GetUser" \
-H "Authorization: Bearer ACCESS_TOKEN"
Les clients OAuth2 approuvés sont configurés via le formulaire de demande de client OAuth2. Envoyez-nous vos URI de redirection, les portées demandées et une description en un paragraphe de votre application.
Demander l’accès client OAuth2
Limites de débit et fonctionnalités de l’API selon la formule
Les formules Gratuit, Basic, Cloud Slicer et Filament Manager n’exposent pas d’API. Pro et supérieures débloquent Basic ; Print Farm et supérieures débloquent Enhanced (envoi de fichiers et mutations en écriture).
| Función / límite | Gratis | Básico | Pro | Granja de impresión | Enterprise | Escuela | Cloud Slicer | Gestor de filamento |
|---|---|---|---|---|---|---|---|---|
|
Requêtes API par minute
Limite glissante par minute. Les pics dans la fenêtre sont acceptés ; si vous atteignez la limite, un court délai d’attente est renvoyé, puis la limite se réinitialise au changement de minute.
|
- | - | 60 | 180 | 600 | 180 | - | - |
|
Accès à l’API de base
Lire l’état de l’imprimante, la file d’attente, les travaux, l’historique, le filament et les étiquettes. Disponible à partir de l’offre Pro.
|
||||||||
|
API avancée (lecture et écriture complètes)
Permet l’import de fichiers, les modifications de la file d’impression déclenchant des impressions, l’envoi direct de G-code et les opérations d’écriture groupées. Forfait Print Farm ou supérieur.
|
||||||||
|
Zapier, n8n, Make et Activepieces
Connectez-vous via les composants officiels basés sur OAuth2. Les droits d’écriture héritent du niveau API du compte.
|
||||||||
|
Agents IA via MCP
Connectez Claude, Claude Code et d’autres clients d’IA compatibles MCP pour piloter votre flotte en langage naturel.
|
¿Quieres saber más sobre nuestros planes?
Ver precios y comparativa completa de funciones
Associez l’API aux webhooks pour les événements push
L’API REST est le côté pull, vous demandez, SimplyPrint répond. Associez-la aux webhooks pour le côté push : une impression démarre, un travail d’impression se termine, le filament est épuisé, un élément de la file d’impression est approuvé, SimplyPrint envoie l’événement en POST vers votre point de terminaison pour que vous n’ayez pas à interroger l’API en continu. Ensemble, ils couvrent tous les modèles d’intégration.
Les Webhooks sont inclus à partir de Print Farm et reposent sur le même modèle d’événements utilisé par l’interface.
Obtenir une clé API en 30 secondes
Connectez-vous au panneau, ouvrez paramètres du compte → API, nommez votre clé, puis copiez-la. C’est fait. Les clés sont propres à chaque utilisateur et respectent les autorisations de cet utilisateur dans le compte. Ainsi, une intégration dispose exactement des accès de son propriétaire, sans plus.
Ouvrir vos paramètres API
La documentation complète est disponible sur apidocs.simplyprint.io
Chaque point de terminaison, structure des requêtes et réponses, codes d’erreur, flux OAuth2, liste des portées. La documentation est aussi compatible avec l’IA : un llms.txt permet l’ingestion ponctuelle par une IA et un api/index.json structuré permet de créer des outils à partir du catalogue.
Ouvrir la référence de l’APIBonus : l’API ouverte d’Open Filament Database
Au-delà de l’API SimplyPrint, nous gérons aussi l’Open Filament Database, un catalogue open source sous licence MIT de filament d’impression 3D : marques, matériaux, couleurs, dimensions et boutiques. Elle possède sa propre API JSON entièrement ouverte, sans clé, authentification ni palier de débit, afin que vous puissiez intégrer directement les données de marques, matériaux et couleurs dans votre application, slicer, boutique ou outil de suivi des bobines. Ce sont les mêmes données qui alimentent les préréglages de filament de SimplyPrint.
Point de terminaison : api.openfilamentdatabase.org, documentation complète sur openfilamentdatabase.org/docs.
Questions fréquentes
Comment obtenir une clé API ?
Quelles sont les limites de débit ?
Clé API ou OAuth2 : que choisir ?
Fonctionne-t-il avec mon imprimante Prusa / Bambu Lab / OctoPrint ?
Existe-t-il des webhooks pour les événements push ?
Existe-t-il un serveur MCP pour les agents IA ?
Existe-t-il des SDK officiels ?
Existe-t-il un bac à sable ou un environnement de test ?
Quel est le format d’URL : existe-t-il une v1 ou une v2 ?
Si nous publions un jour une évolution vraiment majeure, avec des formats de réponse incompatibles, un modèle d’authentification différent ou une restructuration des URL, elle sera placée derrière le préfixe /v2 (ou similaire) et l’API existante continuera de fonctionner en parallèle. Rien de tel n’est prévu pour l’instant, nous précisons simplement comment nous le gérerions.
Guides API par marque
Vous développez pour un écosystème précis d’imprimantes ? Chaque guide couvre les endpoints, des exemples de code et les particularités importantes pour cette marque.
API Prusa
Pilotez toutes les imprimantes Prusa de votre parc par code
API Bambu Lab
Pilotez toutes les imprimantes Bambu Lab de votre parc par code, AMS inclus
Alternative à l’API OctoPrint
Remplacement hébergé d’une intégration REST OctoPrint, conçu pour les flottes