Frame.io Custom Actions API

Manage Custom Actions and related operations.

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/frameio-custom-actions-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 email required.

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

OpenAPI Specification

frameio-custom-actions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: 'For more information, see: <a href="https://developer.adobe.com/frameio">https://developer.adobe.com/frameio</a>'
  license:
    name: Adobe
    url: https://www.adobe.com/legal/terms.html
  title: Frame.io Account Permissions Custom Actions API
  version: v4.0
servers:
- url: https://api.frame.io
  variables: {}
security:
- OAuth2: []
- bearer: []
tags:
- description: Manage Custom Actions and related operations.
  name: Custom Actions
paths:
  /v4/accounts/{account_id}/actions/{action_id}:
    delete:
      callbacks: {}
      description: 'Delete a custom action. <br/>Rate Limits: 60 calls per 1.00 minute(s) per account_user'
      operationId: actions.delete
      parameters:
      - description: ''
        example: d1cace13-78ef-41d8-8275-10afc7433b6a
        in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/FrameOrAdobeId'
      - description: ''
        example: 64feb8e8-bbd0-4af8-a046-811799a2e1e1
        in: path
        name: action_id
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      responses:
        '204':
          content:
            '*':
              schema:
                $ref: '#/components/schemas/NoContent'
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad request
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not found
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
          description: Conflict
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableContent'
          description: Unprocessable content
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
          description: Too many requests
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
      summary: Delete custom action
      tags:
      - Custom Actions
    get:
      callbacks: {}
      description: 'Show custom action details. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user'
      operationId: actions.show
      parameters:
      - description: ''
        example: 18cc4f80-d986-4ba6-95fc-0ea831118ff6
        in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/FrameOrAdobeId'
      - description: ''
        example: 9bc586b9-e6f4-40fd-8de3-e9f122a3f0ec
        in: path
        name: action_id
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      - description: ''
        in: query
        name: include
        required: false
        schema:
          description: Include query parameter for custom actions
          enum:
          - creator
          example: creator
          title: ActionInclude
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionWithIncludesResponse'
          description: OK
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad request
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not found
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
          description: Conflict
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableContent'
          description: Unprocessable content
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
          description: Too many requests
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
      summary: Show custom action details
      tags:
      - Custom Actions
    patch:
      callbacks: {}
      description: 'Update custom action details. <br/>Rate Limits: 10 calls per 1.00 minute(s) per account_user'
      operationId: actions.update
      parameters:
      - description: ''
        example: 601b2413-8c72-42f5-83bc-9ea11e2118c1
        in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/FrameOrAdobeId'
      - description: ''
        example: 86bbba3f-22b8-4647-be59-1eff1ce4ff6b
        in: path
        name: action_id
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionUpdateParams'
        description: Action params
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
          description: OK
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad request
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not found
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
          description: Conflict
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableContent'
          description: Unprocessable content
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
          description: Too many requests
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
      summary: Update custom action
      tags:
      - Custom Actions
  /v4/accounts/{account_id}/workspaces/{workspace_id}/actions:
    get:
      callbacks: {}
      description: 'List actions in a given workspace. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user'
      operationId: actions.index
      parameters:
      - description: ''
        example: 08049eb3-f477-45c5-b414-241813274340
        in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/FrameOrAdobeId'
      - description: ''
        example: b2f62cb7-6279-4bc7-aefe-22928ec2e5e9
        in: path
        name: workspace_id
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      - description: ''
        in: query
        name: include
        required: false
        schema:
          description: Include query parameter for custom actions
          enum:
          - creator
          example: creator
          title: ActionInclude
          type: string
      - description: 'Opaque Cursor query param for requests returning paginated results.

          <br/>

          NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.

          '
        in: query
        name: after
        required: false
        schema:
          $ref: '#/components/schemas/RequestAfterOpaqueCursor'
      - description: ''
        in: query
        name: page_size
        required: false
        schema:
          $ref: '#/components/schemas/RequestPageSize'
      - description: ''
        in: query
        name: include_total_count
        required: false
        schema:
          $ref: '#/components/schemas/IncludeTotalCount'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsWithIncludesResponse'
          description: OK
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad request
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
          headers:
            x-ratelimit-limit:
              description: Rate limit
              example: 100
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Rate limit remaining
              example: 99
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
            x-ratelimit-window:
              description: Rate limit window in milliseconds
              example: 60000
              required: true
              schema:
                format: int32
                minimum: 0
                type: integer
              style: simple
        '404':
          content:
            application/json:
              schema:
                $ref: '#/compone

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/frameio/refs/heads/main/openapi/frameio-custom-actions-api-openapi.yml