Skip to content

Models: U

View as Markdown
  • id: uuid.UUID
  • reason: Union[Literal['no-keyed-hash', 'unknown-key'], str]
  • scope: kindgi.client.LiveScopeTenant | kindgi.client.LiveScopeOrg | kindgi.client.LiveScopeProject | kindgi.client.LiveScopeSegment | kindgi.client.LiveScopeUnrecognized
  • reason: str | None (optional)
  • agent_id: str (agentId on the wire)
  • version: str
  • unregistered: Literal[True]
  • block_id: str (blockId on the wire)
  • version: str
  • unregistered: Literal[True]
  • suite_id: str (suiteId on the wire)
  • version: str
  • unregistered: Literal[True]
  • flow_id: str (flowId on the wire)
  • version: str
  • unregistered: Literal[True]
  • guardrail_id: str (guardrailId on the wire)
  • unregistered: Literal[True]
  • provider_id: str (providerId on the wire)
  • unregistered: Literal[True]
  • judge_class_id: str (judgeClassId on the wire)
  • unregistered: Literal[True]
  • judgment_id: str (judgmentId on the wire)
  • unregistered: Literal[True]
  • endpoint_id: str (endpointId on the wire)
  • unregistered: Literal[True]
  • policy_id: str (policyId on the wire)
  • version: str
  • unregistered: Literal[True]
  • provider_id: str (providerId on the wire)
  • unregistered: Literal[True]
  • reviewer_id: uuid.UUID (reviewerId on the wire)
  • unregistered: Literal[True]
  • tool_id: str (toolId on the wire)
  • version: str
  • unregistered: Literal[True]

A removed person, and what removing them took away (each 0 when they were already removed).

  • user: kindgi.client.UserRecord
  • keys_revoked: int (keysRevoked on the wire)
  • sessions_revoked: int (sessionsRevoked on the wire)
  • grants_removed: int (grantsRemoved on the wire)

Changes to a registered identity provider: a field given replaces the stored one, null removes an optional one, and anything not given stays. The result must still be a whole provider of its kind (the fields IdentityProviderConfig requires for it), checked as a registration is. providerId and kind can't change; signIn is the deployment's and is ignored. A new issuer drops the endpoints discovered from the old one.

  • provider_id: str | None (providerId on the wire) (optional)
  • kind: Optional[Annotated[Union[Literal['oidc', 'saml'], str], <kindgi.client._open.OpenEnum object at 0x10700bbd0>]] (optional)
  • display_name: str | None (displayName on the wire) (optional)
  • domains: list[kindgi.client.Domain] | None (optional)
  • join: Optional[Literal['invite', 'domain']] (optional)
  • metadata: dict[str, Any] | None (optional)
  • issuer: AnyUrl | None (optional)
  • client_id: str | None (clientId on the wire) (optional)
  • client_secret_ref: str | None (clientSecretRef on the wire) (optional)
  • scopes: list[str] | None (optional)
  • authorization_endpoint: AnyUrl | None (authorizationEndpoint on the wire) (optional)
  • token_endpoint: AnyUrl | None (tokenEndpoint on the wire) (optional)
  • userinfo_endpoint: AnyUrl | None (userinfoEndpoint on the wire) (optional)
  • jwks_endpoint: AnyUrl | None (jwksEndpoint on the wire) (optional)
  • claim_mapping: kindgi.client.ClaimMappingSpec | None (claimMapping on the wire) (optional)
  • idp_metadata_xml: str | None (idpMetadataXml on the wire) (optional)
  • idp_entity_id: str | None (idpEntityId on the wire) (optional)
  • idp_sso_url: AnyUrl | None (idpSsoUrl on the wire) (optional)
  • idp_certificates: list[kindgi.client.IdpCertificate] | None (idpCertificates on the wire) (optional)
  • sp_signing_key_ref: str | None (spSigningKeyRef on the wire) (optional)
  • sp_decryption_key_ref: str | None (spDecryptionKeyRef on the wire) (optional)
  • want_assertions_signed: bool | None (wantAssertionsSigned on the wire) (optional)
  • attribute_mapping: kindgi.client.AttributeMapping1 | None (attributeMapping on the wire) (optional)
  • provider_id: str (providerId on the wire)
  • provider: kindgi.client.OidcIdentityProviderConfig | kindgi.client.SamlIdentityProviderConfig | kindgi.client.IdentityProviderConfigUnrecognized
  • weight: float | None (optional)
  • description: str | None (optional)
  • assertable_by: kindgi.client.JudgeClassAssertableBy | None (assertableBy on the wire) (optional)
  • role: Literal['viewer', 'editor', 'owner', 'admin']

The settings to change; the rest stay as they are.

  • display_name: str | None (displayName on the wire) (optional)
  • origin: str | None (optional)
  • approvals_url: str | None (approvalsUrl on the wire) (optional)
  • allowed_roles: list[kindgi.client.AllowedRole] | None (allowedRoles on the wire) (optional)
  • role_map: dict[str, kindgi.client.SiteRoleGrant] | None (roleMap on the wire) (optional)
  • reviewer_ceiling: Optional[Literal['standard', 'senior']] (reviewerCeiling on the wire) (optional)
  • vouching: bool | None (optional)
  • people_cap: int | None (peopleCap on the wire) (optional)
  • new_people_per_day: int | None (newPeoplePerDay on the wire) (optional)
  • role: Union[Literal['admin', 'member'], str]
  • role: Union[Literal['viewer', 'editor', 'admin'], str]

Multipart form. file is the byte stream (required). Other fields are optional metadata: name (defaults to file part filename), contentType (defaults to file part MIME), tags (JSON-encoded object), ownerRunId (RunId string), expectedHash (sha256 hex, framework rejects on mismatch).

  • file: bytes
  • name: str | None (optional)
  • content_type: str | None (contentType on the wire) (optional)
  • tags: str | None (optional)
  • owner_run_id: uuid.UUID | None (ownerRunId on the wire) (optional)
  • project_id: str | None (projectId on the wire) (optional)
  • expected_hash: str | None (expectedHash on the wire) (optional)
  • kind: Union[Literal['env', 'config', 'secret'], str]
  • key: str
  • value: str
  • sensitive: bool | None (optional)
  • if_revision: int | None (ifRevision on the wire) (optional)
  • entry: kindgi.client.TenantConfigEntry

One group: the dimensions it's grouped by (only those), then its count, the sum of its quantities, and its first and last times.

  • tenant_id: uuid.UUID | None (tenantId on the wire) (optional)
  • project_id: str | None (projectId on the wire) (optional)
  • agent_id: str | None (agentId on the wire) (optional)
  • kind: str | None (optional)
  • class_: str | None (class on the wire) (optional)
  • state: str | None (optional)
  • day: str | None (optional)
  • count: int
  • quantity: float
  • first_at: AwareDatetime (firstAt on the wire)
  • last_at: AwareDatetime (lastAt on the wire)
  • data: list[kindgi.client.UsageGroup]
  • watermark: AwareDatetime
  • next_cursor: str | None (nextCursor on the wire) (optional)
  • data: list[kindgi.client.UserRecord]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor on the wire) (optional)

The person just added, and whether their invitation was emailed (inviteEmail: absent from a runtime that sends no invitations).

  • user_id: str (userId on the wire)
  • tenant_id: uuid.UUID (tenantId on the wire)
  • primary_email: str | None (primaryEmail on the wire) (optional)
  • display_name: str | None (displayName on the wire) (optional)
  • created_at: AwareDatetime (createdAt on the wire)
  • last_active_at: AwareDatetime | None (lastActiveAt on the wire) (optional)
  • unregistered_at: AwareDatetime | None (unregisteredAt on the wire) (optional)
  • invite: kindgi.client.UserInvite | None (optional)
  • first_signed_in_at: AwareDatetime | None (firstSignedInAt on the wire) (optional)
  • metadata: dict[str, Any] | None (optional)
  • invite_email: kindgi.client.InviteEmail | None (inviteEmail on the wire) (optional)

An open invitation. pending signs in. expired (past expiresAt, 7 days after it was made or last renewed) is refused at every way of signing in until a tenant admin renews it (POST /v1/identity/users/{userId}/invite).

  • state: Union[Literal['pending', 'expired'], str]
  • expires_at: AwareDatetime (expiresAt on the wire)
  • sent_at: AwareDatetime | None (sentAt on the wire) (optional)

Tenant-scoped user record (admin plane). primaryEmail may be redacted on the wire based on tenant policy (the routes treat it as opaque). metadata is free-form JSON — deployments carry IdP claims / provisioning source / roles here.

  • user_id: str (userId on the wire)
  • tenant_id: uuid.UUID (tenantId on the wire)
  • primary_email: str | None (primaryEmail on the wire) (optional)
  • display_name: str | None (displayName on the wire) (optional)
  • created_at: AwareDatetime (createdAt on the wire)
  • last_active_at: AwareDatetime | None (lastActiveAt on the wire) (optional)
  • unregistered_at: AwareDatetime | None (unregisteredAt on the wire) (optional)
  • invite: kindgi.client.UserInvite | None (optional)
  • first_signed_in_at: AwareDatetime | None (firstSignedInAt on the wire) (optional)
  • metadata: dict[str, Any] | None (optional)
  • grants: kindgi.client.PersonGrants | None (optional)