Skip to content

Models: R

  • name: str
  • ref: str
  • version: int
  • session_token: str (sessionToken on the wire)
  • session_id: str (sessionId on the wire)
  • expires_at: AwareDatetime (expiresAt on the wire)
  • flow_id: str (flowId on the wire)
  • flow_version: str (flowVersion on the wire)
  • config: kindgi.client.Config8
  • label: str | None (optional)

Guardrail spec. Validated server-side via @kindgi/guardrails.validateGuardrailSpec. Metadata-only registration: the check id must reference an implementation already available to the runtime.

  • id: str
  • name: str | None (optional)
  • description: str | None (optional)
  • kind: str
  • check: str
  • config: dict[str, Any] | None (optional)
  • action: kindgi.client.GuardrailAction
  • severity: Optional[Literal['info', 'warn', 'error', 'critical']] (optional)
  • scope: kindgi.client.GuardrailScope | None (optional)
  • budget: kindgi.client.Budget | None (optional)
  • judge_capabilities: dict[str, Any] | None (judgeCapabilities on the wire) (optional)
  • project_id: uuid.UUID (projectId on the wire)
  • guardrail_id: str (guardrailId on the wire)
  • provider_id: str (providerId on the wire)
  • endpoint_id: str (endpointId on the wire)
  • name: str
  • transport: Literal['stdio', 'http-sse', 'streamable-http']
  • config: kindgi.client.Config3 | kindgi.client.Config4 | kindgi.client.Config5
  • secret_ref: kindgi.client.MCPEndpointSecretRef | None (secretRef on the wire) (optional)
  • instructions: str | None (optional)
  • metadata: dict[str, Any] | None (optional)
  • scope_kind: Literal['tenant', 'org', 'project'] (scopeKind on the wire)
  • scope_id: str | None (scopeId on the wire) (optional)
  • endpoint_id: str (endpointId on the wire)
  • metadata: kindgi.client.ProviderMetadata
  • adapter_id: str
  • secret_ref: kindgi.client.SecretRef | None (optional)
  • adapter_config: dict[str, str | float | bool] | None (optional)
  • provider_id: str (providerId on the wire)

Register a reviewer for the caller's tenant. Idempotent w.r.t. (tenantId, userId) — re-registering rotates role/displayName rather than inserting a duplicate.

  • user_id: uuid.UUID (userId on the wire)
  • role: Literal['standard', 'senior', 'admin']
  • display_name: str | None (displayName on the wire) (optional)
  • flow_id: str (flowId on the wire)
  • flow_version: str (flowVersion on the wire)
  • config: kindgi.client.Config6
  • label: str | None (optional)

ToolManifest — Tool minus its runtime handler. Validated server-side via @kindgi/tools.validateToolManifest. Metadata-only registration: the handler is not uploaded and must already be available to the runtime.

  • id: str
  • description: str
  • version: str | None (optional)
  • input: dict[str, Any]
  • output: dict[str, Any]
  • needs: list[kindgi.client.ToolNeed] | None (optional)
  • effects: list[kindgi.client.ToolEffect] | None (optional)
  • transport: Optional[Literal['auto', 'native', 'mcp']] (optional)
  • mcp_endpoint: str | None (mcpEndpoint on the wire) (optional)
  • metadata: dict[str, Any] | None (optional)
  • mutating: bool | None (optional)
  • sandbox: Optional[Literal['none', 'context-isolated', 'strict']] (optional)
  • limits: kindgi.client.RuntimeLimits | None (optional)
  • network: kindgi.client.NetworkPolicy1 | kindgi.client.NetworkPolicy2 | None (optional)
  • needs_spec: kindgi.client.TypedNeeds | None (needsSpec on the wire) (optional)
  • code_artifact_ref: kindgi.client.CodeArtifactRef1 | kindgi.client.CodeArtifactRef2 | None (codeArtifactRef on the wire) (optional)
  • spec: kindgi.client.ToolSpec | None (optional)
  • project_id: uuid.UUID (projectId on the wire)
  • tool_id: str (toolId on the wire)
  • flow_id: str (flowId on the wire)
  • flow_version: str (flowVersion on the wire)
  • config: kindgi.client.Config10 | None (optional)
  • hmac_secret_name: str (hmacSecretName on the wire)
  • label: str | None (optional)
  • agent_id: str (agentId on the wire)
  • version: str
  • was_tombstoned: bool (wasTombstoned on the wire)
  • suite_id: str (suiteId on the wire)
  • version: str
  • was_tombstoned: bool (wasTombstoned on the wire)
  • flow_id: str (flowId on the wire)
  • version: str
  • was_tombstoned: bool (wasTombstoned on the wire)
  • policy_id: str (policyId on the wire)
  • version: str
  • was_tombstoned: bool (wasTombstoned on the wire)
  • tool_id: str (toolId on the wire)
  • version: str
  • was_tombstoned: bool (wasTombstoned on the wire)
  • waitpoint_id: str (waitpointId on the wire)
  • value: Any | None (optional)
  • keep_until: AwareDatetime | None (keepUntil on the wire) (optional)
  • keep_days: int | None (keepDays on the wire) (optional)
  • legal_hold: bool | None (legalHold on the wire) (optional)
  • fact: kindgi.client.Fact
  • score: float | None (optional)
  • types: list[str]
  • scope: Literal['same-conversation', 'same-project', 'tenant']
  • limit: int | None (optional)
  • mode: Optional[Literal['keyword', 'semantic', 'both']] (optional)

Retrieval intent — mirrors RetrievalIntent from @kindgi/agents, widened for direct-HTTP use. mode: "list" returns a plain scoped list (no query). mode: "keyword" runs full-text search. mode: "semantic" runs vector similarity search — requires an embedding provider bound on the deployment; if unavailable, the route returns 400 bad-input. mode: "both" unions keyword + semantic results, dedup by fact id.

  • mode: Literal['list', 'keyword', 'semantic', 'both']
  • query: str | None (optional)
  • type: str | None (optional)
  • scope: kindgi.client.FactScope | None (optional)
  • limit: int | None (optional)
  • embedding_model: str | None (embeddingModel on the wire) (optional)

Retrieval intent — mirrors RetrievalIntent from @kindgi/agents, widened for direct-HTTP use. mode: "list" returns a plain scoped list (no query). mode: "keyword" runs full-text search. mode: "semantic" runs vector similarity search — requires an embedding provider bound on the deployment; if unavailable, the route returns 400 bad-input. mode: "both" unions keyword + semantic results, dedup by fact id.

  • mode: Literal['list', 'keyword', 'semantic', 'both']
  • query: str | None (optional)
  • type: str | None (optional)
  • scope: kindgi.client.FactScope | None (optional)
  • limit: int | None (optional)
  • embedding_model: str | None (embeddingModel on the wire) (optional)
  • results: list[kindgi.client.RetrievalHit]
  • max_attempts: int (maxAttempts on the wire)
  • id: str
  • approval_id: uuid.UUID (approvalId on the wire)
  • reviewer_id: uuid.UUID (reviewerId on the wire)
  • decision: Literal['approve', 'reject', 'escalate', 'withdraw']
  • rationale: str | None (optional)
  • reviewer_role_at_decision: Literal['standard', 'senior', 'admin'] (reviewerRoleAtDecision on the wire)
  • decided_at: AwareDatetime (decidedAt on the wire)
  • root: Literal['approve', 'reject', 'escalate', 'withdraw']

Reviewer roster row. Deactivation is soft (audit trail survives offboarding). deactivatedAt present → reviewer no longer receives approvals.

  • id: uuid.UUID
  • tenant_id: uuid.UUID (tenantId on the wire)
  • user_id: uuid.UUID (userId on the wire)
  • role: Literal['standard', 'senior', 'admin']
  • display_name: str | None (displayName on the wire) (optional)
  • created_at: AwareDatetime (createdAt on the wire)
  • deactivated_at: AwareDatetime | None (deactivatedAt on the wire) (optional)
  • data: list[kindgi.client.Reviewer]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • user_id: str (userId on the wire)
  • revoked_count: int (revokedCount on the wire)
  • reason: str | None (optional)
  • key_id: str (keyId on the wire)
  • revoked: bool
  • token_id: uuid.UUID (tokenId on the wire)
  • revoked: Literal[True]
  • reason: str
  • proposal_id: uuid.UUID (proposalId on the wire)
  • rolled_back_at: AwareDatetime (rolledBackAt on the wire)
  • rotation_id: uuid.UUID (rotationId on the wire)
  • status: Literal['pending', 'succeeded', 'failed']
  • started_at: AwareDatetime (startedAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)
  • new_version_id: int | None (newVersionId on the wire) (optional)
  • old_version_id: int | None (oldVersionId on the wire) (optional)
  • error: str | None (optional)
  • id: uuid.UUID
  • tenant_id: uuid.UUID (tenantId on the wire)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • flow_id: str (flowId on the wire)
  • flow_version: str (flowVersion on the wire)
  • status: Literal['pending', 'running', 'suspended', 'completed', 'failed', 'cancelled']
  • dry_run: bool (dryRun on the wire)
  • created_at: AwareDatetime (createdAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)
  • completed_at: AwareDatetime | None (completedAt on the wire) (optional)
  • failure_message: str | None (failureMessage on the wire) (optional)
  • output: Any | None (optional)
  • parent_run_id: uuid.UUID | None (parentRunId on the wire) (optional)
  • parent_node_id: str | None (parentNodeId on the wire) (optional)
  • public_access_token: str | None (publicAccessToken on the wire) (optional)
  • public_access_token_expires_at: AwareDatetime | None (publicAccessTokenExpiresAt on the wire) (optional)
  • data: list[kindgi.client.Datum]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • event_id: str (eventId on the wire)
  • run_id: str (runId on the wire)
  • tenant_id: str (tenantId on the wire)
  • timestamp: AwareDatetime
  • kind: Literal['run.queued', 'run.started', 'run.step-started', 'run.step-completed', 'run.step-failed', 'run.step-retry-scheduled', 'run.iteration-started', 'run.iteration-completed', 'run.tool-invoked', 'run.tool-result', 'run.model-token', 'run.artifact-produced', 'run.guardrail-violated', 'run.wait-suspended', 'run.wait-resumed', 'run.approval-requested', 'run.approval-completed', 'run.completed', 'run.failed', 'run.cancelled']
  • sequence: int | None (optional)
  • node_id: str | None (nodeId on the wire) (optional)
  • payload: Any | None (optional)
  • id: str
  • type: Literal['run.finished']
  • created_at: AwareDatetime (createdAt on the wire)
  • data: kindgi.client.Data
  • root: str
  • data: list[kindgi.client.Datum1]
  • has_more: bool (hasMore on the wire)

A run's progress: status and timing, without its input, output, failure message or tenant. Safe to show in a browser.

  • id: uuid.UUID
  • flow_id: str (flowId on the wire)
  • flow_version: str (flowVersion on the wire)
  • status: Literal['pending', 'running', 'suspended', 'completed', 'failed', 'cancelled']
  • created_at: AwareDatetime (createdAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)
  • completed_at: AwareDatetime | None (completedAt on the wire) (optional)
  • parent_run_id: uuid.UUID | None (parentRunId on the wire) (optional)

A run event without its payload: what happened, on which node, when.

  • event_id: str (eventId on the wire)
  • run_id: str (runId on the wire)
  • timestamp: AwareDatetime
  • kind: str
  • sequence: int
  • node_id: str | None (nodeId on the wire) (optional)
  • root: Literal['pending', 'running', 'suspended', 'completed', 'failed', 'cancelled']

Sandbox-enforced resource caps at dispatch. Optional additive field.

  • mem_mb: int (memMB on the wire)
  • cpu_ms: int (cpuMs on the wire)