Models: S
ScheduleCollectionPage
Section titled “ScheduleCollectionPage”data: list[kindgi.client.ScheduleRecord]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
ScheduleRecord
Section titled “ScheduleRecord”schedule_id: str(scheduleIdon the wire)trigger_id: str(triggerIdon the wire)flow_id: str(flowIdon the wire)flow_version: str(flowVersionon the wire)cron_expression: str(cronExpressionon the wire)timezone: str | None(optional)input: Any | None(optional)label: str | Nonestatus: Literal['active', 'paused']next_fire_at: AwareDatetime | None(nextFireAton the wire)last_fired_at: AwareDatetime | None(lastFiredAton the wire)created_at: AwareDatetime(createdAton the wire)updated_at: AwareDatetime(updatedAton the wire)
ScheduleUnregisterResult
Section titled “ScheduleUnregisterResult”schedule_id: str(scheduleIdon the wire)unregistered: bool
Scope1
Section titled “Scope1”Discriminated Scope primitive (Tenant / Org / Project). Source of truth: Scope in @kindgi/platform.
kind: Literal['tenant']tenant_id: str(tenantIdon the wire)
Scope2
Section titled “Scope2”Discriminated Scope primitive (Tenant / Org / Project). Source of truth: Scope in @kindgi/platform.
kind: Literal['org']tenant_id: str(tenantIdon the wire)org_id: str(orgIdon the wire)
Scope3
Section titled “Scope3”Discriminated Scope primitive (Tenant / Org / Project). Source of truth: Scope in @kindgi/platform.
kind: Literal['project']tenant_id: str(tenantIdon the wire)project_id: str(projectIdon the wire)
SecretCollectionPage
Section titled “SecretCollectionPage”data: list[kindgi.client.SecretRecord]next_cursor: str | None(nextCursoron the wire) (optional)
SecretListPage
Section titled “SecretListPage”data: list[kindgi.client.SecretRecord]next_cursor: str | None(nextCursoron the wire) (optional)
SecretRecord
Section titled “SecretRecord”scope: kindgi.client.Scope1 | kindgi.client.Scope2 | kindgi.client.Scope3env_name: str(envNameon the wire)name: strcurrent_version: int(currentVersionon the wire)created_at: AwareDatetime(createdAton the wire)updated_at: AwareDatetime(updatedAton the wire)revoked_at: AwareDatetime | None(revokedAton the wire) (optional)revoke_reason: str | None(revokeReasonon the wire) (optional)tags: dict[str, str] | None(optional)rotation_due_at: AwareDatetime | None(rotationDueAton the wire) (optional)
SecretRef
Section titled “SecretRef”The tenant secret holding the adapter's credential (an API key, a service-account key). Absent when the adapter needs none or finds its own (a cloud's default credentials).
env_name: str(envNameon the wire)name: str
SecretResolveOutcome
Section titled “SecretResolveOutcome”name: strversion_id: int(versionIdon the wire)value: str
SecretRevokeOutcome
Section titled “SecretRevokeOutcome”revoked: boolhard: bool
SecretRevokeResult
Section titled “SecretRevokeResult”revoked: boolhard: bool
SecretRotateOutcome
Section titled “SecretRotateOutcome”root: kindgi.client.SecretRotateOutcome1 | kindgi.client.SecretRotateOutcome2
SecretRotateOutcome1
Section titled “SecretRotateOutcome1”kind: Literal['ok']new_version_id: int(newVersionIdon the wire)old_version_id: int(oldVersionIdon the wire)old_version_revoked_at: AwareDatetime | None(oldVersionRevokedAton the wire) (optional)
SecretRotateOutcome2
Section titled “SecretRotateOutcome2”kind: Literal['rotation-pending']resume_token: str(resumeTokenon the wire)provider: str
SecretRotateRequest
Section titled “SecretRotateRequest”scope: kindgi.client.Scope1 | kindgi.client.Scope2 | kindgi.client.Scope3 | None(optional)env_name: str | None(envNameon the wire) (optional)new_value: str | None(newValueon the wire) (optional)revoke_old_after_ms: int | None(revokeOldAfterMson the wire) (optional)
SecretRotateResponseAsync
Section titled “SecretRotateResponseAsync”kind: Literal['async']rotation_id: uuid.UUID(rotationIdon the wire)status_url: str(statusUrlon the wire)events_url: str(eventsUrlon the wire)
SecretRotateResponseSync
Section titled “SecretRotateResponseSync”kind: Literal['sync']new_version_id: int(newVersionIdon the wire)old_version_id: int(oldVersionIdon the wire)old_version_revoked_at: AwareDatetime | None(oldVersionRevokedAton the wire) (optional)
SecretSetInput
Section titled “SecretSetInput”scope: kindgi.client.Scope1 | kindgi.client.Scope2 | kindgi.client.Scope3env_name: str(envNameon the wire)name: strvalue: strwrite_mode: Literal['create-new', 'add-version'](writeModeon the wire)tags: dict[str, str] | None(optional)rotation_due_at: AwareDatetime | None(rotationDueAton the wire) (optional)if_version: int | None(ifVersionon the wire) (optional)
SecretSetOutcome
Section titled “SecretSetOutcome”root: kindgi.client.SecretSetOutcome1 | kindgi.client.SecretSetOutcome2 | kindgi.client.SecretSetOutcome3 | kindgi.client.SecretSetOutcome4
SecretSetOutcome1
Section titled “SecretSetOutcome1”kind: Literal['ok']record: kindgi.client.SecretRecordversion_id: int(versionIdon the wire)
SecretSetOutcome2
Section titled “SecretSetOutcome2”kind: Literal['already-exists']record: kindgi.client.SecretRecord
SecretSetOutcome3
Section titled “SecretSetOutcome3”kind: Literal['version-conflict']current_version: int(currentVersionon the wire)
SecretSetOutcome4
Section titled “SecretSetOutcome4”kind: Literal['error']code: strmessage: str
SecretSetRequest
Section titled “SecretSetRequest”scope: kindgi.client.Scope1 | kindgi.client.Scope2 | kindgi.client.Scope3env_name: str(envNameon the wire)name: strvalue: strwrite_mode: Literal['create-new', 'add-version'](writeModeon the wire)tags: dict[str, str] | None(optional)rotation_due_at: AwareDatetime | None(rotationDueAton the wire) (optional)if_version: int | None(ifVersionon the wire) (optional)
SecretSetResponse
Section titled “SecretSetResponse”record: kindgi.client.SecretRecordversion_id: int(versionIdon the wire)
SecretVersionCollectionPage
Section titled “SecretVersionCollectionPage”data: list[kindgi.client.SecretVersionRecord]next_cursor: str | None(nextCursoron the wire) (optional)
SecretVersionRecord
Section titled “SecretVersionRecord”scope: kindgi.client.Scope1 | kindgi.client.Scope2 | kindgi.client.Scope3env_name: str(envNameon the wire)name: strversion_id: int(versionIdon the wire)created_at: AwareDatetime(createdAton the wire)value: str | None(optional)revoked_at: AwareDatetime | None(revokedAton the wire) (optional)
Secrets
Section titled “Secrets”name: strref: str
Secrets1
Section titled “Secrets1”name: strvalue: str
Signature
Section titled “Signature”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)
Signature1
Section titled “Signature1”algorithm: Literal['ed25519']key_id: str(keyIdon the wire)value: strsigned_at: AwareDatetime(signedAton the wire)
SignedComplianceEvidenceBundle
Section titled “SignedComplianceEvidenceBundle”Signed exportable bundle. bundle is base64 of the exact bytes that were signed (sorted-key canonical JSON, no whitespace); verifiers can pass those bytes directly to verifyEd25519. Bundle body: { bundleSchemaVersion, tenantId, filter, records, recordCount, exportedAt }. Envelope shape identical to ExportProvenanceResult + audit-bundle — verifiers reuse one verifyEd25519 wrapper across all three surfaces.
bundle_schema_version: Literal['1.0.0'](bundleSchemaVersionon the wire)tenant_id: uuid.UUID(tenantIdon the wire)bundle: stralgorithm: Literal['ed25519']signing_key_id: str(signingKeyIdon the wire)signature: strpublic_key: str(publicKeyon the wire)canonicalization: Literal['sorted-key-json']exported_at: AwareDatetime(exportedAton the wire)
SourceFreshness
Section titled “SourceFreshness”ttl_seconds: int | None(ttlSecondson the wire) (optional)last_verified_at: AwareDatetime | None(lastVerifiedAton the wire) (optional)etag: str | None(optional)source_version: str | None(sourceVersionon the wire) (optional)
SourceRefresh
Section titled “SourceRefresh”strategy: Literal['on-read', 'background', 'manual']handler: str | None(optional)priority: int | None(optional)
StartEvalRunBody
Section titled “StartEvalRunBody”Exactly one of agentRef or flowRef MUST be supplied. dryRun: true returns a plan preview without invoking the subject.
project_id: uuid.UUID(projectIdon the wire)agent_ref: kindgi.client.EvalRunAgentRef | None(agentRefon the wire) (optional)flow_ref: kindgi.client.EvalRunFlowRef | None(flowRefon the wire) (optional)dry_run: bool | None(dryRunon the wire) (optional)correlation_id: str | None(correlationIdon the wire) (optional)
StartEvalRunResult
Section titled “StartEvalRunResult”run_id: uuid.UUID(runIdon the wire)dry_run_preview: dict[str, Any] | None(dryRunPreviewon the wire) (optional)
StartRunBody
Section titled “StartRunBody”root: kindgi.client.StartRunBody1 | kindgi.client.StartRunBody2
StartRunBody1
Section titled “StartRunBody1”Start a run. Exactly one of agent or flow MUST be supplied (single Run primitive).
agent: stragent_version: str | None(agentVersionon the wire) (optional)project_id: uuid.UUID | None(projectIdon the wire) (optional)input: Anyoptions: kindgi.client.Options | None(optional)
StartRunBody2
Section titled “StartRunBody2”Start a run. Exactly one of agent or flow MUST be supplied (single Run primitive).
flow: strflow_version: str | None(flowVersionon the wire) (optional)project_id: uuid.UUID | None(projectIdon the wire) (optional)input: Anyoptions: kindgi.client.Options | None(optional)
StartRunOptions
Section titled “StartRunOptions”dry_run: bool | None(dryRunon the wire) (optional)wait: bool | None(optional)
Subject
Section titled “Subject”kind: str | None(optional)id: str | None(optional)
SubmitReviewProposalBody
Section titled “SubmitReviewProposalBody”Body is optional — omit to accept every default. requiredRole overrides the auto-derivation (meta-fixes → senior). expiresAt sets the HITL approval deadline.
required_role: Optional[Literal['standard', 'senior', 'admin']](requiredRoleon the wire) (optional)expires_at: AwareDatetime | None(expiresAton the wire) (optional)
SubmitReviewProposalResult
Section titled “SubmitReviewProposalResult”proposal: kindgi.client.FixProposalapproval_id: uuid.UUID(approvalIdon the wire)meta_fix: bool(metaFixon the wire)
SuccessStatus
Section titled “SuccessStatus”min: intmax: int
SupersedeFactResult
Section titled “SupersedeFactResult”fact_id: str(factIdon the wire)superseded: Literal[True]