When a model is written to Permify using the write schema API a schema version will be returned by the API. That schema version can be used to inspect the schema.
Permify Schema needed to be send to API endpoint /v1/schemas/read for configuration of your authorization model on Permify API.
Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \“[a-zA-Z0-9-,]+\“, max 64 bytes.
Body
application/json
SchemaReadRequest is the request message for the Read method in the Schema service.
It contains tenant_id and metadata about the schema to be read.
SchemaReadRequestMetadata provides additional information for the Schema Read request.
It contains schema_version to specify which version of the schema should be read.
The SchemaDefinition message provides definitions for entities and rules,
and includes references to clarify whether a name refers to an entity or a rule.
An abstract representation of a common expression.
Expressions are abstractly represented as a collection of identifiers,
select statements, function calls, literals, and comprehensions. All
operators with the exception of the '.' operator are modelled as function
calls. This makes it easy to represent new operators into the existing AST.
All references within expressions must resolve to a [Decl][google.api.expr.v1alpha1.Decl] provided at
type-check for an expression to be valid. A reference may either be a bare
identifier name or a qualified identifier google.api.name. References
may either refer to a value or a function declaration.
For example, the expression google.api.name.startsWith('expr') references
the declaration google.api.name within a [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and
the function declaration startsWith.
The expr version indicates the major / minor version number of the expr
representation.
The most common reason for a version change will be to indicate to the CEL
runtimes that transformations have been performed on the expr during static
analysis. In some cases, this will save the runtime the work of applying
the same or similar transformations prior to evaluation.
An Ident or Select expression is represented here if it resolves to a
declaration. For instance, if a.b.c is represented by
select(select(id(a), b), c), and a.b resolves to a declaration,
while c is a field selection, then the reference is attached to the
nested select expression (but not to the id or or the outer select).
In turn, if a resolves to a declaration and b.c are field selections,
the reference is attached to the ident expression.
Every Call expression has an entry here, identifying the function being
called.
Every CreateStruct expression for a message has an entry, identifying
the message.
Every expression node which has a type different than DYN has a mapping
here. If an expression has type DYN, it is omitted from this map to save
space.