Models: W
WebhookDelivery
Section titled “WebhookDelivery”delivery_id: str(deliveryIdon the wire)endpoint_id: str(endpointIdon the wire)event: kindgi.client.RunFinishedEvent | kindgi.client.WebhookTestEventstatus: Literal['pending', 'delivered', 'failed']attempts: intnext_attempt_at: AwareDatetime | None(nextAttemptAton the wire)last_attempt_at: AwareDatetime | None(lastAttemptAton the wire)last_response_status: int | None(lastResponseStatuson the wire)last_error: str | None(lastErroron the wire)created_at: AwareDatetime(createdAton the wire)delivered_at: AwareDatetime | None(deliveredAton the wire)
WebhookDeliveryCollectionPage
Section titled “WebhookDeliveryCollectionPage”data: list[kindgi.client.WebhookDelivery]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
WebhookEndpoint
Section titled “WebhookEndpoint”endpoint_id: str(endpointIdon the wire)url: AnyUrlevents: list[Literal['run.finished']]filter: kindgi.client.WebhookEndpointFilterdescription: str | Nonesecret_ref: kindgi.client.WebhookSecretRef(secretRefon the wire)created_at: AwareDatetime(createdAton the wire)updated_at: AwareDatetime(updatedAton the wire)
WebhookEndpointCollectionPage
Section titled “WebhookEndpointCollectionPage”data: list[kindgi.client.WebhookEndpoint]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
WebhookEndpointFilter
Section titled “WebhookEndpointFilter”Which events reach the endpoint. Every field narrows; absent fields do not. run.finished is sent for top-level runs only.
project_id: str | None(projectIdon the wire) (optional)flow_ids: list[kindgi.client.FlowId] | None(flowIdson the wire) (optional)include_dry_runs: bool | None(includeDryRunson the wire) (optional)
WebhookEndpointUnregisterResult
Section titled “WebhookEndpointUnregisterResult”endpoint_id: str(endpointIdon the wire)unregistered: bool
WebhookSecretRef
Section titled “WebhookSecretRef”A secret by name in the deployment's secrets store, resolved at tenant scope (the same shape as a provider's secret_ref). The value is whsec_ + base64 of at least 24 random bytes (or that base64 alone); the store keeps it, the endpoint keeps only this reference.
env_name: str(envNameon the wire)name: str
WebhookTestEvent
Section titled “WebhookTestEvent”id: strtype: Literal['webhook.test']created_at: AwareDatetime(createdAton the wire)data: kindgi.client.Data1
WebhookTriggerCollectionPage
Section titled “WebhookTriggerCollectionPage”data: list[kindgi.client.WebhookTriggerRecord]next_cursor: str | None(nextCursoron the wire) (optional)has_more: bool(hasMoreon the wire)
WebhookTriggerRecord
Section titled “WebhookTriggerRecord”trigger_id: str(triggerIdon the wire)webhook_id: str(webhookIdon the wire)flow_id: str(flowIdon the wire)flow_version: str(flowVersionon the wire)input: Any | None(optional)hmac_secret_name: str(hmacSecretNameon the wire)label: str | Nonestatus: Literal['active', 'paused']last_fired_at: AwareDatetime | None(lastFiredAton the wire)created_at: AwareDatetime(createdAton the wire)updated_at: AwareDatetime(updatedAton the wire)
WebhookTriggerUnregisterResult
Section titled “WebhookTriggerUnregisterResult”trigger_id: str(triggerIdon the wire)unregistered: bool
WhoamiResult
Section titled “WhoamiResult”Introspection of the caller's current authentication context. Always carries tenantId and scopes (empty for static bearer tokens), plus userId when the token carries one; session-token callers additionally see sessionId, providerId, and expiresAt. user is the caller's directory record, present when the deployment wires an identity directory and it knows the userId. reviewerRole is set when the token carries a reviewer role — clients can use it to gate reviewer-only UI (the approvals surface) without a second round trip.
tenant_id: uuid.UUID(tenantIdon the wire)user_id: str | None(userIdon the wire) (optional)session_id: str | None(sessionIdon the wire) (optional)provider_id: str | None(providerIdon the wire) (optional)scopes: list[str]expires_at: AwareDatetime | None(expiresAton the wire) (optional)reviewer_role: Optional[Literal['standard', 'senior', 'admin']](reviewerRoleon the wire) (optional)user: kindgi.client.UserRecord | None(optional)
WireError
Section titled “WireError”error: kindgi.client.Error
WithdrawProposalBody
Section titled “WithdrawProposalBody”reason: str
WriteFactBody
Section titled “WriteFactBody”Write a fact. type selects the retrieval-policy (which indexes populate); scope.tenantId MUST match the caller's tenant. Optional retention overrides tenant defaults; optional contentHash is a caller-supplied idempotence hint (runtime computes its own hash regardless).
type: strscope: kindgi.client.FactScopecontent: Anyretention: kindgi.client.Retention | None(optional)content_hash: str | None(contentHashon the wire) (optional)