Skip to content

Models: A

View as Markdown
  • kind: Literal['direct']
  • role: Union[Literal['owner', 'admin', 'editor', 'viewer'], str]
  • since: AwareDatetime | None (optional)

An admin of the org the project sits in: admin on the project.

  • kind: Literal['org-admin']
  • org_id: str (orgId on the wire)
  • org_name: str (orgName on the wire)
  • kind: Literal['team']
  • team_id: str (teamId on the wire)
  • team_name: str (teamName on the wire)
  • role: Union[Literal['owner', 'admin', 'editor', 'viewer'], str]
  • since: AwareDatetime | None (optional)

A tenant admin: admin on every project.

  • kind: Literal['tenant-admin']

A kind this client doesn't know yet, from a newer runtime: the object as it came, every field kept.

  • kind: str

Whom access is held by: a person, or a service account.

  • kind: Union[Literal['user', 'service-account'], str]
  • id: str

The mailbox's account at its last poll: the connection's account id and its label (the address). Absent before its first poll, and after a take-over of a person's mailbox until the next poll. On a person's mailbox (config.mailbox.as: person), only the trigger's owner and a tenant admin read it; anyone else reads the trigger without it.

  • id: str
  • label: str
  • kind: Optional[Annotated[Union[Literal['user', 'agent', 'system', 'admin', 'external'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (optional)
  • id: str | None (optional)
  • ip_address: str | None (ipAddress on the wire) (optional)
  • user_agent: str | None (userAgent on the wire) (optional)
  • adapter_id: str (adapterId on the wire)
  • kind: Union[Literal['model', 'model-provider', 'embedding', 'blob', 'sandbox', 'eval-judge'], str]
  • name: str
  • version: str
  • capabilities: list[str]
  • config: dict[str, Any] | None (optional)
  • status: Union[Literal['active', 'degraded', 'error'], str]
  • status_reason: str | None (statusReason on the wire) (optional)
  • data: list[kindgi.client.Adapter]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • path: str
  • message: str
  • ok: bool
  • latency_ms: float (latencyMs on the wire)
  • probe: dict[str, Any]
  • root: str

Exactly one of userId and email names the person.

  • user_id: str | None (userId on the wire) (optional)
  • email: str | None (optional)
  • role: Literal['viewer', 'editor', 'owner', 'admin']
  • project_id: str (projectId on the wire)
  • user_id: str (userId on the wire)
  • role: Union[Literal['viewer', 'editor', 'owner', 'admin', 'member'], str]
  • user_id: str (userId on the wire)
  • role: Union[Literal['admin', 'member'], str]
  • team_id: str (teamId on the wire)
  • user_id: str (userId on the wire)
  • role: Union[Literal['admin', 'member'], str]
  • team_id: str (teamId on the wire)
  • role: Union[Literal['viewer', 'editor', 'admin'], str]

A correction's body on one of the agent's runs. At least one of decisions, answer and items. decisions: "wrong" needs an entry in shouldCall or mustNotCall; answer: "wrong" needs shouldSay or why.

  • run_id: str (runId on the wire)
  • decisions: Optional[Literal['right', 'wrong']] (optional)
  • should_call: list[kindgi.client.ShouldCallItem] | None (shouldCall on the wire) (optional)
  • must_not_call: list[kindgi.client.MustNotCallItem] | None (mustNotCall on the wire) (optional)
  • answer: Optional[Literal['right', 'wrong']] (optional)
  • should_say: str | None (shouldSay on the wire) (optional)
  • why: str | None (optional)
  • items: list[kindgi.client.CorrectedAnswerItemInput] | None (optional)

Once added-as-latest: its version, who added it as its project's Latest, when, and why when given.

  • version: str
  • by: kindgi.client.PinActor
  • at: AwareDatetime
  • reason: str | None (optional)

The tenant's first admin key, without firstAdmin: shown once.

  • token_id: str (tokenId on the wire)
  • token: str
  • id: str
  • version: str
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • name: str
  • description: str | None (optional)
  • instructions: kindgi.client.Instructions | kindgi.client.PromptRef
  • parameters: list[kindgi.client.PromptParameter] | None (optional)
  • settings: list[kindgi.client.BlockRef] | None (optional)
  • model_settings: kindgi.client.BlockRef | None (modelSettings on the wire) (optional)
  • capabilities: list[kindgi.client.Capability4]
  • tools: list[kindgi.client.ToolRef]
  • retrieval: list[kindgi.client.RetrievalIntent]
  • memory: kindgi.client.AgentMemoryPolicy | None (optional)
  • 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)
  • parallel_tool_calls: bool | None (parallelToolCalls on the wire) (optional)
  • pins: kindgi.client.AgentPins | None (optional)
  • derived_from: kindgi.client.VersionDerivation | None (derivedFrom on the wire) (optional)
  • unregistered_at: AwareDatetime | None (unregisteredAt on the wire) (optional)
  • pins_digest: str | None (pinsDigest on the wire) (optional)
  • owner: kindgi.client.AgentOwner | None (optional)
  • data: list[kindgi.client.Agent]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)

The agent's highest active version, which numbers the next one. It isn't what a project runs: that's each project's runs. Absent when the caller can't see it, or when the server doesn't pin versions.

  • version: str

How the agent uses what it retrieves.

  • instruction_types: list[kindgi.client.InstructionType] | None (instructionTypes on the wire) (optional)
  • remember: kindgi.client.Remember | None (optional)
  • schema_: dict[str, Any] (schema on the wire)
  • name: str | None (optional)
  • max_repairs: int | None (maxRepairs on the wire) (optional)

The person the agent's corrections go to when they need its owner. Until one is set, those go to everyone who may publish the agent.

  • user_id: str (userId on the wire)
  • name: str | None (optional)
  • version: str
  • scope: kindgi.client.PinScopeTenant | kindgi.client.PinScopeOrg | kindgi.client.PinScopeProject | kindgi.client.PinScopeSegment | kindgi.client.AgentPinScopeUnrecognized
  • reason: str | None (optional)
  • test_run_id: str | None (testRunId on the wire) (optional)
  • stop_following_latest: bool | None (stopFollowingLatest on the wire) (optional)

A kind this client doesn't know yet, from a newer runtime: the object as it came, every field kept.

  • kind: str
  • agent_id: str (agentId on the wire)
  • scope: kindgi.client.PinScopeTenant | kindgi.client.PinScopeOrg | kindgi.client.PinScopeProject | kindgi.client.PinScopeSegment | kindgi.client.AgentPinScopeUnrecognized
  • version: str
  • change_id: uuid.UUID (changeId on the wire)
  • set_at: AwareDatetime (setAt on the wire)
  • data: list[kindgi.client.AgentPinnedVersion]
  • agent_id: str (agentId on the wire)
  • version: str
  • via: Union[Literal['pinned', 'latest'], str]
  • pinned_scope: Optional[Annotated[kindgi.client.PinScopeTenant | kindgi.client.PinScopeOrg | kindgi.client.PinScopeProject | kindgi.client.PinScopeSegment | kindgi.client.AgentPinScopeUnrecognized, <kindgi.client._open.OpenUnion object at 0x107e85690>]] (pinnedScope on the wire) (optional)

The exact block versions an agent version runs: its lockfile. Set by the runtime when the version is published, never in the publish body: each tool range resolves once to the version every run of that agent version uses, so a new tool version reaches the agent only through a new agent version. Absent on a version published before pins existed (its ranges resolve per run).

  • tools: dict[str, str]
  • prompts: dict[str, str]
  • settings: dict[str, str]
  • project_id: uuid.UUID (projectId on the wire)
  • follows: Optional[Annotated[Union[Literal['pin', 'latest'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (optional)
  • runs: kindgi.client.AgentProjectRuns | None (optional)
  • segments: list[kindgi.client.AgentProjectSegmentPin] | None (optional)
  • data: list[kindgi.client.AgentProject]
  • highest: kindgi.client.AgentHighestVersion | None (optional)

The version a run in the project that names none gets (and isn't a follow-up turn of a conversation).

  • version: str
  • since: AwareDatetime | None (optional)
  • by: kindgi.client.PinActor | None (optional)
  • deployment_id: str | None (deploymentId on the wire) (optional)
  • pinned_scope: Optional[Annotated[kindgi.client.PinScopeTenant | kindgi.client.PinScopeOrg | kindgi.client.PinScopeProject | kindgi.client.PinScopeSegment | kindgi.client.AgentPinScopeUnrecognized, <kindgi.client._open.OpenUnion object at 0x107e92810>]] (pinnedScope on the wire) (optional)
  • pin_change_id: str | None (pinChangeId on the wire) (optional)
  • path: list[kindgi.client.ScopeSegment]
  • version: str
  • agent_id: str (agentId on the wire)
  • project_id: uuid.UUID (projectId on the wire)
  • cases: kindgi.client.TestSetCaseCounts
  • last_added_at: AwareDatetime | None (lastAddedAt on the wire) (optional)
  • frozen_version: kindgi.client.TestSetFrozenVersion | None (frozenVersion on the wire) (optional)
  • scope: kindgi.client.PinScopeTenant | kindgi.client.PinScopeOrg | kindgi.client.PinScopeProject | kindgi.client.PinScopeSegment | kindgi.client.AgentPinScopeUnrecognized
  • reason: str | None (optional)
  • root: str

Whom an API key acts for: a person, or a service account.

  • kind: Union[Literal['user', 'service-account'], str]
  • id: str

An API key. Never includes the secret. principal is whom it acts for; absent on a key that is a service account of its own (service_account:<tokenId>), as keys minted before principals are.

  • token_id: uuid.UUID (tokenId on the wire)
  • principal: kindgi.client.ApiKeyPrincipal | None (optional)
  • role: Union[Literal['admin', 'member'], str]
  • capabilities: list[kindgi.client.Capability]
  • label: str | None (optional)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • created_by: str | None (createdBy on the wire) (optional)
  • created_at: AwareDatetime (createdAt on the wire)
  • expires_at: AwareDatetime | None (expiresAt on the wire) (optional)
  • revoked_at: AwareDatetime | None (revokedAt on the wire) (optional)
  • last_used_at: AwareDatetime | None (lastUsedAt on the wire) (optional)
  • data: list[kindgi.client.Datum4]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • id: uuid.UUID
  • tenant_id: uuid.UUID (tenantId on the wire)
  • project_id: uuid.UUID | None (projectId on the wire) (optional)
  • subject_kind: str (subjectKind on the wire)
  • subject_ref: dict[str, Any] (subjectRef on the wire)
  • required_role: Union[Literal['standard', 'senior', 'admin'], str] (requiredRole on the wire)
  • status: Union[Literal['pending', 'assigned', 'in_review', 'approved', 'rejected', 'escalated', 'expired', 'withdrawn'], str]
  • assigned_to: uuid.UUID | None (assignedTo on the wire) (optional)
  • batch_key: str | None (batchKey on the wire) (optional)
  • title: str | None (optional)
  • description: str | None (optional)
  • context: dict[str, Any] | None (optional)
  • provenance_ref: kindgi.client.ProvenanceRef | None (provenanceRef on the wire) (optional)
  • wait_token_id: str | None (waitTokenId on the wire) (optional)
  • created_at: AwareDatetime (createdAt on the wire)
  • updated_at: AwareDatetime (updatedAt on the wire)
  • decided_at: AwareDatetime | None (decidedAt on the wire) (optional)
  • expires_at: AwareDatetime | None (expiresAt on the wire) (optional)
  • decision: kindgi.client.ApprovalDecisionRecord | None (optional)
  • requested_by: str | None (requestedBy on the wire) (optional)
  • separate_approver: bool | None (separateApprover on the wire) (optional)
  • withdrawn_because: Optional[Annotated[Union[Literal['run-cancelled', 'run-ended'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (withdrawnBecause on the wire) (optional)
  • escalated_from: uuid.UUID | None (escalatedFrom on the wire) (optional)
  • escalated_to: uuid.UUID | None (escalatedTo on the wire) (optional)
  • approver: kindgi.client.ApprovalApprover | None (optional)
  • connection: kindgi.client.ApprovalConnection | None (optional)

The one member who may decide it.

  • kind: Union[Literal['member'], str]
  • user_id: str (userId on the wire)
  • data: list[kindgi.client.Approval]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)
  • order: Optional[Annotated[Union[Literal['asc', 'desc'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (optional)
  • decided_by: Optional[Annotated[Union[Literal['me'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (decidedBy on the wire) (optional)

The connection the call would use: the person's own, or else the company's connection the call was gated on, which it then runs with or doesn't run (connection-changed). A person's account isn't named: show "this person's <appName> account".

  • app: str
  • app_name: str (appName on the wire)
  • as_: Optional[Annotated[Union[Literal['person', 'company'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (as on the wire) (optional)
  • account: str | None (optional)
  • name: str | None (optional)
  • decision: Union[Literal['approve', 'reject', 'escalate', 'withdraw'], str]
  • decided_by: str | None (decidedBy on the wire) (optional)
  • reviewer_id: uuid.UUID (reviewerId on the wire)
  • reviewer_role_at_decision: Union[Literal['standard', 'senior', 'admin'], str] (reviewerRoleAtDecision on the wire)
  • decided_at: AwareDatetime (decidedAt on the wire)
  • rationale: str | None (optional)
  • session_provider: str | None (sessionProvider on the wire) (optional)
  • decider_name: str | None (deciderName on the wire) (optional)
  • fact_text: str | None (factText on the wire) (optional)

An approval was asked for: a reviewer's decision is waiting. Sent once per approval (an escalation is a new approval). projectId in the endpoint's filter narrows it to the approval's project.

  • id: str
  • type: Literal['approval.requested']
  • created_at: AwareDatetime (createdAt on the wire)
  • data: kindgi.client.ApprovalRequestedEventData
  • approval: kindgi.client.RequestedApproval
  • root: Literal['pending', 'assigned', 'in_review', 'approved', 'rejected', 'escalated', 'expired', 'withdrawn']

A passing pin waits for a reviewer.

  • role: Optional[Annotated[Union[Literal['standard', 'senior', 'admin'], str], <kindgi.client._open.OpenEnum object at 0x1073beed0>]] (optional)
  • separate_approver: bool | None (separateApprover on the wire) (optional)
  • data: list[kindgi.client.Datum5]
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • has_more: bool (hasMore on the wire)

Assertion attribute names. Defaults: userId = the NameID, email = email.

  • user_id: str | None (userId on the wire) (optional)
  • email: str | None (optional)
  • display_name: str | None (displayName on the wire) (optional)
  • user_id: str | None (userId on the wire) (optional)
  • email: str | None (optional)
  • display_name: str | None (displayName on the wire) (optional)
  • data: list[kindgi.client.Datum6]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • data: list[kindgi.client.SignInEvent]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)

The workspace's sign-in settings.

  • second_factor: kindgi.client.SecondFactor (secondFactor on the wire)

Require a second factor at sign-in, or stop requiring one.

  • second_factor: kindgi.client.SecondFactor1 (secondFactor on the wire)