Skip to content

Models: P

  • root: kindgi.client.PassCriterion1 | kindgi.client.PassCriterion2

How the dry-run judges whether the candidate is good enough to submit for review. Two kinds: min-pass-rate (candidate pass rate ≥ threshold) or strict-improvement (candidate pass rate exceeds baseline by ≥ delta).

  • kind: Literal['min-pass-rate']
  • min_pass_rate: float (minPassRate on the wire)

How the dry-run judges whether the candidate is good enough to submit for review. Two kinds: min-pass-rate (candidate pass rate ≥ threshold) or strict-improvement (candidate pass rate exceeds baseline by ≥ delta).

  • kind: Literal['strict-improvement']
  • baseline_pass_rate: float (baselinePassRate on the wire)
  • min_delta: float (minDelta on the wire)
  • config: kindgi.client.Config9 | None (optional)
  • label: str | None (optional)
  • flow_version: str | None (flowVersion on the wire) (optional)
  • config: kindgi.client.Config7 | None (optional)
  • label: str | None (optional)
  • flow_version: str | None (flowVersion on the wire) (optional)

Fields to change; absent fields are kept. filter is replaced as a whole.

  • url: AnyUrl | None (optional)
  • events: list[Literal['run.finished']] | None (optional)
  • filter: kindgi.client.WebhookEndpointFilter | None (optional)
  • secret_ref: kindgi.client.WebhookSecretRef | None (secretRef on the wire) (optional)
  • description: str | None (optional)
  • config: kindgi.client.Config10 | None (optional)
  • label: str | None (optional)
  • flow_version: str | None (flowVersion on the wire) (optional)
  • kind: Literal['guardrail-violation', 'tool-error', 'budget-exceeded', 'model-error', 'aborted']
  • key: str
  • count: int
  • first_seen_at: AwareDatetime (firstSeenAt on the wire)
  • last_seen_at: AwareDatetime (lastSeenAt on the wire)
  • sample_conversations: list[uuid.UUID] (sampleConversations on the wire)
  • id: str
  • tenant_id: uuid.UUID (tenantId on the wire)
  • version: str
  • kind: Literal['access-control', 'model-routing', 'adapter-allowlist', 'rate-limit', 'retention', 'compliance', 'tool-errors', 'hitl']
  • description: str | None (optional)
  • spec: dict[str, Any]
  • data: list[kindgi.client.Policy]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • data: list[kindgi.client.PolicyVersionRow]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • id: str
  • tenant_id: uuid.UUID (tenantId on the wire)
  • version: str
  • kind: Literal['access-control', 'model-routing', 'adapter-allowlist', 'rate-limit', 'retention', 'compliance', 'tool-errors', 'hitl']
  • description: str | None (optional)
  • spec: dict[str, Any]
  • unregistered_at: AwareDatetime | None (unregisteredAt on the wire) (optional)
  • id: str
  • tenant_id: str (tenantId on the wire)
  • org_id: str | None (orgId on the wire) (optional)
  • name: str
  • slug: str
  • is_default: bool (isDefault on the wire)
  • description: str | None (optional)
  • created_at: str (createdAt on the wire)
  • updated_at: str (updatedAt on the wire)
  • data: list[kindgi.client.Project]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • project_id: str (projectId on the wire)
  • user_id: str (userId on the wire)
  • role: Literal['viewer', 'editor', 'owner', 'admin', 'member']
  • joined_at: str (joinedAt on the wire)
  • data: list[kindgi.client.ProjectMembership]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • name: str | None (optional)
  • slug: str | None (optional)
  • description: str | None (optional)
  • org_id: str | None (orgId on the wire) (optional)
  • name: str
  • slug: str
  • description: str | None (optional)
  • org_id: str | None (orgId on the wire) (optional)
  • is_default: bool | None (isDefault on the wire) (optional)
  • name: str
  • description: str | None (optional)
  • type: Literal['string', 'number', 'boolean', 'date']
  • required: bool | None (optional)
  • default: Any | None (optional)
  • root: Literal['prompt', 'retrieval', 'tool-config']

Polymorphic change payload. Shape depends on the sibling tier on the proposal (prompt / retrieval / tool-config).

  • data: list[kindgi.client.ProvenanceRecordMetadata]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • from_: str (from on the wire)
  • to: str
  • kind: Literal['caused-by', 'influenced-by', 'retrieved-from', 'invoked', 'produced', 'checked-against', 'waited-on', 'resumed-from']
  • root: Literal['caused-by', 'influenced-by', 'retrieved-from', 'invoked', 'produced', 'checked-against', 'waited-on', 'resumed-from']
  • id: str
  • version: str
  • id: str
  • kind: Literal['input', 'prompt', 'retrieval', 'tool-call', 'tool-result', 'model-call', 'model-output', 'artifact', 'guardrail-check', 'event', 'policy-decision', 'memory-read', 'memory-write', 'wait', 'resume']
  • timestamp: AwareDatetime
  • actor: str | None (optional)
  • content_hash: str | None (contentHash on the wire) (optional)
  • content_ref: str | None (contentRef on the wire) (optional)
  • model_version: str | None (modelVersion on the wire) (optional)
  • policy_decision_id: str | None (policyDecisionId on the wire) (optional)
  • attributes: dict[str, Any] | None (optional)
  • root: Literal['input', 'prompt', 'retrieval', 'tool-call', 'tool-result', 'model-call', 'model-output', 'artifact', 'guardrail-check', 'event', 'policy-decision', 'memory-read', 'memory-write', 'wait', 'resume']

Full provenance record including the DAG payload.

  • id: uuid.UUID
  • run_id: uuid.UUID (runId on the wire)
  • tenant_id: uuid.UUID (tenantId on the wire)
  • version: str
  • flow_ref: kindgi.client.FlowRef | None (flowRef on the wire) (optional)
  • dag: kindgi.client.Dag
  • signature: kindgi.client.Signature | None (optional)
  • created_at: AwareDatetime (createdAt on the wire)

Lightweight metadata row returned by list. Excludes the full DAG payload — clients fetch the DAG via GET /v1/provenance/{runId}.

  • id: uuid.UUID
  • run_id: uuid.UUID (runId on the wire)
  • tenant_id: uuid.UUID (tenantId on the wire)
  • version: str
  • flow_ref: kindgi.client.FlowRef | None (flowRef on the wire) (optional)
  • signed: bool
  • created_at: AwareDatetime (createdAt on the wire)
  • run_id: uuid.UUID (runId on the wire)
  • provenance_id: uuid.UUID | None (provenanceId on the wire) (optional)
  • run_id: str | None (runId on the wire) (optional)
  • node_id: str | None (nodeId on the wire) (optional)
  • record_id: str | None (recordId on the wire) (optional)

Runtime-side signature attached at emission time (if the deployment signs on write). Independent of the export-time signature returned by the export route.

  • algorithm: Literal['ed25519']
  • key_id: str (keyId on the wire)
  • value: str
  • signed_at: AwareDatetime (signedAt on the wire)
  • id: str
  • model: str
  • data: list[kindgi.client.CapabilityDescriptor]
  • data: list[kindgi.client.ProviderMetadata]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)

USD per 1K tokens. An adapter may take more rate fields (see the adapter's README).

  • prompt_usd_per1k_tokens: float (promptUsdPer1kTokens on the wire)
  • completion_usd_per1k_tokens: float (completionUsdPer1kTokens on the wire)
  • id: str
  • region: str
  • models: list[kindgi.client.ModelInfo]
  • attributes: list[str] | None (optional)
  • description: str | None (optional)
  • capability_kind: str | None (capabilityKind on the wire) (optional)
  • fallback: bool | None (optional)

Full defineAgent spec. Validated server-side via @kindgi/agents.defineAgent — validation failures return 400 validation-failed with the issue list under details.issues.

  • id: str
  • version: str
  • name: str
  • description: str | None (optional)
  • project_id: uuid.UUID (projectId on the wire)
  • instructions: str
  • parameters: list[kindgi.client.PromptParameter] | None (optional)
  • capabilities: list[kindgi.client.Capability4]
  • tools: list[kindgi.client.ToolRef]
  • retrieval: list[kindgi.client.RetrievalIntent]
  • guardrails: list[str]
  • preferred_provider: str | None (preferredProvider on the wire) (optional)
  • preferred_model: str | None (preferredModel on the wire) (optional)
  • conversation_policy: kindgi.client.ConversationPolicy | None (conversationPolicy on the wire) (optional)
  • budget: kindgi.client.TurnBudget | None (optional)
  • tags: list[str] | None (optional)
  • output: kindgi.client.AgentOutputSpec | None (optional)
  • tool_errors: kindgi.client.ToolErrorsSpec | None (toolErrors on the wire) (optional)
  • agent_id: str (agentId on the wire)
  • version: str
  • id: str
  • project_id: uuid.UUID (projectId on the wire)
  • tenant_id: uuid.UUID | None (tenantId on the wire) (optional)
  • version: str
  • kind: Literal['accuracy', 'pairwise', 'regression', 'human-review', 'benchmark', 'custom']
  • description: str | None (optional)
  • spec: dict[str, Any]
  • suite_id: str (suiteId on the wire)
  • version: str

Full flow definition. Validated server-side via @kindgi/flow.loadFlow — validation failures return 400 validation-failed with the issue list under details.issues.

  • id: str
  • version: str
  • name: str | None (optional)
  • description: str | None (optional)
  • project_id: uuid.UUID (projectId on the wire)
  • nodes: list[kindgi.client.FlowNode]
  • edges: list[kindgi.client.FlowEdge]
  • max_parallelism: int | None (maxParallelism on the wire) (optional)
  • metadata: dict[str, Any] | None (optional)
  • flow_id: str (flowId on the wire)
  • version: str
  • id: str
  • tenant_id: uuid.UUID | None (tenantId on the wire) (optional)
  • version: str
  • kind: Literal['access-control', 'model-routing', 'adapter-allowlist', 'rate-limit', 'retention', 'compliance', 'tool-errors', 'hitl']
  • description: str | None (optional)
  • spec: dict[str, Any]
  • policy_id: str (policyId on the wire)
  • version: str