SDKsTypeScript SDKType Reference
Permission Types
TypeScript type definitions for permissions, permission checks, and relationship tuples.
Permission Types
CheckPermissionParams
interface CheckPermissionParams {
subject: string; // "user:usr_abc123" or "group:grp_abc123"
relation: string; // "viewer", "editor", "admin", "owner", "member"
object: string; // "project:proj_abc123", "organization:org_abc123"
}GrantPermissionParams
interface GrantPermissionParams {
subject: string;
relation: string;
object: string;
}ListObjectsParams
interface ListObjectsParams {
subject: string;
relation: string;
objectType: string; // "project", "organization", "document"
pageSize?: number;
pageToken?: string;
}ObjectList
interface ObjectList {
objects: string[]; // ["project:proj_abc123", "project:proj_xyz789"]
nextPageToken: string | null;
}SubjectList
interface SubjectList {
subjects: string[]; // ["user:usr_jane", "group:grp_engineering"]
nextPageToken: string | null;
}PermissionTree
Returned by expand(). Represents the full relationship graph for a permission.
interface PermissionTree {
type: "union" | "intersection" | "exclusion" | "leaf" | "computed" | "tuple_to_userset";
subject?: string;
relation?: string;
children?: PermissionTree[];
}Built-in relations
| Relation | Description | Typical use |
|---|---|---|
owner | Full control, can delete | Organization owners |
admin | Manage settings and members | Organization admins |
member | Standard access | Organization members |
viewer | Read-only access | Limited access users |
billing | Billing and subscription management | Finance team |
editor | Create and modify content | Project editors |
See also
- Permissions admin -- Permission methods
- Groups -- Group-based permissions