Tools
Import from OpenAPI
Parse an OpenAPI 3.x spec and import the selected operations as tools.
POST
This endpoint accepts an OpenAPI 3.x JSON or YAML spec and runs a two-phase import: the first call returns a list of candidate tools (one per operation), the second call commits the selection.
Phase 1 (no
commit flag) parses the spec and returns candidates with temp_ids — no tools are created. Phase 2 (commit: true) takes the same body plus selected_temp_ids and writes the chosen tools to the database. This mirrors the import wizard in the admin UI.Imported tools default to status
draft so a careless import never silently exposes half-baked tools to MCP clients. Pass imported_status: "active" on the commit call when you’ve reviewed the candidates and want them live immediately.Path Parameters
The UUID of the server to import into (e.g.
836995ae-1cff-41ec-823e-a4f07ccca3a0). Numeric IDs are also accepted for backwards compatibility.Body Parameters
Where the spec content comes from. One of:
text (use content), url (use url).The raw spec body (JSON or YAML). Required when
source is text. Hard cap of 10 MB.Public URL to fetch the spec from. Required when
source is url. Followed up to 3 redirects, 10 s timeout, 10 MB cap.When
false (default), parse the spec and return candidates without writing anything. When true, persist the candidates listed in selected_temp_ids.Array of
temp_id strings (returned by the parse phase) identifying which candidates to create. Required when commit is true. Anything not in the list is silently ignored.How to handle slug collisions during commit. One of:
skip (default — record goes into skipped[]), duplicate (let ToolManager auto-suffix the slug).Status for newly created tools during commit. One of:
draft, active. Defaults to draft for safety.Status Codes
| Code | Meaning |
|---|---|
200 | Spec parsed (phase 1) or commit completed (phase 2). |
400 | Bad spec, empty content, wrong version, or unfetchable URL. |
402 | 14-day trial expired and no active license. |
403 | Current license tier does not allow OpenAPI import. |
404 | Server not found. |

