Models: T
TakeTriggerOwnerBody
Section titled “TakeTriggerOwnerBody”Who the trigger's runs act as from now. Absent, or an empty body: the caller takes it over (today's behaviour). With runAsServiceAccountId: that service account becomes the owner.
run_as_service_account_id: str | None(runAsServiceAccountIdon the wire) (optional)
id: strtenant_id: str(tenantIdon the wire)org_id: str | None(orgIdon the wire) (optional)name: strslug: strdescription: str | None(optional)created_at: str(createdAton the wire)updated_at: str(updatedAton the wire)
TeamCollectionPage
Section titled “TeamCollectionPage”data: list[kindgi.client.Team]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
TeamMembership
Section titled “TeamMembership”team_id: str(teamIdon the wire)user_id: str(userIdon the wire)role: Union[Literal['admin', 'member'], str]joined_at: str(joinedAton the wire)
TeamMembershipCollectionPage
Section titled “TeamMembershipCollectionPage”data: list[kindgi.client.TeamMembership]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
TeamPatch
Section titled “TeamPatch”name: str | None(optional)slug: str | None(optional)description: str | None(optional)org_id: str | None(orgIdon the wire) (optional)
TeamProjectGrant
Section titled “TeamProjectGrant”A team's role on a project.
team_id: str(teamIdon the wire)project_id: str(projectIdon the wire)role: Union[Literal['viewer', 'editor', 'admin'], str]granted_at: AwareDatetime | None(grantedAton the wire) (optional)team_name: str | None(teamNameon the wire) (optional)project_name: str | None(projectNameon the wire) (optional)
TeamProjectGrantCollectionPage
Section titled “TeamProjectGrantCollectionPage”data: list[kindgi.client.TeamProjectGrant]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
TeamSpec
Section titled “TeamSpec”name: strslug: strdescription: str | None(optional)org_id: str | None(orgIdon the wire) (optional)
Tenant
Section titled “Tenant”id: uuid.UUIDname: strslug: strcreated_at: AwareDatetime(createdAton the wire)updated_at: AwareDatetime(updatedAton the wire)production_allowed: bool | None(productionAllowedon the wire) (optional)production_next: str | None(productionNexton the wire) (optional)state: Optional[Annotated[Union[Literal['active', 'suspended', 'closing'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]](optional)limits: kindgi.client.TenantLimits | None(optional)egress: kindgi.client.EgressAddresses | None(optional)
TenantAdminContacts
Section titled “TenantAdminContacts”data: list[kindgi.client.Datum3]
TenantConfigCollectionPage
Section titled “TenantConfigCollectionPage”data: list[kindgi.client.TenantConfigEntry]has_more: bool(hasMoreon the wire)next_cursor: str | None(nextCursoron the wire) (optional)
TenantConfigEntry
Section titled “TenantConfigEntry”tenant_id: str(tenantIdon the wire)kind: Union[Literal['env', 'config', 'secret'], str]key: strvalue: strsensitive: boolrevision: intupdated_at: str(updatedAton the wire)
TenantLimits
Section titled “TenantLimits”The tenant's limits that are set. A limit that isn't set is absent, and isn't enforced.
api_requests_per_minute: int | None(apiRequestsPerMinuteon the wire) (optional)webhook_receives_per_minute: int | None(webhookReceivesPerMinuteon the wire) (optional)runs_at_once: int | None(runsAtOnceon the wire) (optional)runs_pending: int | None(runsPendingon the wire) (optional)tool_calls_in_flight: int | None(toolCallsInFlighton the wire) (optional)approvals_pending: int | None(approvalsPendingon the wire) (optional)projects_in_production: int | None(projectsInProductionon the wire) (optional)
TenantLimitsInUse
Section titled “TenantLimitsInUse”How much of each limit that counts something the tenant uses now, whether the limit is set or not: on GET …/limits only, and only from a runtime that counts it. A limit can be lowered below it: nothing is taken back, and the next one waits until the count is under the limit.
projects_in_production: int(projectsInProductionon the wire)
TenantLimitsResult
Section titled “TenantLimitsResult”tenant_id: uuid.UUID(tenantIdon the wire)limits: kindgi.client.TenantLimitsin_use: kindgi.client.TenantLimitsInUse | None(inUseon the wire) (optional)
TenantProductionAllowed
Section titled “TenantProductionAllowed”tenant_id: uuid.UUID(tenantIdon the wire)production_allowed: bool(productionAllowedon the wire)
TestAdapterBody
Section titled “TestAdapterBody”Threshold
Section titled “Threshold”Default 5 judgments, across 3 runs, from 2 judges.
judgments: int | None(optional)runs: int | None(optional)judges: int | None(optional)
TimeRange
Section titled “TimeRange”from_: AwareDatetime(fromon the wire)to: AwareDatetime
TokenSignInResult
Section titled “TokenSignInResult”user_id: str(userIdon the wire)expires_at: AwareDatetime(expiresAton the wire)
id: strproject_id: uuid.UUID | None(projectIdon the wire) (optional)description: strversion: 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[Annotated[Union[Literal['auto', 'native', 'mcp'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]](optional)mcp_endpoint: str | None(mcpEndpointon the wire) (optional)metadata: dict[str, Any] | None(optional)mutating: bool | None(optional)needs_approval_when_unattended: bool | None(needsApprovalWhenUnattendedon the wire) (optional)sandbox: Optional[Annotated[Union[Literal['none', 'context-isolated', 'strict'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]](optional)limits: kindgi.client.RuntimeLimits | None(optional)network: Optional[Annotated[kindgi.client.NetworkPolicy1 | kindgi.client.NetworkPolicy2 | kindgi.client.NetworkPolicyUnrecognized, <kindgi.client._open.OpenUnion object at 0x1087db3d0>]](optional)needs_spec: kindgi.client.TypedNeeds | None(needsSpecon the wire) (optional)code_artifact_ref: Optional[Annotated[kindgi.client.CodeArtifactRefOci | kindgi.client.CodeArtifactRefFilesystem | kindgi.client.CodeArtifactRefUnrecognized, <kindgi.client._open.OpenUnion object at 0x1087db6d0>]](codeArtifactRefon the wire) (optional)spec: kindgi.client.ToolSpec | None(optional)unregistered_at: AwareDatetime | None(unregisteredAton the wire) (optional)secret_scopes: dict[str, Optional[Annotated[kindgi.client.RecordedSecretScopeTenant | kindgi.client.RecordedSecretScopeOrg | kindgi.client.RecordedSecretScopeProject | kindgi.client.RecordedSecretScopeUnrecognized, <kindgi.client._open.OpenUnion object at 0x1087dbad0>]]] | None(secretScopeson the wire) (optional)
ToolCall
Section titled “ToolCall”tool_id: str(toolIdon the wire)invocation_id: str(invocationIdon the wire)
ToolCollectionPage
Section titled “ToolCollectionPage”data: list[kindgi.client.Tool]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
ToolEffect
Section titled “ToolEffect”kind: Union[Literal['reads', 'writes', 'deletes', 'network', 'spawns-run', 'emits-event', 'external-side-effect', 'sensitive-data-egress'], str]resource: str | None(optional)notes: str | None(optional)
ToolErrorsSpec
Section titled “ToolErrorsSpec”max_retries: int | None(maxRetrieson the wire) (optional)retry_on: list[Annotated[Union[Literal['invalid-arguments', 'unknown-tool', 'tool-error'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]] | None(retryOnon the wire) (optional)
ToolNeed
Section titled “ToolNeed”name: stroptional: bool | None(optional)
ToolRef
Section titled “ToolRef”Typed tool reference. version is a semver range (npm-style: 1.2.3 exact pin, ^1.2.3 compatible-updates, ~1.2.3 patch-updates-only, >=1.0.0 <2.0.0 explicit range). Dispatch resolves the range to a concrete active version via semver.maxSatisfying at run start. No implicit "latest" — every tool ref names both id and range.
id: strversion: str
ToolSecretRef
Section titled “ToolSecretRef”env_name: str(envNameon the wire)name: str
ToolSpec
Section titled “ToolSpec”root: kindgi.client.HttpToolSpec
ToolVersionCollectionPage
Section titled “ToolVersionCollectionPage”data: list[kindgi.client.ToolVersionRow]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
ToolVersionRow
Section titled “ToolVersionRow”id: strproject_id: uuid.UUID | None(projectIdon the wire) (optional)description: strversion: 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[Annotated[Union[Literal['auto', 'native', 'mcp'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]](optional)mcp_endpoint: str | None(mcpEndpointon the wire) (optional)metadata: dict[str, Any] | None(optional)mutating: bool | None(optional)needs_approval_when_unattended: bool | None(needsApprovalWhenUnattendedon the wire) (optional)sandbox: Optional[Annotated[Union[Literal['none', 'context-isolated', 'strict'], str], <kindgi.client._open.OpenEnum object at 0x107c4bdd0>]](optional)limits: kindgi.client.RuntimeLimits | None(optional)network: Optional[Annotated[kindgi.client.NetworkPolicy1 | kindgi.client.NetworkPolicy2 | kindgi.client.NetworkPolicyUnrecognized, <kindgi.client._open.OpenUnion object at 0x1087f1350>]](optional)needs_spec: kindgi.client.TypedNeeds | None(needsSpecon the wire) (optional)code_artifact_ref: Optional[Annotated[kindgi.client.CodeArtifactRefOci | kindgi.client.CodeArtifactRefFilesystem | kindgi.client.CodeArtifactRefUnrecognized, <kindgi.client._open.OpenUnion object at 0x1087f1650>]](codeArtifactRefon the wire) (optional)spec: kindgi.client.ToolSpec | None(optional)unregistered_at: AwareDatetime | None(unregisteredAton the wire) (optional)secret_scopes: dict[str, Optional[Annotated[kindgi.client.RecordedSecretScopeTenant | kindgi.client.RecordedSecretScopeOrg | kindgi.client.RecordedSecretScopeProject | kindgi.client.RecordedSecretScopeUnrecognized, <kindgi.client._open.OpenUnion object at 0x1087f18d0>]]] | None(secretScopeson the wire) (optional)
yes_weight: float(yesWeighton the wire)total_weight: float(totalWeighton the wire)
Trigger
Section titled “Trigger”The improve schedule and fire that started it (GET /v1/schedules/{triggerId}/fires); absent for a pass a person started.
trigger_id: str(triggerIdon the wire)fire_id: str(fireIdon the wire)
TriggerOwner
Section titled “TriggerOwner”kind: Union[Literal['user', 'service'], str]id: strdisplay_name: str | None(displayNameon the wire) (optional)
TrustSigningKeyBody
Section titled “TrustSigningKeyBody”key_id: str(keyIdon the wire)algorithm: Optional[Literal['ed25519']](optional)public_key: str(publicKeyon the wire)label: str | None(optional)
TrustedSigningKey
Section titled “TrustedSigningKey”A public key the tenant trusts to sign deployments (POST /v1/deployments). A revoked key stays readable, with revokedAt, so the deployments it signed can be audited; it verifies no new ones.
key_id: str(keyIdon the wire)tenant_id: uuid.UUID(tenantIdon the wire)algorithm: Union[Literal['ed25519'], str]public_key: str(publicKeyon the wire)label: str | None(optional)created_at: AwareDatetime(createdAton the wire)revoked_at: AwareDatetime | None(revokedAton the wire) (optional)revoked_reason: str | None(revokedReasonon the wire) (optional)
TrustedSigningKeyPage
Section titled “TrustedSigningKeyPage”data: list[kindgi.client.TrustedSigningKey]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
TurnBudget
Section titled “TurnBudget”max_steps: int | None(maxStepson the wire) (optional)max_cost_usd: float | None(maxCostUsdon the wire) (optional)max_wall_ms: int | None(maxWallMson the wire) (optional)
root: str
TypedNeeds
Section titled “TypedNeeds”Typed discriminated needs (env / secrets / config / capabilities / bindings). Optional additive field.
env: dict[str, dict[str, Any]] | None(optional)secrets: dict[str, dict[str, Any]] | None(optional)config: dict[str, dict[str, Any]] | None(optional)capabilities: list[kindgi.client.Capability5] | None(optional)bindings: list[kindgi.client.Binding] | None(optional)