Fusio Action API

The action API from Fusio — 6 operation(s) for action.

Operations 9

GET /backend/action Backend action get all #
POST /backend/action Backend action create #
GET /backend/action/{action_id} Backend action get #
PUT /backend/action/{action_id} Backend action update #
DELETE /backend/action/{action_id} Backend action delete #
POST /backend/action/execute/{action_id} Backend action execute #
GET /backend/action/list Backend action get classes #
GET /backend/action/{action_id}/commit Backend action get commits #
GET /backend/action/form Backend action get form #

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/fusio-action-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

fusio-action-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fusio Action API
  description: Self-Hosted API Management for Builders.
  version: '1'
servers:
- url: https://demo.fusio-project.org
tags:
- name: Action
paths:
  /backend/action:
    get:
      tags:
      - Action
      description: Returns a paginated list of actions
      operationId: backend.action.getAll
      parameters:
      - name: startIndex
        in: query
        required: false
        schema:
          type: integer
      - name: count
        in: query
        required: false
        schema:
          type: integer
      - name: search
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Backend_ActionCollection'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action get all
      x-summary-source: derived
    post:
      tags:
      - Action
      description: Creates a new action
      operationId: backend.action.create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Backend_ActionCreate'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action create
      x-summary-source: derived
  /backend/action/{action_id}:
    parameters:
    - name: action_id
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Action
      description: Returns a specific action
      operationId: backend.action.get
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Backend_Action'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action get
      x-summary-source: derived
    put:
      tags:
      - Action
      description: Updates an existing action
      operationId: backend.action.update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Backend_ActionUpdate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action update
      x-summary-source: derived
    delete:
      tags:
      - Action
      description: Deletes an existing action
      operationId: backend.action.delete
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action delete
      x-summary-source: derived
  /backend/action/execute/{action_id}:
    parameters:
    - name: action_id
      in: path
      required: true
      schema:
        type: string
    post:
      tags:
      - Action
      description: Executes a specific action. This method should be used to test an action configuration
      operationId: backend.action.execute
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Backend_ActionExecuteRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Backend_ActionExecuteResponse'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action execute
      x-summary-source: derived
  /backend/action/list:
    get:
      tags:
      - Action
      description: Returns all available action classes
      operationId: backend.action.getClasses
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Backend_ActionIndex'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action get classes
      x-summary-source: derived
  /backend/action/{action_id}/commit:
    parameters:
    - name: action_id
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Action
      description: Returns a paginated list of action commits
      operationId: backend.action.getCommits
      parameters:
      - name: startIndex
        in: query
        required: false
        schema:
          type: integer
      - name: count
        in: query
        required: false
        schema:
          type: integer
      - name: search
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Backend_ActionCommitCollection'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action get commits
      x-summary-source: derived
  /backend/action/form:
    get:
      tags:
      - Action
      description: Returns the action config form
      operationId: backend.action.getForm
      parameters:
      - name: class
        in: query
        description: The target action class
        required: false
        schema:
          description: The target action class
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_FormContainer'
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
        5XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_Message'
      security:
      - app:
        - backend.action
      summary: Backend action get form
      x-summary-source: derived
components:
  schemas:
    Backend_App:
      description: This object represents an app to access the API on-behalf of a user
      type: object
      properties:
        id:
          description: Unique identifier for the object
          type: integer
        userId:
          type: integer
        status:
          description: Status of the object either 1 = active, 2 = pending, 3 = deactivated or 4 = deleted
          type: integer
        name:
          description: Unique name of the object
          type: string
        url:
          description: Url where the app is hosted
          type: string
        parameters:
          description: Optional URL-encoded parameters of the app i.e. foo=bar&bar=foo
          type: string
        appKey:
          description: The app key also known as client id which is generated on creation
          type: string
        appSecret:
          description: The app secret also known as client secret which is generated on creation
          type: string
        metadata:
          $ref: '#/components/schemas/Common_Metadata'
        date:
          description: The create date of this object
          type: string
          format: date-time
        scopes:
          description: A list of assigned scopes for this app
          type: array
          items:
            type: string
        tokens:
          description: A list of tokens which are assigned to this app
          type: array
          items:
            $ref: '#/components/schemas/Backend_Token'
    Backend_Action:
      description: This object represents the business logic which can be executed either through an operation or cronjob
      type: object
      properties:
        id:
          description: Unique identifier for the object
          type: integer
        status:
          description: Status of the object either 1 = active or 0 = deleted
          type: integer
        name:
          description: Unique name of the object
          type: string
        class:
          description: Underlying class of this action which handles the action logic
          type: string
        async:
          description: Whether to execute the action asynchronously, if true the action directly returns a 202 response and the action is executed later on in the background, useful for expensive operations
          type: boolean
        config:
          $ref: '#/components/schemas/Backend_ActionConfig'
        metadata:
          $ref: '#/components/schemas/Common_Metadata'
    Common_FormElementSelect:
      allOf:
      - $ref: '#/components/schemas/Common_FormElement'
      - description: Form element which represents a select element
        type: object
        properties:
          options:
            description: Available options for the select element
            type: array
            items:
              $ref: '#/components/schemas/Common_FormElementSelectOption'
    Backend_ActionIndexEntry:
      description: Represents a concrete action class
      type: object
      properties:
        name:
          description: Human-readable name of the action class
          type: string
        class:
          description: Technical identifier of the action class
          type: string
    Backend_ActionUpdate:
      $ref: '#/components/schemas/Backend_Action'
    Backend_ActionExecuteRequestBody:
      description: Represents a request body
      type: object
      additionalProperties: {}
    Backend_ActionIndex:
      description: Contains all possible classes which can be used at an action as class
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Backend_ActionIndexEntry'
    Common_FormElementCollection:
      allOf:
      - $ref: '#/components/schemas/Common_FormElement'
      - description: Form element which represents a collection element
        type: object
        properties:
          type:
            description: The input type i.e. text or password, all HTML input types are allowed
            type: string
    Backend_ActionCreate:
      $ref: '#/components/schemas/Backend_Action'
    Backend_ActionConfig:
      description: The action configuration which contains arbitrary key-value entries
      type: object
      additionalProperties: {}
    Common_FormContainer:
      description: Represents a config form with a list of elements
      type: object
      properties:
        element:
          type: array
          items:
            $ref: '#/components/schemas/Common_FormElement'
    Common_Metadata:
      type: object
      additionalProperties:
        type: string
    Backend_ActionExecuteResponseHeaders:
      description: Represents a map of headers
      type: object
      additionalProperties:
        type: string
    Common_FormElementSelectOption:
      description: Represents a concrete option entry
      type: object
      properties:
        key:
          type: string
        value:
          type: string
    Backend_ActionCommitCollection:
      description: Base collection
      type: object
      properties:
        totalResults:
          type: integer
        startIndex:
          type: integer
        itemsPerPage:
          type: integer
        entry:
          type: array
          items:
            $ref: '#/components/schemas/Backend_ActionCommit'
    Backend_ActionCommit:
      description: An action commit which represents a change in the action configuration
      type: object
      properties:
        id:
          description: Unique identifier for the object
          type: integer
        user:
          $ref: '#/components/schemas/Backend_User'
        commitHash:
          description: A unique hash which represents this commit
          type: string
        config:
          $ref: '#/components/schemas/Backend_ActionConfig'
        insertDate:
          type: string
          format: date-time
    Common_FormElementTextArea:
      allOf:
      - $ref: '#/components/schemas/Common_FormElement'
      - description: Form element which represents a textarea
        type: object
        properties:
          mode:
            description: Describes which data is provided at the textarea, this can be i.e. a programming language like php, java or python or also a data format like json
            type: string
    Backend_ActionExecuteRequest:
      description: Represents a request to execute an action
      type: object
      properties:
        method:
          description: HTTP method i.e. GET, POST
          type: string
        uriFragments:
          description: URL-encoded uri fragments i.e. foo=bar&bar=foo
          type: string
        parameters:
          description: URL-encoded query parameters i.e. foo=bar&bar=foo
          type: string
        headers:
          description: URL-encoded headers i.e. foo=bar&bar=foo
          type: string
        body:
          $ref: '#/components/schemas/Backend_ActionExecuteRequestBody'
    Common_Message:
      description: Common error message
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        id:
          type: string
    Common_FormElementInput:
      allOf:
      - $ref: '#/components/schemas/Common_FormElement'
      - description: Form element which represents an input element
        type: object
        properties:
          type:
            description: The input type i.e. text or password, all HTML input types are allowed
            type: string
    Common_FormElement:
      oneOf:
      - $ref: '#/components/schemas/Common_FormElementCheckbox'
      - $ref: '#/components/schemas/Common_FormElementCollection'
      - $ref: '#/components/schemas/Common_FormElementInput'
      - $ref: '#/components/schemas/Common_FormElementMap'
      - $ref: '#/components/schemas/Common_FormElementSelect'
      - $ref: '#/components/schemas/Common_FormElementTextArea'
      - $ref: '#/components/schemas/Common_FormElementTypeAPI'
      - $ref: '#/components/schemas/Common_FormElementTypeSchema'
      discriminator: type
      mapping:
        checkbox: '#/components/schemas/Common_FormElementCheckbox'
        collection: '#/components/schemas/Common_FormElementCollection'
        input: '#/components/schemas/Common_FormElementInput'
        map: '#/components/schemas/Common_FormElementMap'
        select: '#/components/schemas/Common_FormElementSelect'
        textarea: '#/components/schemas/Common_FormElementTextArea'
        typeapi: '#/components/schemas/Common_FormElementTypeAPI'
        typeschema: '#/components/schemas/Common_FormElementTypeSchema'
    Backend_ActionExecuteResponseBody:
      description: Represents a response body
      type: object
      additionalProperties: {}
    Backend_ActionExecuteResponse:
      description: Represents an action execution response
      type: object
      properties:
        statusCode:
          description: HTTP status code i.e. 200, 400, etc.
          type: integer
        headers:
          $ref: '#/components/schemas/Backend_ActionExecuteResponseHeaders'
        body:
          $ref: '#/components/schemas/Backend_ActionExecuteResponseBody'
    Common_FormElementMap:
      allOf:
      - $ref: '#/components/schemas/Common_FormElement'
      - description: Form element which represents a map element
        type: object
        properties:
          type:
            description: The input type i.e. text or password, all HTML input types are allowed
            type: string
    Common_FormElementTypeAPI:
      $ref: '#/components/schemas/Common_FormElement'
    Backend_User:
      description: This object represents a user
      type: object
      properties:
        id:
          description: Unique identifier for the object
          type: integer
        roleId:
          description: A role which is assigned to the user
          type: integer
        planId:
          description: A plan which is assigned to the user
          type: integer
        status:
          description: Status of the object either 1 = active, 2 = disabled or 0 = deleted
          type: integer
        name:
          description: Unique name of the object
          type: string
        email:
          description: The email address of the user
          type: string
        points:
          description: Points assigned to the user
          type: integer
        scopes:
          description: List of scopes which are assigned to the user
          type: array
          items:
            type: string
        apps:
          type: array
          items:
            $ref: '#/components/schemas/Backend_App'
        metadata:
          $ref: '#/components/schemas/Common_Metadata'
        date:
          description: The insert date
          type: string
          format: date-time
    Common_FormElementCheckbox:
      $ref: '#/components/schemas/Common_FormElement'
    Common_FormElementTypeSchema:
      $ref: '#/components/schemas/Common_FormElement'
    Backend_Token:
      description: This object represents a token, this an access token which was requested by a user
      type: object
      properties:
        id:
          description: Unique identifier for the object
          type: integer
        status:
          description: Status of the object either 1 = active or 2 = deleted
          type: integer
        name:
          type: string
        scopes:
          type: array
          items:
            type: string
        ip:
          type: string
        expire:
          type: string
          format: date-time
        date:
          type: string
          format: date-time
    Backend_ActionCollection:
      description: Base collection
      type: object
      properties:
        totalResults:
          type: integer
        startIndex:
          type: integer
        itemsPerPage:
          type: integer
        entry:
          type: array
          items:
            $ref: '#/components/schemas/Backend_Action'
  securitySchemes:
    app:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://demo.fusio-project.org/authorization/token
          refreshUrl: https://demo.fusio-project.org/authorization/token
          scopes:
            backend: ''
            backend.account: ''
            backend.action: ''
            backend.agent: ''
            backend.app: ''
            backend.audit: ''
            backend.backup: ''
            backend.bundle: ''
            backend.category: ''
            backend.config: ''
            backend.connection: ''
            backend.cronjob: ''
            backend.dashboard: ''
            backend.event: ''
            backend.firewall: ''
            backend.form: ''
            backend.generator: ''
            backend.identity: ''
            backend.log: ''
            backend.marketplace: ''
            backend.operation: ''
            backend.page: ''
            backend.plan: ''
            backend.rate: ''
            backend.role: ''
            backend.schema: ''
            backend.scope: ''
            backend.sdk: ''
            backend.specification: ''
            backend.statistic: ''
            backend.taxonomy: ''
            backend.tenant: ''
            backend.test: ''
            backend.token: ''
            backend.transaction: ''
            backend.trash: ''
            backend.trigger: ''
            backend.user: ''
            backend.webhook: ''
        authorizationCode:
          authorizationUrl: https://demo.fusio-project.org/authorization/authorize
          tokenUrl: https://demo.fusio-project.org/authorization/token
          refreshUrl: https://demo.fusio-project.org/authorization/token
          scopes:
            backend: ''
            backend.account: ''
            backend.action: ''
            backend.agent: ''
            backend.app: ''
            backend.audit: ''
            backend.backup: ''
            backend.bundle: ''
            backend.category: ''
            backend.config: ''
            backend.connection: ''
            backend.cronjob: ''
            backend.dashboard: ''
            backend.event: ''
            backend.firewall: ''
            backend.form: ''
            backend.generator: ''
            backend.identity: ''
            backend.log: ''
            backend.marketplace: ''
            backend.operation: ''
            backend.page: ''
            backend.plan: ''
            backend.rate: ''
            backend.role: ''
            backend.schema: ''
            backend.scope: ''
            backend.sdk: ''
            backend.specification: ''
            backend.statistic: ''
            backend.taxonomy: ''
            backend.tenant: ''
            backend.test: ''
            backend.token: ''
            backend.transaction: ''
            backend.trash: ''
            backend.trigger: ''
            backend.user: ''
            backend.webhook: ''