# ReBAC ## Get Entity Types - [GET /resources/entity-types/v1](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesv1controller_getentitytypes.md): List all entity types in your schema. ## Create Entity Type - [POST /resources/entity-types/v1](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesv1controller_createentitytype.md): Create a new entity type (e.g. document, folder, project). ## Get Entity Type - [GET /resources/entity-types/v1/{key}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesv1controller_getentitytype.md): Retrieve an entity type along with its relations and actions. ## Update Entity Type - [PATCH /resources/entity-types/v1/{key}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesv1controller_updateentitytype.md): Update an existing entity type. ## Delete Entity Type - [DELETE /resources/entity-types/v1/{key}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesv1controller_deleteentitytype.md): Deletes an entity type and all its schema definitions. ## Create Entity Type Actions - [POST /resources/entity-types/v1/{key}/actions](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesactionsv1controller_createentitytypeactions.md): Creates an action on an entity type and defines, via relationKeys, how permission is granted directly or through hierarchical relationships. ## Update Entity Type Action - [PATCH /resources/entity-types/v1/{key}/actions/{actionKey}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesactionsv1controller_updateentitytypeaction.md): Update an existing action's relation mappings. ## Delete Entity Type Action - [DELETE /resources/entity-types/v1/{key}/actions/{actionKey}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesactionsv1controller_deleteentitytypeaction.md): Remove an action from an entity type. ## Create Entity Type Relations - [POST /resources/entity-types/v1/{key}/relations](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesrelationsv1controller_createentitytyperelations.md): Define schema-level relation types (e.g. reader, owner, parent) and which entity types can be subjects. ## Update Entity Type Relation - [PATCH /resources/entity-types/v1/{key}/relations/{relationKey}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesrelationsv1controller_updateentitytyperelation.md): Modify a relation's allowed subject entity types. ## Delete Entity Type Relation - [DELETE /resources/entity-types/v1/{key}/relations/{relationKey}](https://developers.frontegg.com/ciam/api/entitlements/rebac/entitytypesrelationsv1controller_deleteentitytyperelation.md): Remove a relation definition from an entity type. ## Get Relation Assignments - [GET /resources/relations/v1/assignments](https://developers.frontegg.com/ciam/api/entitlements/rebac/relationsv1controller_getrelationassignments.md): List all instance-level relationship assignments. ## Create Relation Assignments - [POST /resources/relations/v1/assign](https://developers.frontegg.com/ciam/api/entitlements/rebac/relationsv1controller_createrelationassignments.md): Create relation assignments (instance-level relationships). E.g., "User A is a reader of Document 1". ## Delete Relation Assignments - [POST /resources/relations/v1/unassign](https://developers.frontegg.com/ciam/api/entitlements/rebac/relationsv1controller_deleterelationassignments.md): Remove instance-level relationship assignments.