Frontegg ReBAC API

The ReBAC API from Frontegg — 9 operation(s) for rebac.

Business capability
Identity & Access Management BC-620.20

Operations 14

GET /resources/entity-types/v1 Get Entity Types #
POST /resources/entity-types/v1 Create Entity Type #
GET /resources/entity-types/v1/{key} Get Entity Type #
PATCH /resources/entity-types/v1/{key} Update Entity Type #
DELETE /resources/entity-types/v1/{key} Delete Entity Type #
POST /resources/entity-types/v1/{key}/actions Create Entity Type Actions #
PATCH /resources/entity-types/v1/{key}/actions/{actionKey} Update Entity Type Action #
DELETE /resources/entity-types/v1/{key}/actions/{actionKey} Delete Entity Type Action #
POST /resources/entity-types/v1/{key}/relations Create Entity Type Relations #
PATCH /resources/entity-types/v1/{key}/relations/{relationKey} Update Entity Type Relation #
DELETE /resources/entity-types/v1/{key}/relations/{relationKey} Delete Entity Type Relation #
GET /resources/relations/v1/assignments Get Relation Assignments #
POST /resources/relations/v1/assign Create Relation Assignments #
POST /resources/relations/v1/unassign Delete Relation Assignments #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/frontegg:frontegg-rebac-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

frontegg-rebac-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entitlements Agent (PDP) Re BAC API
  description: 'The endpoints in this section pertain to the usage of an Entitlements Agent. When your application or service needs to verify entitlements, it can query the Entitlements Agent directly via HTTP.


    These endpoints can be integrated into any backend framework, enabling you to leverage entitlements for advanced authorization needs.'
  version: '1.0'
tags:
- name: ReBAC
  x-displayName: ReBAC
paths:
  /resources/entity-types/v1:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: EntityTypesV1Controller_getEntityTypes
      summary: Get Entity Types
      description: List all entity types in your schema.
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedEntityTypesResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
    post:
      operationId: EntityTypesV1Controller_createEntityType
      summary: Create Entity Type
      description: Create a new entity type (e.g. document, folder, project).
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityTypeRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/entity-types/v1/{key}:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: EntityTypesV1Controller_getEntityType
      summary: Get Entity Type
      description: Retrieve an entity type along with its relations and actions.
      parameters:
      - name: key
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeOneResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
    patch:
      operationId: EntityTypesV1Controller_updateEntityType
      summary: Update Entity Type
      description: Update an existing entity type.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityTypeRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
    delete:
      operationId: EntityTypesV1Controller_deleteEntityType
      summary: Delete Entity Type
      description: Deletes an entity type and all its schema definitions.
      parameters: []
      responses:
        '204':
          description: ''
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/entity-types/v1/{key}/actions:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: EntityTypesActionsV1Controller_createEntityTypeActions
      summary: Create Entity Type Actions
      description: Creates an action on an entity type and defines, via relationKeys, how permission is granted directly or through hierarchical relationships.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityTypeActionsRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntityTypeActionsResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/entity-types/v1/{key}/actions/{actionKey}:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    patch:
      operationId: EntityTypesActionsV1Controller_updateEntityTypeAction
      summary: Update Entity Type Action
      description: Update an existing action's relation mappings.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityTypeActionUpdateRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeActionsResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
    delete:
      operationId: EntityTypesActionsV1Controller_deleteEntityTypeAction
      summary: Delete Entity Type Action
      description: Remove an action from an entity type.
      parameters: []
      responses:
        '204':
          description: ''
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/entity-types/v1/{key}/relations:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: EntityTypesRelationsV1Controller_createEntityTypeRelations
      summary: Create Entity Type Relations
      description: Define schema-level relation types (e.g. reader, owner, parent) and which entity types can be subjects.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityTypeRelationsRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntityTypeRelationResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/entity-types/v1/{key}/relations/{relationKey}:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    patch:
      operationId: EntityTypesRelationsV1Controller_updateEntityTypeRelation
      summary: Update Entity Type Relation
      description: Modify a relation's allowed subject entity types.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityTypeRelationUpdateRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeRelationResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
    delete:
      operationId: EntityTypesRelationsV1Controller_deleteEntityTypeRelation
      summary: Delete Entity Type Relation
      description: Remove a relation definition from an entity type.
      parameters: []
      responses:
        '204':
          description: ''
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/relations/v1/assignments:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: RelationsV1Controller_getRelationAssignments
      summary: Get Relation Assignments
      description: List all instance-level relationship assignments.
      parameters:
      - name: offset
        required: false
        in: query
        example: 0
        schema:
          default: 0
          type: integer
      - name: limit
        required: false
        in: query
        example: 10
        schema:
          default: 10
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedRelationAssignmentsResponse'
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/relations/v1/assign:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: RelationsV1Controller_createRelationAssignments
      summary: Create Relation Assignments
      description: Create relation assignments (instance-level relationships). E.g., "User A is a reader of Document 1".
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationAssignmentsRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RelationAssignmentDto'
      tags:
      - ReBAC
      security:
      - bearer: []
  /resources/relations/v1/unassign:
    servers:
    - url: https://api.frontegg.com/entitlements
      description: EU Region
    - url: https://api.us.frontegg.com/entitlements
      description: US Region
    - url: https://api.ca.frontegg.com/entitlements
      description: CA Region
    - url: https://api.au.frontegg.com/entitlements
      description: AU Region
    - url: https://{domain}.frontegg.com/entitlements
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: RelationsV1Controller_deleteRelationAssignments
      summary: Delete Relation Assignments
      description: Remove instance-level relationship assignments.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelationAssignmentsRequest'
      responses:
        '204':
          description: ''
      tags:
      - ReBAC
      security:
      - bearer: []
components:
  schemas:
    RelationAssignmentsRequest:
      type: object
      properties:
        assignments:
          type: array
          items:
            $ref: '#/components/schemas/RelationAssignmentRequestDto'
      required:
      - assignments
    RelationAssignmentRequestDto:
      type: object
      properties:
        subjectEntityTypeKey:
          type: string
          example: user
        subjectKey:
          type: string
          example: anthony@email-of.his
        relationKey:
          type: string
          example: reader
        targetEntityTypeKey:
          type: string
          example: document
        targetKey:
          type: string
          example: document-1.doc
        activeFrom:
          type: string
          example: '2024-01-01T00:00:00Z'
        activeUntil:
          type: string
          example: '2024-12-31T23:59:59Z'
      required:
      - subjectEntityTypeKey
      - subjectKey
      - relationKey
      - targetEntityTypeKey
      - targetKey
    EntityTypeRequest:
      type: object
      properties:
        key:
          type: string
          example: document
        description:
          type: string
          example: Representation of a Word document file
      required:
      - key
    EntityTypeRelationResponse:
      type: object
      properties:
        vendorId:
          type: string
          readOnly: true
          example: 123e4567-e89b-12d3-a456-426614174000
        targetEntityTypeKey:
          type: string
          readOnly: true
          example: book
        key:
          type: string
          readOnly: true
          example: reader
        subjectEntityTypeKeys:
          readOnly: true
          example:
          - copywriter
          - customer
          type: array
          items:
            type: string
      required:
      - vendorId
      - targetEntityTypeKey
      - key
      - subjectEntityTypeKeys
    EntityTypeResponse:
      type: object
      properties:
        key:
          type: string
          readOnly: true
          example: document
        description:
          type: string
          readOnly: true
          example: Representation of a Word document file
        createdAt:
          type: string
          readOnly: true
          example: '2021-06-02T14:00:00.000Z'
          format: date-time
      required:
      - key
      - description
      - createdAt
    EntityTypeRelationsRequest:
      type: object
      properties:
        relations:
          type: array
          items:
            $ref: '#/components/schemas/EntityTypeRelationRequest'
      required:
      - relations
    PagedEntityTypesResponse:
      type: object
      properties:
        hasNext:
          type: boolean
          readOnly: true
          example: true
        items:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/EntityTypeResponse'
      required:
      - hasNext
      - items
    EntityTypeActionUpdateRequest:
      type: object
      properties:
        key:
          type: string
          example: read
        relationKeys:
          example:
          - reader
          - writer
          - fromRelation: parent
            toAction: read
          description: Array of relation keys (strings) or arrow syntax objects ({ fromRelation, toAction })
          type: array
          items:
            type: string
      required:
      - key
      - relationKeys
    EntityTypeActionRequest:
      type: object
      properties:
        key:
          type: string
          example: read
        relationKeys:
          example:
          - reader
          - writer
          - fromRelation: parent
            toAction: read
          description: Array of relation keys (strings) or arrow syntax objects ({ fromRelation, toAction })
          type: array
          items:
            type: string
      required:
      - key
      - relationKeys
    EntityTypeOneResponse:
      type: object
      properties:
        key:
          type: string
          readOnly: true
          example: document
        description:
          type: string
          readOnly: true
          example: Representation of a Word document file
        createdAt:
          type: string
          readOnly: true
          example: '2021-06-02T14:00:00.000Z'
          format: date-time
        relations:
          readOnly: true
          type: array
          items:
            type: string
        actions:
          readOnly: true
          type: array
          items:
            type: string
      required:
      - key
      - description
      - createdAt
      - relations
      - actions
    EntityTypeActionsRequest:
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/EntityTypeActionRequest'
      required:
      - actions
    EntityTypeActionsResponse:
      type: object
      properties:
        vendorId:
          type: string
          readOnly: true
          example: 123e4567-e89b-12d3-a456-426614174000
        entityTypeKey:
          type: string
          readOnly: true
          example: book
        key:
          type: string
          readOnly: true
          example: read
        relationKeys:
          readOnly: true
          example:
          - reader
          - writer
          - fromRelation: parent
            toAction: read
          type: array
          items:
            type: string
      required:
      - vendorId
      - entityTypeKey
      - key
      - relationKeys
    EntityTypeRelationRequest:
      type: object
      properties:
        key:
          type: string
          example: reader
        subjectEntityKeys:
          example:
          - copywriter
          - customer
          type: array
          items:
            type: string
      required:
      - key
      - subjectEntityKeys
    PagedRelationAssignmentsResponse:
      type: object
      properties:
        items:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/RelationAssignmentDto'
        hasNext:
          type: boolean
          readOnly: true
          example: false
      required:
      - items
      - hasNext
    EntityTypeRelationUpdateRequest:
      type: object
      properties:
        key:
          type: string
          example: reader
        subjectEntityKeys:
          example:
          - copywriter
          - customer
          type: array
          items:
            type: string
      required:
      - key
      - subjectEntityKeys
    RelationAssignmentDto:
      type: object
      properties:
        subjectEntityTypeKey:
          type: string
          readOnly: true
          example: user
        subjectKey:
          type: string
          readOnly: true
          example: anthony@email-of.his
        relationKey:
          type: string
          readOnly: true
          example: reader
        targetEntityTypeKey:
          type: string
          readOnly: true
          example: document
        targetKey:
          type: string
          readOnly: true
          example: document-1.doc
        activeFrom:
          type: string
          example: '2024-01-01T00:00:00Z'
        activeUntil:
          type: string
          example: '2024-12-31T23:59:59Z'
      required:
      - subjectEntityTypeKey
      - subjectKey
      - relationKey
      - targetEntityTypeKey
      - targetKey
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
x-tagGroups:
- name: Entitlements Agent (PDP)
  tags:
  - Entitlements Check
- name: Audits Overview
  tags:
  - Main
  - Metrics
- name: Entitlements Overview
  tags:
  - Plans
  - API Access Control
  - API Access Control Configurations
  - Features
  - Entitlements
  - Feature Flags
  - ReBAC
- name: Authentication and Identity Management
  tags:
  - API token
  - API tokens
  - Account invitations
  - Account invitations settings
  - Account roles
  - Approval Flows
  - Core settings
  - Custom social OAuth provider
  - Data migration
  - Delegation
  - Domain restrictions
  - Email configuration
  - Email templates
  - General
  - IP restrictions
  - Lockout policy
  - M2M tokens
  - MFA
  - MFA configuration
  - MFA settings
  - Password settings
  - Passwordless
  - Permissions
  - Permissions categories
  - Personal tokens
  - Roles
  - SMS
  - SMS configuration
  - SMS templates
  - Sessions configuration
  - Sessions management
  - User emails policy
  - User groups
  - User management
  - Users
  - User pools
  - User sessions
  - Users-applications management
- name: SCIM Provisioning Overview
  tags:
  - SCIM settings
  - SCIM configurations
- name: Single Sign-On Overview
  tags:
  - SAML configurations
  - SSO settings
  - SSO configurations
  - OIDC configurations
- name: Account Management Overview
  tags:
  - Accounts
  - tenants_other
  - Sub-accounts
  - Account settings
  - Account migration
  - Sub-accounts and hierarchy