OpenVibe.Tools API
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
Server https://openvibe.tools. 12 routes performing 6 capabilities. OpenAPI 3.1 document.
POST /api/v1/jobs
Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal.
- Capabilities
- tools.job.create
- Visibility
- public
- Request body
application/jsontools.job-create-request@1- Response
application/jsontools.job@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.create</strong> (public): Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal. Idempotency-Key supported. Also the owner's other writes on a job: retry a failed job as a new one (idempotent: asking again returns that retry), and keep a succeeded job's result while a reference such as community:paste:p_123 points at it (PUT), or let it expire again (DELETE, after the last reference).</p> <p>Route note: Tools satellites: img, audio, docs</p>GET /api/v1/jobs/{id}
Read a job the calling principal created: state, progress, result (Media object references or local files), SSE progress with Last-Event-ID resume, result files.
- Capabilities
- tools.job.read
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsontools.job-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.read</strong> (public): Read a job the calling principal created: state, progress, result (Media object references or local files), SSE progress with Last-Event-ID resume, result files.</p>DELETE /api/v1/jobs/{id}
Cancel a queued or running job the calling principal created.
- Capabilities
- tools.job.cancel
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsontools.job@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.cancel</strong> (public): Cancel a queued or running job the calling principal created.</p>GET /api/v1/jobs/{id}/events
Read a job the calling principal created: state, progress, result (Media object references or local files), SSE progress with Last-Event-ID resume, result files.
- Capabilities
- tools.job.read
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsontools.job-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.read</strong> (public): Read a job the calling principal created: state, progress, result (Media object references or local files), SSE progress with Last-Event-ID resume, result files.</p>GET /api/v1/jobs/{id}/files/{n}
Read a job the calling principal created: state, progress, result (Media object references or local files), SSE progress with Last-Event-ID resume, result files.
- Capabilities
- tools.job.read
- Visibility
- public
- Parameters
id(path, required)n(path, required)
- Response
application/jsontools.job-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.read</strong> (public): Read a job the calling principal created: state, progress, result (Media object references or local files), SSE progress with Last-Event-ID resume, result files.</p>PUT /api/v1/jobs/{id}/references/{ref}
Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal.
- Capabilities
- tools.job.create
- Visibility
- public
- Parameters
id(path, required)ref(path, required)
- Request body
application/jsontools.job-create-request@1- Response
application/jsontools.job@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.create</strong> (public): Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal. Idempotency-Key supported. Also the owner's other writes on a job: retry a failed job as a new one (idempotent: asking again returns that retry), and keep a succeeded job's result while a reference such as community:paste:p_123 points at it (PUT), or let it expire again (DELETE, after the last reference).</p>DELETE /api/v1/jobs/{id}/references/{ref}
Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal.
- Capabilities
- tools.job.create
- Visibility
- public
- Parameters
id(path, required)ref(path, required)
- Input
- tools.job-create-request@1
- Response
application/jsontools.job@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.create</strong> (public): Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal. Idempotency-Key supported. Also the owner's other writes on a job: retry a failed job as a new one (idempotent: asking again returns that retry), and keep a succeeded job's result while a reference such as community:paste:p_123 points at it (PUT), or let it expire again (DELETE, after the last reference).</p>POST /api/v1/jobs/{id}/retry
Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal.
- Capabilities
- tools.job.create
- Visibility
- public
- Parameters
id(path, required)
- Request body
application/jsontools.job-create-request@1- Response
application/jsontools.job@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.job.create</strong> (public): Submit an asynchronous tool job (img.process, audio.process, docs.process) with its input files (tools.job-request@1, JSON or multipart); the job is owned by the calling principal. Idempotency-Key supported. Also the owner's other writes on a job: retry a failed job as a new one (idempotent: asking again returns that retry), and keep a succeeded job's result while a reference such as community:paste:p_123 points at it (PUT), or let it expire again (DELETE, after the last reference).</p>GET /api/v1/tools
Read the tool registry (ADR-027): every tool's descriptor (tools.tool@1: execution, whether the run API exposes it, how to call it, input and output schemas, files, limits, auth, quota class, cost, eg
- Capabilities
- tools.tool.read
- Visibility
- public
- Response
application/jsontools.tool-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.tool.read</strong> (public): Read the tool registry (ADR-027): every tool's descriptor (tools.tool@1: execution, whether the run API exposes it, how to call it, input and output schemas, files, limits, auth, quota class, cost, egress, hosts, docs), filtered by family, execution, api, status or text. GET /api/v1/tools answers tools.tool-list@1 with schemas as { $ref }; GET /api/v1/tools/:id has them embedded; GET /api/v1/tools/:id/schema answers { $schema, $id, $defs: { input, output } }, with $defs.input false for a tool without an API. The gateway (https://openvibe.tools) answers for every tool, and each satellite for its own tools with its own live status. Open to everyone, anonymous callers included, from any origin (CORS *); cacheable (ETag, 304). A bad filter value is 400 tools.query.invalid; an unknown, planned or mirror id is 404 tools.tool.not_found, whose detail says which.</p>GET /api/v1/tools/{id}
Read the tool registry (ADR-027): every tool's descriptor (tools.tool@1: execution, whether the run API exposes it, how to call it, input and output schemas, files, limits, auth, quota class, cost, eg
- Capabilities
- tools.tool.read
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsontools.tool-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.tool.read</strong> (public): Read the tool registry (ADR-027): every tool's descriptor (tools.tool@1: execution, whether the run API exposes it, how to call it, input and output schemas, files, limits, auth, quota class, cost, egress, hosts, docs), filtered by family, execution, api, status or text. GET /api/v1/tools answers tools.tool-list@1 with schemas as { $ref }; GET /api/v1/tools/:id has them embedded; GET /api/v1/tools/:id/schema answers { $schema, $id, $defs: { input, output } }, with $defs.input false for a tool without an API. The gateway (https://openvibe.tools) answers for every tool, and each satellite for its own tools with its own live status. Open to everyone, anonymous callers included, from any origin (CORS *); cacheable (ETag, 304). A bad filter value is 400 tools.query.invalid; an unknown, planned or mirror id is 404 tools.tool.not_found, whose detail says which.</p>POST /api/v1/tools/{id}/run
Run the network probe tools through the run API (ADR-027): the tools whose descriptor names auth.capability tools.net.probe (port checks, ping, traceroute, mtr, latency, bulk header and TLS checks), w
- Capabilities
- tools.net.probe, tools.tool.run
- Visibility
- partner, public
- Parameters
id(path, required)
- Request body
application/jsontools.run-request@1- Response
application/jsontools.run@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>tools.net.probe</strong> (partner): Run the network probe tools through the run API (ADR-027): the tools whose descriptor names auth.capability tools.net.probe (port checks, ping, traceroute, mtr, latency, bulk header and TLS checks), which send traffic to a host the caller chose. Only app and service principals holding this capability run them through the API or the SDK: partner visibility, so Network grants it to a developer project only when staff add it to that project's allowance by hand, and first-party services hold it through their own grants. People keep using the probe pages, which have a per-target throttle. Every run is throttled per target across all callers (limits.perTargetPerMinute) and written to the pseudonymous abuse log. Planned until the gateway serves the route.</p> <p><strong>tools.tool.run</strong> (public): Run a tool through the uniform run API (ADR-027): POST /api/v1/tools/:id/run with tools.run-request@1 (JSON, or multipart with uploaded files), answered inline (tools.run@1 succeeded or failed) or, for a job tool that has not finished within wait_ms, with its job (202 + Location). Every tool whose descriptor has api true and auth.capability tools.tool.run. Callers are tiered, anonymous < session < user < app/service: tools with auth.anonymous true take anonymous callers (keyed by IP, IPv6 by /64); the others need a browser session, a signed-in person or a token. An app or service token needs this capability; people and browser sessions do not. Quotas count each tool's cost within its quota class, per caller. A job tool's run creates a job owned by the caller, like tools.job.create. Planned until the gateway serves the route.</p> <p>Route note: tools with auth.capability tools.net.probe</p>GET /api/v1/tools/{id}/schema
Read the tool registry (ADR-027): every tool's descriptor (tools.tool@1: execution, whether the run API exposes it, how to call it, input and output schemas, files, limits, auth, quota class, cost, eg
- Capabilities
- tools.tool.read
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsontools.tool-read-result@1- Errors
- errors.problem@1 (application/problem+json)