Stessa flotta. Stessi dati. Dal proprio codice.
L'API espone le stesse operazioni usate dal pannello: aggiungere alla coda, ottenere lo stato della stampante, caricare file, ispezionare il filamento, leggere la cronologia dei lavori ed eseguire azioni in blocco. Una chiave API, un URL di base per account e si può iniziare a sviluppare.
Avviare una stampa con una chiamata API
Il percorso più rapido dal codice a un estrusore in movimento: inviare con POST un ID file a /queue/AddItem, selezionare una o più stampanti, e SimplyPrint gestisce il resto. Dietro le quinte, la coda applica la stessa logica di abbinamento, approvazione e instradamento usata dal pannello, così la stampa parte sulla stessa stampante che sarebbe stata selezionata premendo Stampa.
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"
}'
Risposta in caso di successo:
{
"status": true,
"message": null,
"approval_status": "not_required",
"id": 90817,
"queue_position": 1
}
Il valore {companyId} nell'URL è l'ID dell'account, non una versione: si trova nell'URL del pannello dopo l'accesso. Imposta for_printers per indirizzare stampanti specifiche oppure omettilo per lasciare che SimplyPrint selezioni una stampante compatibile. Imposta position: "top" per portare il lavoro in cima alla coda.
Sfogliare tutti gli endpoint
Gestire ogni aspetto della flotta tramite codice
Oltre 100 endpoint REST coprono ogni parte del parco stampanti: stampanti, coda, file, filamento, lavori, statistiche, webhook, campi personalizzati e altro. Non un sottoinsieme ridotto: se esiste una pagina nel pannello, esiste un endpoint nell'API. Sono inclusi anche utenti, scuole, manutenzione, tag, profili slicer e macro G-code.
- Coda: aggiungere elementi tramite /queue/AddItem, elencare le approvazioni in attesa, impostare assegnazioni alle stampanti, modificare l'ordine, approvare o rifiutare
- Stampanti: ispezionare lo stato, inviare G-code, muovere gli assi, controllare ventole e motori, eseguire l'homing, mettere in pausa, riprendere, annullare
- File e lavori: caricare, spostare, recuperare cronologia, archiviare, ottenere stime dei costi
- Filamento: leggere l'inventario, assegnare alle stampanti, regolare il peso, contrassegnare come essiccato, gestire brand e colori
- Account e utenti - gestire membri, autorizzazioni, campi personalizzati, tag e classi scolastiche
Leggere lo stato. Inviare comandi. Stesso header di autenticazione.
Elencare tutte le stampanti con una chiamata. La risposta è lo stesso oggetto stampante visualizzato nel pannello: stato, lavoro attuale, temperature, filamento caricato e tutto il resto.
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
-H "X-API-KEY: your_api_key_here"
Mettere in pausa una stampa in corso, inviare una riga G-code ad hoc, muovere un asse a incrementi: tutti gli endpoint sono in tempo reale e hanno la stessa struttura JSON in ingresso e in uscita.
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 header: tutto qui
Ogni endpoint usa HTTPS, JSON in ingresso e JSON in uscita. L'autenticazione richiede un solo header: X-API-KEY: your_key_here. Le risposte includono sempre un booleano status e un message facoltativo, quindi la gestione degli errori ha la stessa struttura in ogni chiamata.
L'URL di base è https://api.simplyprint.io/{companyId}/{endpoint}: {companyId} è l'ID dell'account, non una versione API. Non serve un SDK; cURL, Postman e qualsiasi client HTTP già disponibile funzionano.
Scopri come Weshape usa API per gestire ~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.
Sviluppi per uno specifico marchio di stampanti?
SimplyPrint è indipendente dall'hardware, ma le pagine API specifiche per marca coprono endpoint, esempi di codice e particolarità importanti per ogni ecosistema. Se si scrive codice d'integrazione rivolto in particolare a host Prusa, Bambu Lab o OctoPrint, iniziare qui.
Gestire Prusa MK4, MK4S, MK3.9, MK3.5, Mini+, XL e CORE One tramite codice. Compatibile con PrusaLink.
Gestire Bambu Lab X1C, P1S, P1P, A1, A1 Mini, H2D tramite codice. Compatibile con AMS.
Migrazione da un'integrazione REST OctoPrint? Stessa struttura, ospitata nel cloud SimplyPrint, senza nuovi server da configurare.
Due livelli: API base e API avanzata
L'accesso API è disponibile in due livelli, in base al piano. Basic offre accesso in lettura e scritture limitate; Enhanced sblocca le operazioni più avanzate: caricamento file, modifiche alla coda, avvio delle stampe e invio di G-code.
API di base
Leggere stato della stampante, coda di stampa, lavori, cronologia, filamento e tag.
API avanzata
Accesso completo in lettura e scrittura: caricare file, avviare stampe, inviare G-code ed eseguire azioni in blocco.
Documentazione API live con cURL per ogni endpoint
Ogni endpoint ha una pagina della documentazione dedicata con firma della richiesta, tabella dei parametri, esempio cURL da copiare e incollare e una vera risposta di successo sulla destra. Niente più supposizioni sulla struttura dei payload, la documentazione è la specifica.
POST /{id}/jobs/GetPaginatedPrintJobs - lavori in corso o completati paginati, filtrabili per stampante, utente, stato e data.
POST /{id}/printers/Get - una o più stampanti con stato, filamento, specifiche hardware e flag di manutenzione.
POST files.simplyprint.io/{id}/files/Upload - richiesta singola fino a 100 MB, multipart per file più grandi.
Un'intestazione (X-API-KEY), un URL di base. La chiave è disponibile nelle impostazioni dell'account.
Per le app partner, ogni cliente collega il proprio account tramite il flusso standard authorize / token exchange.
OAuth2 per integrazioni partner
Per creare un'app di terze parti che altri clienti SimplyPrint utilizzeranno, usare OAuth2 affinché ogni cliente possa collegare il proprio account tramite una schermata di consenso, senza chiavi API condivise né segreti da copiare e incollare. È lo stesso flusso usato dalla nostra integrazione ufficiale Cura e predisposto per le integrazioni dei partner su piattaforme come Zapier, n8n, Make e Activepieces.
- URL di autorizzazione: https://simplyprint.io/panel/oauth2/authorize
- Scambio di token: https://simplyprint.io/api/0/oauth2/Token (lo 0 è intenzionale, lo scambio non è associato a un account)
- Individuare l'account associato: dopo lo scambio, chiamare /account/GetUser con il bearer token per sapere quale account ha selezionato l'utente
- Chiamate successive: usano il percorso standard /api/{companyId}/{endpoint} con il token 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"
I client OAuth2 approvati vengono configurati tramite il modulo di richiesta client OAuth2. Sono necessari gli URI di reindirizzamento, gli ambiti richiesti e una descrizione in un paragrafo della funzionalità dell'app.
Richiedere accesso client OAuth2
Limiti di frequenza API e funzionalità per piano
I piani Free, Basic, Cloud Slicer e Filament Manager non offrono API. Da Pro in su è disponibile Basic; da Print Farm in su Enhanced, con caricamento file e modifiche in scrittura.
| Funzionalità / Limite | Gratis | Base | Pro | Print farm | Enterprise | Scuola | Cloud Slicer | Gestore del filamento |
|---|---|---|---|---|---|---|---|---|
|
Richieste API al minuto
Limite mobile al minuto. I picchi entro la finestra sono consentiti, il superamento del limite restituisce un breve timeout e il limite si reimposta allo scadere del minuto.
|
- | - | 60 | 180 | 600 | 180 | - | - |
|
Accesso API di base
Leggere stato della stampante, coda di stampa, lavori, cronologia, filamento e tag. Piani Pro e superiori.
|
||||||||
|
API avanzata (lettura e scrittura complete)
Consente caricamenti di file, modifiche alla coda di stampa che avviano stampe, invio diretto di G-code e operazioni di scrittura in blocco. Piano Print Farm e superiori.
|
||||||||
|
Zapier, n8n, Make e Activepieces
Collegare tramite gli strumenti ufficiali basati su OAuth2. La capacità di scrittura eredita il livello API dell'account.
|
||||||||
|
Agenti AI tramite MCP
Collegare Claude, Claude Code e altri client AI compatibili con MCP per gestire la flotta in linguaggio naturale.
|
Vuoi saperne di più sui nostri piani?
Visualizza il confronto completo tra prezzi e funzionalità
Abbinare l'API ai webhook per eventi push
L'API REST è il lato pull: viene effettuata una richiesta e SimplyPrint risponde. Abbinarla ai webhook per il lato push: inizia una stampa, termina un lavoro, si esaurisce il filamento, viene approvato un elemento della coda, SimplyPrint invia l'evento con POST a un endpoint senza dover effettuare polling. Insieme coprono ogni schema di integrazione.
I Webhooks sono inclusi dal piano Print Farm in su e usano lo stesso modello di eventi impiegato internamente dal pannello.
Ottieni una chiave API in 30 secondi
Accedere al pannello, aprire Impostazioni account → API, assegnare un nome alla chiave e copiarla. Fatto. Le chiavi sono per utente e rispettano le autorizzazioni dell'utente nell'account, quindi un'integrazione funziona esattamente con l'accesso del proprietario, senza privilegi aggiuntivi.
Aprire le impostazioni API
La documentazione completa è disponibile su apidocs.simplyprint.io
Ogni endpoint, struttura di richieste e risposte, codici di errore, flusso OAuth2, elenco degli scope. La documentazione è adatta anche all'AI: è disponibile un llms.txt per l'acquisizione AI one-shot e un api/index.json strutturato per creare strumenti basati sul catalogo.
Apri la documentazione APIBonus: l'API aperta di Open Filament Database
Oltre all'API SimplyPrint, curiamo anche l'Open Filament Database, un catalogo open source con licenza MIT dei filamenti per stampa 3D: marchi, materiali, colori, dimensioni e negozi. Include una propria API JSON completamente aperta, senza chiave, autenticazione o limiti di frequenza differenziati per piano, per importare direttamente dati su marchi, materiali e colori in app, slicer, negozi o tracker di bobine. Sono gli stessi dati usati dai preset di filamento di SimplyPrint.
Endpoint: api.openfilamentdatabase.org, documentazione completa su openfilamentdatabase.org/docs.
Domande frequenti
Come ottenere una chiave API?
Quali sono i limiti di frequenza?
Chiave API o OAuth2: quale usare?
Funziona con stampanti Prusa / Bambu Lab / OctoPrint?
Sono disponibili webhook per eventi push?
È disponibile un server MCP per gli agenti AI?
Sono disponibili SDK ufficiali?
È disponibile un ambiente sandbox o di test?
Qual è il formato dell'URL? Esiste una v1 o una v2?
Se mai venisse introdotta una modifica radicale, come strutture di risposta incompatibili, un modello di autenticazione diverso o una riorganizzazione degli URL, verrà rilasciata con il prefisso /v2 (o simile) e l'API esistente continuerà a funzionare parallelamente. Al momento non è previsto nulla del genere, ma è così che verrebbe gestita.
Guide API per brand
Per l'integrazione con uno specifico ecosistema di stampanti, ogni guida copre gli endpoint, gli esempi di codice e le peculiarità importanti per quel brand.
Prusa API
Gestire ogni stampante Prusa della flotta tramite codice
API Bambu Lab
Gestire ogni stampante Bambu Lab della flotta tramite codice, con AMS incluso
Alternativa all'API OctoPrint
Alternativa ospitata e adatta alle flotte a un'integrazione REST di OctoPrint