Skip to content

Models: U

View as Markdown
  • id: uuid.UUID
  • reason: Literal['no-keyed-hash', 'unknown-key']
  • scope: kindgi.client.LiveScopeTenant | kindgi.client.LiveScopeOrg | kindgi.client.LiveScopeProject | kindgi.client.LiveScopeSegment
  • 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[Literal['oidc', 'saml']] (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
  • 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']
  • role: Literal['member', 'admin']
  • role: Literal['viewer', 'editor', 'admin']

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: Literal['env', 'config', 'secret']
  • key: str
  • value: str
  • sensitive: bool | None (optional)
  • if_revision: int | None (ifRevision on the wire) (optional)
  • entry: kindgi.client.TenantConfigEntry
  • data: list[kindgi.client.UserRecord]
  • has_more: bool (hasMore on the wire)
  • next_cursor: str | None (nextCursor 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)
  • metadata: dict[str, Any] | None (optional)
  • grants: kindgi.client.PersonGrants | None (optional)