Skip to content

KesselInventoryService_Check

POST
/api/kessel/v1beta2/check

Performs an relationship check to determine whether a subject has a specific permission or relationship on a resource.

This API evaluates whether the provided subject is a member of the specified relation (e.g., “viewer”, “editor”, “admin”) on the target object. It answers the question: “Does subject X have relation Y on object Z?”

Common use cases include enforcing read access, conditional UI visibility, or authorization gating for downstream API calls.

object
object

Required parameters (from an authz perspective)

object
resourceType
string
resourceId
string
reporter
object
type
string
instanceId
string
relation
string
subject

A reference to a Subject or, if a relation is provided, a Subject Set.

object
relation

An optional relation which points to a set of Subjects instead of the single Subject. e.g. “members” or “owners” of a group identified in subject.

string
resource
object
resourceType
string
resourceId
string
reporter
object
type
string
instanceId
string
consistency

Consistency requirement for the check operation. If not specified, standard server configuration defaults to minimizeLatency. Server deployments may override this default behavior (for example, to at_least_as_acknowledged).

object
minimizeLatency

The service selects the fastest snapshot available. Must be set true if used.

boolean
atLeastAsFresh

All data used in the API call must be at least as fresh as found in the ConsistencyToken. More recent data might be used if available or faster.

object
token
string
atLeastAsAcknowledged

All data used in the API call must be at least as acknowledged, meaning it includes data up to the latest write known to Inventory. This aligns with ReportResource write visibility: when write_visibility=IMMEDIATE, the write waits for acknowledgement, so a subsequent read with at_least_as_acknowledged is guaranteed to be at least as recent as that write. Some deployments may use this behavior as the server-side default when consistency is omitted. Must be set true if used.

boolean

OK

object
allowed
string format: enum
Allowed values: ALLOWED_UNSPECIFIED ALLOWED_TRUE ALLOWED_FALSE
consistencyToken
object
token
string

Default error response

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any