同一机群,同一数据,由您的代码掌控。
API提供面板使用的相同操作:加入队列、获取打印机状态、上传文件、查看耗材、读取任务历史、执行批量操作。一个API密钥,每个账户一个基础URL,您即可开始开发。
通过一次API调用开始打印
从您的代码到让挤出机动起来的最快路径:向/queue/AddItem POST 文件 ID,指定一台或多台打印机,SimplyPrint 会处理后续流程。后台中,队列运行与面板相同的匹配、审批和路由逻辑,因此打印会在与人工点击“打印”时相同的打印机上开始。
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"
}'
成功响应:
{
"status": true,
"message": null,
"approval_status": "not_required",
"id": 90817,
"queue_position": 1
}
URL中的{companyId}是您的账户ID,不是版本号,可在登录后从面板URL中找到。设置for_printers以指定特定打印机,或省略它以让SimplyPrint选择兼容打印机。设置position: "top"可跳到队首。
浏览所有端点
通过代码控制您设备群的每个部分
超过100个REST端点,覆盖您机群的各个方面:打印机、打印队列、文件、耗材、打印任务、统计信息、webhook、自定义字段等。这不是精简的子集:只要面板中有页面,API中就有相应端点。用户、学校、维护、标签、切片软件配置文件和G-code宏也全部接入。
- 队列:通过/queue/AddItem添加队列项、列出待审批项、分配打印机、调整顺序以及批准或拒绝
- 打印机:查看状态、发送G-code、点动轴、控制风扇和电机、归零、暂停、恢复、取消
- 文件和任务:上传、移动、获取历史记录、归档、获取成本估算。
- 耗材:读取库存、分配给打印机、调整重量、标记为已烘干、管理品牌和颜色。
- 账户和用户,管理成员、权限、自定义字段、标签和学校班级
读取状态。发送命令。使用相同的身份验证请求头。
一次调用即可列出所有打印机。响应与面板所呈现的打印机对象相同,包含状态、当前任务、温度、已装载的耗材等全部信息。
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
-H "X-API-KEY: your_api_key_here"
暂停正在打印的任务,发送单次G-code命令,点动坐标轴,所有实时端点均采用相同的JSON输入、JSON输出格式。
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、一个请求头,就这么简单
每个端点均使用HTTPS,输入JSON,输出JSON。身份验证只需一个请求头:X-API-KEY: your_key_here。响应始终包含status布尔值和可选的message,因此每次调用的错误处理结构一致。
基础 URL 为 https://api.simplyprint.io/{companyId}/{endpoint},其中{companyId}是您的账户 ID,而非 API 版本。无需 SDK;cURL、Postman 和您已有的任何 HTTP 客户端都可用。
了解Weshape如何使用API管理~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.
正在为特定打印机品牌开发产品?
SimplyPrint不依赖特定硬件,但我们的品牌专属 API页面涵盖对各生态系统重要的端点、代码示例和特殊情况。如果您正在编写专门面向 Prusa、Bambu Lab或 OctoPrint主机的集成代码,请从这里开始。
通过代码控制Prusa MK4、MK4S、MK3.9、MK3.5、Mini+、XL和CORE One。兼容PrusaLink。
通过代码控制Bambu Lab X1C、P1S、P1P、A1、A1 Mini、H2D。支持AMS。
正从OctoPrint REST集成迁移?结构相同,由我们的云端托管,无需部署新服务器。
两个层级:基础API和增强API
API访问按套餐分为两个级别。Basic提供读取权限和有限写入权限;Enhanced解锁高级功能,包括文件上传、队列变更、启动打印和发送G-code。
基础API
读取打印机状态、队列、任务、历史记录、耗材和标签。
增强型API
完整读写支持:上传、开始打印、发送G-code、批量操作。
包含每个端点cURL示例的实时API文档
每个端点都有专属文档页面,包含请求签名、参数表、可直接复制粘贴的cURL示例,以及右侧的真实成功响应。无需再猜测请求负载结构,文档就是规范。
POST /{id}/jobs/GetPaginatedPrintJobs,分页获取进行中或已完成的任务,可按打印机、用户、状态和日期筛选。
POST /{id}/printers/Get,获取一台或多台打印机及其状态、耗材、硬件规格和维护标记。
POST files.simplyprint.io/{id}/files/Upload,单个请求最大100 MB,较大文件使用多部分上传。
一个请求头(X-API-KEY),一个基础URL。请在您的账户设置中获取密钥。
对于合作伙伴应用:每位客户均通过标准授权/令牌交换连接自己的账户。
用于合作伙伴集成的 OAuth2
正在构建供其他 SimplyPrint 客户使用的第三方应用?请使用 OAuth2,让每位客户可通过同意界面连接自己的账户,无共享 API 密钥,无复制粘贴的密钥。这与我们官方 Cura 集成使用的流程相同,也与我们为 Zapier、n8n、Make 和 Activepieces 等平台上的合作伙伴集成提供的流程相同。
- 授权URL:https://simplyprint.io/panel/oauth2/authorize
- 令牌交换:https://simplyprint.io/api/0/oauth2/Token(0是有意设置的,交换不限定账户范围)
- 确定绑定的账户:完成交换后,使用 bearer token 调用/account/GetUser,以确定用户选择了哪个账户。
- 后续调用:使用带有Bearer令牌的标准/api/{companyId}/{endpoint}路径。
# 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"
经批准的OAuth2客户端通过OAuth2客户端申请表配置。请向我们发送您的重定向URI、所需权限范围,以及一段说明您的应用功能的简介。
申请 OAuth2 客户端访问权限
按套餐划分的API速率限制和功能
免费版、基础版、云切片和耗材管理器套餐不提供API。专业版及以上提供基础API,打印农场版及以上提供增强API(文件上传和写入操作)。
| 功能/限制 | 免费 | 基础 | 专业版 | 打印农场 | 企业版 | 学校 | 云切片 | 耗材管理器 |
|---|---|---|---|---|---|---|---|---|
|
每分钟API请求数
滚动式每分钟限流器。窗口内的突发请求没问题,达到限制会返回短暂超时,下一分钟开始时限流器将重置。
|
- | - | 60 | 180 | 600 | 180 | - | - |
|
基础API访问权限
读取打印机状态、队列、任务、历史记录、耗材和标签。专业版及以上。
|
||||||||
|
增强型API(完整读写)
解锁文件上传、会启动打印的队列变更、直接发送G-code和批量写入操作。Print Farm及以上套餐。
|
||||||||
|
Zapier、n8n、Make 和 Activepieces
通过官方基于OAuth2的集成连接。写入权限继承账户的API套餐。
|
||||||||
|
通过MCP使用AI智能体
连接Claude、Claude Code和其他兼容MCP的AI客户端,通过自然语言管理您的机群。
|
您想详细了解我们的套餐吗?
查看完整价格和功能对比
将API与webhook搭配使用以接收推送事件
REST API负责拉取,您发出请求,SimplyPrint作出响应。搭配webhook即可实现推送:打印开始、任务完成、耗材用尽或队列项获批时,SimplyPrint会将事件POST到您的端点,您无需轮询。两者共同涵盖所有集成模式。
Webhooks属于打印农场及以上套餐,并采用与面板内部相同的事件模型。
30秒获取API密钥
登录控制面板,打开账户设置→API,为密钥命名并复制。完成即可。密钥归各用户所有,并遵循该用户在账户中的权限,因此集成可获得的访问权限与其所有者完全一致,不多不少。
打开您的API设置
完整参考文档见 apidocs.simplyprint.io
涵盖所有端点、请求和响应结构、错误代码、OAuth2流程和范围列表。文档也对AI友好,提供用于一次性供AI读取的llms.txt,以及用于在目录基础上构建工具的结构化api/index.json。
打开API参考文档额外功能:开放耗材数据库的开放API
除了SimplyPrint API,我们还维护开放耗材数据库,这是一个采用MIT许可的开源3D打印耗材目录,包含品牌、材料、颜色、尺寸和商店。它拥有独立的完全开放的JSON API,无需密钥、无需认证、无速率分级,因此您可将品牌、材料和颜色数据直接导入自己的应用、切片软件、商店或料盘追踪器。这些数据同样为SimplyPrint自身的耗材预设提供支持。
端点:api.openfilamentdatabase.org,完整文档见openfilamentdatabase.org/docs。
常见问题
如何获取API密钥?
速率限制是多少?
API密钥还是OAuth2,应该使用哪个?
能否与我的Prusa/Bambu Lab/OctoPrint打印机配合使用?
是否提供推送事件的Webhook?
有供AI代理使用的MCP服务器吗?
是否有官方SDK?
有沙盒或测试环境吗?
URL格式是什么,有v1或v2吗?
如果我们发布真正重大的版本变更,例如响应结构不兼容、更改认证模型或重构URL,它会通过/v2(或类似)前缀发布,现有API仍会继续与之并行运行。目前路线图上没有这类变更,这里只是说明我们届时会如何处理。
品牌专属 API 指南
正在针对特定打印机生态系统开发?每份指南涵盖对该品牌重要的端点、代码示例和注意事项。
Prusa API
通过代码控制您设备群中的每台Prusa打印机
Bambu Lab API
通过代码控制您设备群中的每台Bambu Lab打印机,包括AMS
OctoPrint API 替代方案
托管式、面向机群的OctoPrint REST集成替代方案