OpenVibe.Run API

Generated at from openvibe-contracts v0.112.0 and openvibe-sdk v0.35.0.

Server https://openvibe.run. 7 routes performing 6 capabilities. OpenAPI 3.1 document.

GET /api/v1/admin/jobs

Operator access to every project's jobs: GET /api/v1/admin/jobs (run.job-list-query@1 with project_id), and the read and cancel routes for any job.

Capabilities
run.job.admin
Visibility
internal
Parameters
  • state (query)
  • project_id (query) — Admin only (run.job.admin): list this project's jobs; with run.job.list it is refused 403.
  • limit (query) — Items per page, 1 to 200 (default 50). A query string carries it as a string, which must name the same range.
  • cursor (query) — next_cursor of the previous page.
Input
run.job-list-query@1
Response
application/json run.job-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.admin</strong> (internal): Operator access to every project&#39;s jobs: GET /api/v1/admin/jobs (run.job-list-query@1 with project_id), and the read and cancel routes for any job. Never delegated and never in an app or mod token.</p>

GET /api/v1/jobs

List the token project's jobs, newest first and cursor-paged: GET /api/v1/jobs?state=&limit=&cursor=.

Capabilities
run.job.list
Visibility
public
Parameters
  • state (query)
  • project_id (query) — Admin only (run.job.admin): list this project's jobs; with run.job.list it is refused 403.
  • limit (query) — Items per page, 1 to 200 (default 50). A query string carries it as a string, which must name the same range.
  • cursor (query) — next_cursor of the previous page.
Input
run.job-list-query@1
Response
application/json run.job-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.list</strong> (public): List the token project&#39;s jobs, newest first and cursor-paged: GET /api/v1/jobs?state=&amp;limit=&amp;cursor=.</p>

POST /api/v1/jobs

Submit a job to OpenVibe.Run: POST /api/v1/jobs.

Capabilities
run.job.submit
Visibility
public
Request body
application/json run.job-create-request@1
Response
application/json run.job-create-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.submit</strong> (public): Submit a job to OpenVibe.Run: POST /api/v1/jobs. The job belongs to the token&#39;s project, which is billed per wall-clock second it runs (service run, operation function.invoke, unit s). An idempotency_key makes a retry return the first job.</p>

GET /api/v1/jobs/{id}

Read one of the token project's jobs: GET /api/v1/jobs/:id (state, placement, timings, exit, usage seconds, result).

Capabilities
run.job.read
Visibility
public
Parameters
  • id (path, required)
Response
application/json run.job-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.read</strong> (public): Read one of the token project&#39;s jobs: GET /api/v1/jobs/:id (state, placement, timings, exit, usage seconds, result).</p>

POST /api/v1/jobs/{id}/cancel

Cancel one of the token project's jobs: POST /api/v1/jobs/:id/cancel.

Capabilities
run.job.cancel
Visibility
public
Parameters
  • id (path, required)
Response
application/json run.job-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.cancel</strong> (public): Cancel one of the token project&#39;s jobs: POST /api/v1/jobs/:id/cancel. A queued or placed job never starts; a running one is killed (platform.job-frame@1 job_cancel); cancelling an ended job changes nothing and answers it as it is.</p>

GET /api/v1/jobs/{id}/stream

Watch a job's live output: POST /api/v1/jobs/:id/stream/ticket mints a one-use, two-minute stream ticket (run.job-stream-ticket-result@1) and GET /api/v1/jobs/:id/stream?ticket= (or with a Bearer toke

Capabilities
run.job.stream
Visibility
public
Parameters
  • id (path, required)
Response
application/json run.job-stream-ticket-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.stream</strong> (public): Watch a job&#39;s live output: POST /api/v1/jobs/:id/stream/ticket mints a one-use, two-minute stream ticket (run.job-stream-ticket-result@1) and GET /api/v1/jobs/:id/stream?ticket= (or with a Bearer token) is text/event-stream of run.job-stream-event@1, resumable with Last-Event-ID.</p>

POST /api/v1/jobs/{id}/stream/ticket

Watch a job's live output: POST /api/v1/jobs/:id/stream/ticket mints a one-use, two-minute stream ticket (run.job-stream-ticket-result@1) and GET /api/v1/jobs/:id/stream?ticket= (or with a Bearer toke

Capabilities
run.job.stream
Visibility
public
Parameters
  • id (path, required)
Response
application/json run.job-stream-ticket-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>run.job.stream</strong> (public): Watch a job&#39;s live output: POST /api/v1/jobs/:id/stream/ticket mints a one-use, two-minute stream ticket (run.job-stream-ticket-result@1) and GET /api/v1/jobs/:id/stream?ticket= (or with a Bearer token) is text/event-stream of run.job-stream-event@1, resumable with Last-Event-ID.</p>