Sign in
Docs
API referenceCoordinator

API reference

File a host action

Have a token? Manage tokens in the console
POST
/v1/coordinator/host-actions

Ask a person to approve one host action on a runner the coordinator pins, by its catalog id (runner/host-action/v0). The document is checked against the schema and the catalog's effect class, and the catalog's precondition runs first: one that does not pass, or cannot be read, answers refused with the reason and nothing is filed. The person asked is the pin's, not the caller's choice. An ask for the same action, runner and params that already stands answers open or running instead of a second one. Nothing runs until the person approves.

Needs scope coordinator:write.

Authorization

bearer
headerAuthorizationBearer <JWT>

An access token from the identity provider: a person's, or a customer's from the client credentials grant with an API key (developers.inorbit.hr). The gateway verifies it; the audience is iohr-api.

Request Body

iohr.coordinator.v1.FileHostActionRequest; path variables override their fields

application/json
  1. body

iohr.coordinator.v1.FileHostActionRequest

account_id?string
action?string
links?array<string>
params?

google.protobuf.Struct

reason?string
runner_id?string

Response Body

iohr.coordinator.v1.FileHostActionResponse

application/json
  1. response

iohr.coordinator.v1.FileHostActionResponse

approval_id*string
refused_reason*string
state*string
superseded*string
import { ApiError, Public } from "@inorbithr/sdk";// Reads INORBIT_TOKEN, or INORBIT_KEY_ID and INORBIT_KEY_SECRET.const api = Public.fromEnv();try {  const { value } = await api.coordinator.fileHostAction({    action: "<action>",    links: ["<links>"],    reason: "<reason>",  });  console.log(value);} catch (e) {  if (!(e instanceof ApiError)) throw e;  console.error(`${e.code}: ${e.problem} (request id ${e.raw.requestId})`);  process.exitCode = 1;}

npm install @inorbithr/sdk. Calls the package's public surface; an operation newer than your package needs the next release or a client generated for your account. The SDKs.

Example Response
{  "approval_id": "string",  "refused_reason": "string",  "state": "string",  "superseded": "string"}