submit_job
Queue a G-code file for unattended 3D printing, assigning it to a printer or letting the scheduler choose, with priority control and idempotency keys that prevent duplicate prints.
Instructions
Submit a print job to the queue.
``version_id`` / ``design_id`` / ``branch_id`` name the kept design the
file came from, when there is one; the scheduler hands them to the
start so the print's record lands on that version's history.
A free account's queue holds a fixed number of pending jobs (the
refusal says how many); Pro has no queue cap.
Args:
file_name: G-code file name (must already exist on the printer).
printer_name: Target printer name. Omit to let the scheduler
choose: the printer the queue is already on (it stays on one
machine unless a person moves it), or on the fleet plan any
idle printer.
priority: Higher values are scheduled first (default 0).
idempotency_key: Optional opaque key (e.g. a UUID you generate)
naming this one submission. If your call fails in a way
where you cannot tell whether the job was queued — a timeout,
a dropped connection — retry with the SAME key: you will get
the original job back (``submission: "replayed"``) instead of
queuing a duplicate print. Use a NEW key for each job you
genuinely want printed; reusing a key with different
parameters is refused.
preview_token: Token from ``issue_preview_token`` after the user
has seen the file. Required: a queued job is a print the
scheduler will start unattended, so the gate is here, at the
door, and the sign-off rides the job.
version_id: The kept design version this file came from, so the
print's record lands on that version's history. A file that is
not a Kiln design passes none.
design_id: The design that version belongs to; passed with
``version_id``.
branch_id: The branch that version is on; passed with ``version_id``.
Jobs are executed in priority order, with FIFO tie-breaking.
Use ``job_status`` to check progress and ``queue_summary`` for an overview.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"file_name": "<file_name>"
},
"name": "submit_job"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| priority | No | Higher values are scheduled first (default 0). Default: 0. | |
| branch_id | No | The branch that version is on; passed with ``version_id``. | |
| design_id | No | The design that version belongs to; passed with ``version_id``. | |
| file_name | Yes | G-code file name (must already exist on the printer). | |
| version_id | No | The kept design version this file came from, so the print's record lands on that version's history. A file that is not a Kiln design passes none. | |
| printer_name | No | Target printer name. Omit to let the scheduler choose: the printer the queue is already on (it stays on one machine unless a person moves it), or on the fleet plan any idle printer. | |
| preview_token | No | Token from ``issue_preview_token`` after the user has seen the file. Required: a queued job is a print the scheduler will start unattended, so the gate is here, at the door, and the sign-off rides the job. | |
| idempotency_key | No | Optional opaque key (e.g. a UUID you generate) naming this one submission. If your call fails in a way where you cannot tell whether the job was queued — a timeout, a dropped connection — retry with the SAME key: you will get the original job back (``submission: "replayed"``) instead of queuing a duplicate print. Use a NEW key for each job you genuinely want printed; reusing a key with different parameters is refused. |