Models: P
PassCriterion
Section titled “PassCriterion”root: kindgi.client.PassCriterion1 | kindgi.client.PassCriterion2
PassCriterion1
Section titled “PassCriterion1”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(minPassRateon the wire)
PassCriterion2
Section titled “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['strict-improvement']baseline_pass_rate: float(baselinePassRateon the wire)min_delta: float(minDeltaon the wire)
PatchEventTriggerBody
Section titled “PatchEventTriggerBody”config: kindgi.client.Config9 | None(optional)label: str | None(optional)flow_version: str | None(flowVersionon the wire) (optional)
PatchScheduleBody
Section titled “PatchScheduleBody”config: kindgi.client.Config7 | None(optional)label: str | None(optional)flow_version: str | None(flowVersionon the wire) (optional)
PatchWebhookEndpointBody
Section titled “PatchWebhookEndpointBody”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(secretRefon the wire) (optional)description: str | None(optional)
PatchWebhookTriggerBody
Section titled “PatchWebhookTriggerBody”config: kindgi.client.Config10 | None(optional)label: str | None(optional)flow_version: str | None(flowVersionon the wire) (optional)
PatternRef
Section titled “PatternRef”kind: Literal['guardrail-violation', 'tool-error', 'budget-exceeded', 'model-error', 'aborted']key: strcount: intfirst_seen_at: AwareDatetime(firstSeenAton the wire)last_seen_at: AwareDatetime(lastSeenAton the wire)sample_conversations: list[uuid.UUID](sampleConversationson the wire)
Policy
Section titled “Policy”id: strtenant_id: uuid.UUID(tenantIdon the wire)version: strkind: Literal['access-control', 'model-routing', 'adapter-allowlist', 'rate-limit', 'retention', 'compliance', 'tool-errors', 'hitl']description: str | None(optional)spec: dict[str, Any]
PolicyCollectionPage
Section titled “PolicyCollectionPage”data: list[kindgi.client.Policy]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
PolicyVersionCollectionPage
Section titled “PolicyVersionCollectionPage”data: list[kindgi.client.PolicyVersionRow]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
PolicyVersionRow
Section titled “PolicyVersionRow”id: strtenant_id: uuid.UUID(tenantIdon the wire)version: strkind: 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(unregisteredAton the wire) (optional)
Project
Section titled “Project”id: strtenant_id: str(tenantIdon the wire)org_id: str | None(orgIdon the wire) (optional)name: strslug: stris_default: bool(isDefaulton the wire)description: str | None(optional)created_at: str(createdAton the wire)updated_at: str(updatedAton the wire)
ProjectCollectionPage
Section titled “ProjectCollectionPage”data: list[kindgi.client.Project]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
ProjectMembership
Section titled “ProjectMembership”project_id: str(projectIdon the wire)user_id: str(userIdon the wire)role: Literal['viewer', 'editor', 'owner', 'admin', 'member']joined_at: str(joinedAton the wire)
ProjectMembershipCollectionPage
Section titled “ProjectMembershipCollectionPage”data: list[kindgi.client.ProjectMembership]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
ProjectPatch
Section titled “ProjectPatch”name: str | None(optional)slug: str | None(optional)description: str | None(optional)org_id: str | None(orgIdon the wire) (optional)
ProjectSpec
Section titled “ProjectSpec”name: strslug: strdescription: str | None(optional)org_id: str | None(orgIdon the wire) (optional)is_default: bool | None(isDefaulton the wire) (optional)
PromptParameter
Section titled “PromptParameter”name: strdescription: str | None(optional)type: Literal['string', 'number', 'boolean', 'date']required: bool | None(optional)default: Any | None(optional)
ProposalTier
Section titled “ProposalTier”root: Literal['prompt', 'retrieval', 'tool-config']
ProposedChange
Section titled “ProposedChange”Polymorphic change payload. Shape depends on the sibling tier on the proposal (prompt / retrieval / tool-config).
ProvenanceCollectionPage
Section titled “ProvenanceCollectionPage”data: list[kindgi.client.ProvenanceRecordMetadata]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
ProvenanceEdge
Section titled “ProvenanceEdge”from_: str(fromon the wire)to: strkind: Literal['caused-by', 'influenced-by', 'retrieved-from', 'invoked', 'produced', 'checked-against', 'waited-on', 'resumed-from']
ProvenanceEdgeKind
Section titled “ProvenanceEdgeKind”root: Literal['caused-by', 'influenced-by', 'retrieved-from', 'invoked', 'produced', 'checked-against', 'waited-on', 'resumed-from']
ProvenanceFlowRef
Section titled “ProvenanceFlowRef”id: strversion: str
ProvenanceNode
Section titled “ProvenanceNode”id: strkind: 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: AwareDatetimeactor: str | None(optional)content_hash: str | None(contentHashon the wire) (optional)content_ref: str | None(contentRefon the wire) (optional)model_version: str | None(modelVersionon the wire) (optional)policy_decision_id: str | None(policyDecisionIdon the wire) (optional)attributes: dict[str, Any] | None(optional)
ProvenanceNodeKind
Section titled “ProvenanceNodeKind”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']
ProvenanceRecord
Section titled “ProvenanceRecord”Full provenance record including the DAG payload.
id: uuid.UUIDrun_id: uuid.UUID(runIdon the wire)tenant_id: uuid.UUID(tenantIdon the wire)version: strflow_ref: kindgi.client.FlowRef | None(flowRefon the wire) (optional)dag: kindgi.client.Dagsignature: kindgi.client.Signature | None(optional)created_at: AwareDatetime(createdAton the wire)
ProvenanceRecordMetadata
Section titled “ProvenanceRecordMetadata”Lightweight metadata row returned by list. Excludes the full DAG payload — clients fetch the DAG via GET /v1/provenance/{runId}.
id: uuid.UUIDrun_id: uuid.UUID(runIdon the wire)tenant_id: uuid.UUID(tenantIdon the wire)version: strflow_ref: kindgi.client.FlowRef | None(flowRefon the wire) (optional)signed: boolcreated_at: AwareDatetime(createdAton the wire)
ProvenanceRef
Section titled “ProvenanceRef”run_id: uuid.UUID(runIdon the wire)provenance_id: uuid.UUID | None(provenanceIdon the wire) (optional)
ProvenanceRef2
Section titled “ProvenanceRef2”run_id: str | None(runIdon the wire) (optional)node_id: str | None(nodeIdon the wire) (optional)record_id: str | None(recordIdon the wire) (optional)
ProvenanceSignature
Section titled “ProvenanceSignature”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(keyIdon the wire)value: strsigned_at: AwareDatetime(signedAton the wire)
Provider
Section titled “Provider”id: strmodel: str
ProviderCapabilitiesResult
Section titled “ProviderCapabilitiesResult”data: list[kindgi.client.CapabilityDescriptor]
ProviderCollectionPage
Section titled “ProviderCollectionPage”data: list[kindgi.client.ProviderMetadata]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
ProviderCost
Section titled “ProviderCost”USD per 1K tokens. An adapter may take more rate fields (see the adapter's README).
prompt_usd_per1k_tokens: float(promptUsdPer1kTokenson the wire)completion_usd_per1k_tokens: float(completionUsdPer1kTokenson the wire)
ProviderMetadata
Section titled “ProviderMetadata”id: strregion: strmodels: list[kindgi.client.ModelInfo]attributes: list[str] | None(optional)description: str | None(optional)capability_kind: str | None(capabilityKindon the wire) (optional)fallback: bool | None(optional)
PublishAgentBody
Section titled “PublishAgentBody”Full defineAgent spec. Validated server-side via @kindgi/agents.defineAgent — validation failures return 400 validation-failed with the issue list under details.issues.
id: strversion: strname: strdescription: str | None(optional)project_id: uuid.UUID(projectIdon the wire)instructions: strparameters: 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(preferredProvideron the wire) (optional)preferred_model: str | None(preferredModelon the wire) (optional)conversation_policy: kindgi.client.ConversationPolicy | None(conversationPolicyon 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(toolErrorson the wire) (optional)
PublishAgentResult
Section titled “PublishAgentResult”agent_id: str(agentIdon the wire)version: str
PublishEvalSuiteBody
Section titled “PublishEvalSuiteBody”id: strproject_id: uuid.UUID(projectIdon the wire)tenant_id: uuid.UUID | None(tenantIdon the wire) (optional)version: strkind: Literal['accuracy', 'pairwise', 'regression', 'human-review', 'benchmark', 'custom']description: str | None(optional)spec: dict[str, Any]
PublishEvalSuiteResult
Section titled “PublishEvalSuiteResult”suite_id: str(suiteIdon the wire)version: str
PublishFlowBody
Section titled “PublishFlowBody”Full flow definition. Validated server-side via @kindgi/flow.loadFlow — validation failures return 400 validation-failed with the issue list under details.issues.
id: strversion: strname: str | None(optional)description: str | None(optional)project_id: uuid.UUID(projectIdon the wire)nodes: list[kindgi.client.FlowNode]edges: list[kindgi.client.FlowEdge]max_parallelism: int | None(maxParallelismon the wire) (optional)metadata: dict[str, Any] | None(optional)
PublishFlowResult
Section titled “PublishFlowResult”flow_id: str(flowIdon the wire)version: str
PublishPolicyBody
Section titled “PublishPolicyBody”id: strtenant_id: uuid.UUID | None(tenantIdon the wire) (optional)version: strkind: Literal['access-control', 'model-routing', 'adapter-allowlist', 'rate-limit', 'retention', 'compliance', 'tool-errors', 'hitl']description: str | None(optional)spec: dict[str, Any]
PublishPolicyResult
Section titled “PublishPolicyResult”policy_id: str(policyIdon the wire)version: str