Frontegg Approval Flows API

The Approval Flows API from Frontegg — 6 operation(s) for approval flows.

Operations 9

POST /resources/approval-flows/v1 Create Approval Flow #
GET /resources/approval-flows/v1 Get Approval Flows #
GET /resources/approval-flows/v1/{id} Get Approval Flow by ID #
PATCH /resources/approval-flows/v1/{id} Update Approval Flow #
DELETE /resources/approval-flows/v1/{id} Delete Approval Flow #
POST /resources/approval-flows/v1/approver-action Approver Action #
GET /resources/approval-flows/v1/execution-data Get Approval Flow Execution Data #
POST /resources/approval-flows/v1/{id}/execute Execute Approval Flow #
POST /resources/approval-flows/v1/step-up/execute Execute Step up Approval Flow #

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-approval-flows-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-approval-flows-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entitlements Agent (PDP) Approval Flows 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: Approval Flows
  x-displayName: Approval Flows
paths:
  /resources/approval-flows/v1:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: ApprovalFlowsController_createApprovalFlow
      summary: Create Approval Flow
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApprovalFlowDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalFlowResponseDto'
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalFlowResponseDto'
      tags:
      - Approval Flows
      security:
      - bearer: []
    get:
      operationId: ApprovalFlowsController_getApprovalFlows
      summary: Get Approval Flows
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalFlowsListResponseDto'
      tags:
      - Approval Flows
      security:
      - bearer: []
  /resources/approval-flows/v1/{id}:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: ApprovalFlowsController_getApprovalFlowById
      summary: Get Approval Flow by ID
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalFlowResponseDto'
      tags:
      - Approval Flows
      security:
      - bearer: []
    patch:
      operationId: ApprovalFlowsController_updateApprovalFlow
      summary: Update Approval Flow
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateApprovalFlowDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalFlowResponseDto'
      tags:
      - Approval Flows
      security:
      - bearer: []
    delete:
      operationId: ApprovalFlowsController_deleteApprovalFlow
      summary: Delete Approval Flow
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
        '204':
          description: ''
      tags:
      - Approval Flows
      security:
      - bearer: []
  /resources/approval-flows/v1/approver-action:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: ApprovalFlowsController_approverAction
      summary: Approver Action
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApproverActionDto'
      responses:
        '200':
          description: ''
      tags:
      - Approval Flows
      security:
      - bearer: []
  /resources/approval-flows/v1/execution-data:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: ApprovalFlowsController_getExecutionData
      summary: Get Approval Flow Execution Data
      parameters:
      - name: approvalFlowExecutionId
        required: true
        in: query
        schema:
          type: string
      - name: approverId
        required: true
        in: query
        schema:
          type: string
      - name: approvalFlowStepId
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionDataResponseDto'
      tags:
      - Approval Flows
      security:
      - bearer: []
  /resources/approval-flows/v1/{id}/execute:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: ApprovalFlowsController_executeApprovalFlow
      summary: Execute Approval Flow
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: frontegg-tenant-id
        in: header
        description: The tenant identifier. Required for requests to api.frontegg.com (or your region) when using a management token. Parsed from the token when using user or API tokens
        required: false
        schema:
          type: string
      - name: frontegg-user-id
        in: header
        description: The user ID
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteApprovalFlowDto'
      responses:
        '200':
          description: ''
      tags:
      - Approval Flows
      security:
      - bearer: []
  /resources/approval-flows/v1/step-up/execute:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: ApprovalFlowsController_executeStepUpApprovalFlow
      summary: Execute Step up Approval Flow
      parameters:
      - name: frontegg-tenant-id
        in: header
        description: The tenant identifier. Required for requests to api.frontegg.com (or your region) when using a management token. Parsed from the token when using user or API tokens
        required: false
        schema:
          type: string
      - name: frontegg-user-id
        in: header
        description: The user ID
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteApprovalFlowDto'
      responses:
        '200':
          description: ''
      tags:
      - Approval Flows
      security:
      - bearer: []
components:
  schemas:
    CreateApprovalFlowDto:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        isActive:
          type: boolean
        channels:
          $ref: '#/components/schemas/ApprovalFlowChannelDto'
        configuration:
          $ref: '#/components/schemas/ApprovalFlowConfigurationDto'
        steps:
          type: array
          items:
            $ref: '#/components/schemas/CreateApprovalFlowStepDto'
      required:
      - name
      - channels
      - configuration
      - steps
    ApproverSelectorDto:
      type: object
      properties:
        roleKeys:
          type: array
          items:
            type: string
        emails:
          type: array
          items:
            type: string
        phoneNumbers:
          type: array
          items:
            type: string
    ApprovalFlowChannel:
      type: object
      properties: {}
    ApprovalFlowConfigurationDto:
      type: object
      properties:
        autoApproveInMinutes:
          type: number
          minimum: 1
        reminderIntervalMinutes:
          type: number
          minimum: 60
        notifyOnDecisions:
          type: boolean
        timeoutMinutes:
          type: number
          minimum: 5
          maximum: 10080
        webhookUrl:
          type: string
    StepConfigurationResponseDto:
      type: object
      properties:
        minApprovals:
          type: number
    ExecutionDataResponseDto:
      type: object
      properties:
        approvalFlowName:
          type: string
        approvalFlowDescription:
          type: string
        requester:
          type: string
        approvalFlowRequestDate:
          format: date-time
          type: string
        executionData:
          type: object
      required:
      - approvalFlowName
      - requester
      - approvalFlowRequestDate
    ApproverSelectorResponseDto:
      type: object
      properties:
        roleKeys:
          type: array
          items:
            type: string
        emails:
          type: array
          items:
            type: string
        phoneNumbers:
          type: array
          items:
            type: string
      required:
      - roleKeys
      - emails
      - phoneNumbers
    ExecuteApprovalFlowDto:
      type: object
      properties:
        executionData:
          type: object
        webhookUrl:
          type: string
    ApprovalFlowConfigurationResponseDto:
      type: object
      properties:
        autoApproveInMinutes:
          type: number
        reminderIntervalMinutes:
          type: number
        notifyOnDecisions:
          type: boolean
        logging:
          type: boolean
        timeoutMinutes:
          type: number
        webhookUrl:
          type: string
    ApprovalFlowStepResponseDto:
      type: object
      properties:
        id:
          type: string
        stepOrder:
          type: number
        approverSelectors:
          $ref: '#/components/schemas/ApproverSelectorResponseDto'
        configuration:
          $ref: '#/components/schemas/StepConfigurationResponseDto'
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - stepOrder
      - approverSelectors
      - configuration
      - createdAt
      - updatedAt
    ApprovalFlowResponseDto:
      type: object
      properties:
        id:
          type: string
        vendorId:
          type: string
        tenantId:
          type: string
        name:
          type: string
        description:
          type: string
        isActive:
          type: boolean
        channels:
          $ref: '#/components/schemas/ApprovalFlowChannel'
        configuration:
          $ref: '#/components/schemas/ApprovalFlowConfigurationResponseDto'
        steps:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalFlowStepResponseDto'
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - vendorId
      - name
      - isActive
      - channels
      - configuration
      - steps
      - createdAt
      - updatedAt
    ApprovalFlowsListResponseDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalFlowResponseDto'
        total:
          type: number
      required:
      - items
      - total
    CreateApprovalFlowStepDto:
      type: object
      properties:
        approverSelectors:
          $ref: '#/components/schemas/ApproverSelectorDto'
        configuration:
          $ref: '#/components/schemas/StepConfigurationDto'
        stepOrder:
          type: number
          minimum: 1
      required:
      - approverSelectors
      - configuration
      - stepOrder
    StepConfigurationDto:
      type: object
      properties:
        minApprovals:
          type: number
          minimum: 1
      required:
      - minApprovals
    ApprovalFlowChannelDto:
      type: object
      properties:
        email:
          type: boolean
        sms:
          type: boolean
      required:
      - email
      - sms
    ApproverActionDto:
      type: object
      properties:
        approved:
          type: boolean
        approvalFlowExecutionId:
          type: string
        approverId:
          type: string
        approvalFlowStepId:
          type: string
      required:
      - approved
      - approvalFlowExecutionId
      - approverId
      - approvalFlowStepId
    UpdateApprovalFlowDto:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        isActive:
          type: boolean
        channels:
          $ref: '#/components/schemas/ApprovalFlowChannelDto'
        configuration:
          $ref: '#/components/schemas/ApprovalFlowConfigurationDto'
        steps:
          type: array
          items:
            $ref: '#/components/schemas/CreateApprovalFlowStepDto'
  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