openapi: 3.0.0
info:
description: 'For more information, see: https://developer.adobe.com/frameio'
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.
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.
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.
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.
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.
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: '#/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: List actions
tags:
- Custom Actions
post:
callbacks: {}
description: 'Create a custom action in a workspace.
Rate Limits: 10 calls per 1.00 minute(s) per account_user'
operationId: actions.create
parameters:
- description: ''
example: c6b24cbb-4bf9-4295-b520-e3ac6babd323
in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/FrameOrAdobeId'
- description: ''
example: 70c57c1e-673e-41eb-8456-f779587c62cf
in: path
name: workspace_id
required: true
schema:
$ref: '#/components/schemas/UUID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCreateParams'
description: Action params
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCreateResponse'
description: Created
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: Create custom action
tags:
- Custom Actions
components:
schemas:
UnprocessableContent:
example:
errors:
- detail: Unprocessable content
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: UnprocessableContent
type: object
Unauthorized:
example:
errors:
- detail: Unauthorized
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: Unauthorized
type: object
NotFound:
example:
errors:
- detail: Not found
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: NotFound
type: object
RequestPageSize:
default: 50
description: Page size query param for requests
example: 10
format: int32
maximum: 100
minimum: 1
title: RequestPageSize
type: integer
ActionUpdateParams:
additionalProperties: false
description: Custom Action update parameters
example:
data:
active: true
description: customizing our workflow
event: my.event
multi_asset: true
name: First Custom Action
timeout: 7
url: https://example.com/custom-action
properties:
data:
additionalProperties: false
properties:
active:
description: Active Status
type: boolean
description:
description: Action description
maxLength: 255
minLength: 1
type: string
event:
description: Event name sent to `url`
maxLength: 255
minLength: 1
type: string
multi_asset:
description: Manages action trigger on multiple assets
type: boolean
name:
description: Action name
maxLength: 255
minLength: 1
type: string
timeout:
description: Timeout for the action requests in seconds
maximum: 10
minimum: 5
type: integer
url:
description: URL where `event` is sent
maxLength: 2000
minLength: 1
type: string
type: object
required:
- data
title: ActionUpdateParams
type: object
BadRequest:
example:
errors:
- detail: Bad request
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: BadRequest
type: object
ActionWithIncludes:
allOf:
- $ref: '#/components/schemas/Action'
- properties:
creator:
$ref: '#/components/schemas/User'
type: object
example:
active: true
created_at: '2024-08-23T14:39:29.125812Z'
creator:
active: true
avatar_url: https://assets.frame.io/uploads/cd58cb8e-24b3-4448-8d0f-9532fcd04d11/original.png?response-content-disposition=attachment%3B+filename%3D%22foo.png&Expires=1729857600&Signature=L09h0pi82dCrMYjr9lMHBragByWYh1&Key-Pair-Id=KKI497NESTHMN
email: user_email@example.com
id: 196C1A5666BF4EB00A49411B@176719f5667c82b4494214.e
name: Jon Doe
creator_id: 820ef414-53f6-49f5-8687-863166c9eb53
deleted_at: null
description: customizing our workflow
event: my.event
id: d85fbb59-fa9d-4973-8ee8-577f439c7c99
multi_asset: true
name: First Custom Action
timeout: 7
updated_at: '2024-08-23T14:39:29.125812Z'
url: https://example.com/custom-action
workspace_id: 38c216b1-baaf-4505-ba38-14e3f1e9b09b
title: ActionWithIncludes
type: object
ActionsWithIncludesResponse:
description: Frame.io actions
example:
data:
- active: true
created_at: '2024-08-23T14:39:29.125812Z'
creator:
active: true
avatar_url: https://assets.frame.io/uploads/cd58cb8e-24b3-4448-8d0f-9532fcd04d11/original.png?response-content-disposition=attachment%3B+filename%3D%22foo.png&Expires=1729857600&Signature=L09h0pi82dCrMYjr9lMHBragByWYh1&Key-Pair-Id=KKI497NESTHMN
email: user_email@example.com
id: 196C1A5666BF4EB00A49411B@176719f5667c82b4494214.e
name: Jon Doe
creator_id: 820ef414-53f6-49f5-8687-863166c9eb53
deleted_at: null
description: customizing our workflow
event: my.event
id: d85fbb59-fa9d-4973-8ee8-577f439c7c99
multi_asset: true
name: First Custom Action
timeout: 7
updated_at: '2024-08-23T14:39:29.125812Z'
url: https://example.com/custom-action
workspace_id: 38c216b1-baaf-4505-ba38-14e3f1e9b09b
links:
next: /v4/accounts/123/workspaces/123/actions
total_count: 1
properties:
data:
description: Actions
items:
$ref: '#/components/schemas/ActionWithIncludes'
type: array
links:
$ref: '#/components/schemas/Links'
total_count:
description: Total count
nullable: true
type: integer
required:
- data
- links
title: ActionsWithIncludesResponse
type: object
IncludeTotalCount:
default: false
description: Page query param to include the count of all entities
example: false
title: IncludeTotalCount
type: boolean
TooManyRequests:
example:
errors:
- detail: Too many requests
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: TooManyRequests
type: object
NoContent:
description: Response schema for generic no content response.
example: ''
title: NoContent
type: string
RequestAfterOpaqueCursor:
description: 'Opaque Cursor query param for requests returning paginated results.
NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
'
example:
nullable: true
title: RequestAfterOpaqueCursor
type: string
ActionCreateParams:
additionalProperties: false
description: Custom Action creation parameters
example:
data:
description: customizing our workflow
event: my.event
name: First Custom Action
timeout: 7
url: https://example.com/custom-action
properties:
data:
additionalProperties: false
properties:
description:
description: Action description
maxLength: 255
minLength: 1
type: string
event:
description: Event name sent to `url`
maxLength: 255
minLength: 1
type: string
multi_asset:
default: true
description: Manages action trigger on multiple assets
type: boolean
name:
description: Action name
maxLength: 255
minLength: 1
type: string
timeout:
description: Timeout for the action requests in seconds
maximum: 10
minimum: 5
type: integer
url:
description: URL where `event` is sent
maxLength: 2000
minLength: 1
type: string
required:
- name
- description
- event
- url
type: object
required:
- data
title: ActionCreateParams
type: object
ActionResponse:
description: Action details
example:
data:
active: true
created_at: '2024-08-23T14:39:29.125812Z'
creator_id: 820ef414-53f6-49f5-8687-863166c9eb53
deleted_at: null
description: customizing our workflow
event: my.event
id: d85fbb59-fa9d-4973-8ee8-577f439c7c99
multi_asset: true
name: First Custom Action
timeout: 7
updated_at: '2024-08-23T14:39:29.125812Z'
url: https://example.com/custom-action
workspace_id: 38c216b1-baaf-4505-ba38-14e3f1e9b09b
properties:
data:
$ref: '#/components/schemas/Action'
required:
- data
title: ActionResponse
type: object
Links:
additionalProperties: false
description: Links to paginated data
example:
next: /v4/accounts/1234/workspaces/5678/projects?after=g3QAAAACZAACaWRtAAAAJGFiMmNiY2QzLWFkODQtNDQwMC05YTRkLWE1ZDRkMGE4ZTIxM2QABG5hbWVtAAAACVByb2plY3QgMg==
properties:
next:
description: '"Link to next page of data.
This link is the request path with the addition of the `after` query parameter to fetch the next page of results.
Optional query parameters `page_size` and `include_total_count` are supported when paginating data."
'
nullable: true
type: string
required:
- next
title: Links
type: object
UUID:
description: A UUID string that uniquely identifies a Frame.io entity.
example: b2702c44-c6da-4bb6-8bbd-be6e547ccf1b
format: uuid
title: UUID
type: string
FrameOrAdobeId:
description: A Frame.io or Adobe entity identifier. Typically a Frame.io UUID. But for accounts, projects, folders, files, and version stacks that reside in Adobe cloud storage, which is the case for Workfront-connected accounts and projects, an Adobe-assigned id may also be used interchangeably. These ids must be prefixed with `adobe:` (e.g. `adobe:` for an account, `adobe:` for a project or folder, `adobe:`adobe:|` for a file asset).
example: b2702c44-c6da-4bb6-8bbd-be6e547ccf1b
title: FrameOrAdobeId
type: string
Conflict:
example:
errors:
- detail: Conflict
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: Conflict
type: object
Action:
example:
active: true
created_at: '2024-08-23T14:39:29.125812Z'
creator_id: 820ef414-53f6-49f5-8687-863166c9eb53
deleted_at: null
description: customizing our workflow
event: my.event
id: d85fbb59-fa9d-4973-8ee8-577f439c7c99
multi_asset: true
name: First Custom Action
timeout: 7
updated_at: '2024-08-23T14:39:29.125812Z'
url: https://example.com/custom-action
workspace_id: 38c216b1-baaf-4505-ba38-14e3f1e9b09b
properties:
active:
description: Active Status
type: boolean
created_at:
format: date-time
type: string
creator_id:
description: Creator ID
format: uuid
type: string
deleted_at:
format: date-time
nullable: true
type: string
description:
description: Action Description
type: string
event:
description: Event Name
type: string
id:
description: Action ID
format: uuid
type: string
multi_asset:
description: Manages action trigger on multiple assets
type: boolean
name:
description: Action Name
type: string
timeout:
description: Timeout for the action requests in seconds
maximum: 10
minimum: 5
type: integer
updated_at:
format: date-time
type: string
url:
description: Action URL
maxLength: 2000
minLength: 1
type: string
workspace_id:
description: Workspace ID
format: uuid
type: string
required:
- id
- name
- description
- url
- event
- workspace_id
- creator_id
- active
- created_at
- updated_at
- deleted_at
title: Action
type: object
User:
description: User details
example:
active: true
avatar_url: https://assets.frame.io/uploads/cd58cb8e-24b3-4448-8d0f-9532fcd04d11/original.png?response-content-disposition=attachment%3B+filename%3D%22foo.png&Expires=1729857600&Signature=L09h0pi82dCrMYjr9lMHBragByWYh1&Key-Pair-Id=KKI497NESTHMN
email: user_email@example.com
id: 196C1A5666BF4EB00A49411B@176719f5667c82b4494214.e
name: Jon Doe
properties:
active:
description: User active status
nullable: true
type: boolean
adobe_user_id:
description: Adobe user ID
nullable: true
type: string
avatar_url:
description: User avatar image url
nullable: true
type: string
email:
description: User email
type: string
id:
description: User ID - can be null for invited users with no frame account
nullable: true
type: string
name:
description: User name
nullable: true
type: string
required:
- id
- name
- email
- avatar_url
- active
title: User
type: object
ActionWithIncludesResponse:
description: Frame.io action details
example:
data:
active: true
created_at: '2024-08-23T14:39:29.125812Z'
creator:
active: true
avatar_url: https://assets.frame.io/uploads/cd58cb8e-24b3-4448-8d0f-9532fcd04d11/original.png?response-content-disposition=attachment%3B+filename%3D%22foo.png&Expires=1729857600&Signature=L09h0pi82dCrMYjr9lMHBragByWYh1&Key-Pair-Id=KKI497NESTHMN
email: user_email@example.com
id: 196C1A5666BF4EB00A49411B@176719f5667c82b4494214.e
name: Jon Doe
creator_id: 820ef414-53f6-49f5-8687-863166c9eb53
deleted_at: null
description: customizing our workflow
event: my.event
id: d85fbb59-fa9d-4973-8ee8-577f439c7c99
multi_asset: true
name: First Custom Action
timeout: 7
updated_at: '2024-08-23T14:39:29.125812Z'
url: https://example.com/custom-action
workspace_id: 38c216b1-baaf-4505-ba38-14e3f1e9b09b
properties:
data:
$ref: '#/components/schemas/ActionWithIncludes'
required:
- data
title: ActionWithIncludesResponse
type: object
ActionCreateResponse:
additionalProperties: false
description: Returns a single custom action with secret.
example:
data:
active: true
created_at: '2024-08-23T14:39:29.125812Z'
creator_id: 820ef414-53f6-49f5-8687-863166c9eb53
deleted_at: null
description: customizing our workflow
event: my.event
id: d85fbb59-fa9d-4973-8ee8-577f439c7c99
multi_asset: true
name: First Custom Action
secret:
timeout: 7
updated_at: '2024-08-23T14:39:29.125812Z'
url: https://example.com/custom-action
workspace_id: 38c216b1-baaf-4505-ba38-14e3f1e9b09b
properties:
data:
allOf:
- $ref: '#/components/schemas/Action'
- properties:
secret:
description: Secret used to validate underlying webhook requests. Make sure to store your secret. You won't be able to see it again!
type: string
required:
- secret
type: object
required:
- data
title: ActionCreateResponse
type: object
Forbidden:
example:
errors:
- detail: Forbidden
properties:
errors:
items:
additionalProperties: false
properties:
detail:
type: string
source:
properties:
pointer:
type: string
type: object
title:
type: string
required:
- detail
type: object
type: array
required:
- errors
title: Forbidden
type: object
securitySchemes:
OAuth2:
description: 'For more information, see: https://developer.adobe.com/frameio'
flows:
authorizationCode:
authorizationUrl: https://ims-na1.adobelogin.com/ims/authorize/v2
refreshUrl: https://ims-na1.adobelogin.com/ims/token/v3
scopes:
additional_info.roles: Adobe Commerce Admin
offline_access: Maintain access to the data the user had consented to for refresh tokens
openid: Sign in a user
profile: Read the user's basic information
tokenUrl: https://ims-na1.adobelogin.com/ims/token/v3
type: oauth2
bearer:
description: 'For more information, see: https://developer.adobe.com/frameio'
flows:
authorizationCode:
authorizationUrl: https://ims-na1.adobelogin.com/ims/authorize/v2
refreshUrl: https://ims-na1.adobelogin.com/ims/token/v3
scopes:
additional_info.roles: Adobe Commerce Admin
offline_access: Maintain access to the data the user had consented to for refresh tokens
openid: Sign in a user
profile: Read the user's basic information
tokenUrl: https://ims-na1.adobelogin.com/ims/token/v3
type: oauth2
s2s_auth:
description: Server to server authentication flow
flows:
clientCredentials:
scopes:
AdobeID: Adobe ID
frame.s2s.all: Frame.io Server to Server access
openid: Sign in a user
tokenUrl: https://ims-na1.adobelogin.com/ims/token/v3
type: oauth2
x-tagGroups:
- name: Accounts, Users and Permissions
tags:
- Accounts
- Users
- Account Permissions
- Workspace Permissions
- Project Permissions
- Folder Permissions
- Groups
- name: Workspace Management
tags:
- Projects
- Workspaces
- Shares
- name: Assets
tags:
- Files
- Folders
- Version Stacks
- name: Comments
tags:
- Comments
- name: Collections
tags:
- Collections
- name: Metadata
tags:
- Metadata Fields
- Metadata
- name: Integrations
tags:
- Webhooks
- Custom Actions