Frame.io Accounts API

Manage Accounts and related operations.

OpenAPI Specification

frameio-accounts-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 Accounts API
  version: v4.0
servers:
- url: https://api.frame.io
  variables: {}
security:
- OAuth2: []
- bearer: []
tags:
- description: Manage Accounts and related operations.
  name: Accounts
paths:
  /v4/accounts:
    get:
      callbacks: {}
      description: 'List accounts for the current user. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user'
      operationId: accounts.index
      parameters:
      - description: Sort accounts by query params
        in: query
        name: sort
        required: false
        schema:
          description: Sort by query parameter for accounts
          enum:
          - display_name_asc
          - created_at_asc
          - display_name_desc
          - created_at_desc
          example: display_name_asc
          title: AccountSort
          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/AccountsResponse'
          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 accounts
      tags:
      - Accounts
  /v4/accounts/{account_id}/audit_logs:
    get:
      callbacks: {}
      description: 'List audit logs with filtering capabilities via query params. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user'
      operationId: auditlog.index
      parameters:
      - description: ''
        in: header
        name: api-version
        required: true
        schema:
          enum:
          - '4.0'
          type: string
      - description: ''
        example: 140abdd7-ee78-49d0-b126-8471a1e42400
        in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/FrameOrAdobeId'
      - description: ''
        in: query
        name: include
        required: false
        schema:
          description: Include query parameter for audit logs
          enum:
          - user
          example: user
          title: AuditLogsInclude
          type: string
      - description: ''
        example: filters[to_date]=2025-08-25&filters[from_date]=2025-07-25
        in: query
        name: filters
        required: false
        schema:
          $ref: '#/components/schemas/Filters'
      - 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/AuditLogsWithIncludesResponse'
          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 audit logs
      tags:
      - Accounts
components:
  schemas:
    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
    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
    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
    RequestAfterOpaqueCursor:
      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.

        '
      example: <opaque_cursor>
      nullable: true
      title: RequestAfterOpaqueCursor
      type: string
    Filters:
      additionalProperties: false
      description: Audit logs search filter parameters
      properties:
        event_type:
          description: Filter by event type
          enum:
          - access_request_approved
          - access_request_denied
          - access_request_submitted
          - account_aup_migration_created
          - account_aup_migration_deleted
          - account_aup_migration_downgrade_completed
          - account_aup_migration_downgrade_failed
          - account_aup_migration_downgrade_requested
          - account_aup_migration_product_migrated
          - account_aup_migration_started
          - account_aup_migration_updated
          - account_aup_user_migration_completed
          - account_aup_user_migration_created
          - account_aup_user_migration_deleted
          - account_aup_user_migration_failed
          - account_aup_user_migration_on_hold
          - account_aup_user_migration_started
          - account_aup_user_migration_unheld
          - account_aup_user_migration_updated
          - account_delinquent
          - account_field_created
          - account_field_deleted
          - account_field_updated
          - account_fio_version_migrated
          - account_locked
          - account_member_created
          - account_member_deleted
          - account_member_updated
          - account_mfa_enforced
          - account_ownership_transferred
          - account_permissions_granted_to_user
          - account_restored
          - account_updated
          - account_user_deleted
          - account_user_group_created
          - account_user_group_deleted
          - account_user_group_members_added
          - account_user_group_members_removed
          - account_user_group_sync_triggered
          - account_user_group_updated
          - account_user_updated
          - action_created
          - action_deleted
          - action_updated
          - admin_update_to_v4
          - allowed_domain_created
          - allowed_domain_deleted
          - anonymous_user_created
          - asset_assignee_changed
          - asset_copied
          - asset_created
          - asset_deleted
          - asset_metadata_created
          - asset_moved
          - asset_restored
          - asset_status_changed
          - asset_updated
          - asset_versioned
          - assets_unversioned
          - bulk_account_deletion_started
          - bulk_assets_deleted
          - bulk_assets_restored
          - bulk_assets_retranscoded
          - bulk_emails_updated
          - bulk_projects_activated
          - bulk_projects_deactivated
          - bulk_projects_mounted_storage_status_updated
          - bulk_users_removed
          - collaborator_added
          - collaborator_deleted
          - collection_updated
          - comment_completed
          - comment_created
          - comment_deleted
          - comment_liked
          - comment_uncompleted
          - comment_updated
          - controlled_domain_created
          - controlled_domain_updated
          - email_address_change_failure
          - email_address_changed
          - email_change_confirmation_requested
          - email_confirmed
          - file_uploaded
          - google_auth_disabled
          - google_auth_enabled
          - high_risk_sign_up
          - join_presentation_request_approved
          - join_project_request_approved
          - join_request_accepted
          - join_request_created
          - join_request_declined
          - join_request_deleted
          - join_request_reset
          - join_review_link_request_approved
          - join_team_request_approved
          - label_updated
          - labs_experiment_enrolled
          - labs_experiment_unenrolled
          - labs_terms_accepted
          - login_factor_created
          - login_factor_validated
          - media_created
          - media_deleted
          - metadata_value_updated
          - new_device_login
          - new_user_email_confirmation_requested
          - oauth_app_created
          - oauth_app_deleted
          - oauth_app_disabled
          - oauth_app_enabled
          - oauth_app_updated
          - password_changed
          - password_reset_requested
          - pending_account_member_created
          - pending_account_member_deleted
          - pending_collaborator_created
          - pending_collaborator_deleted
          - pending_reviewer_created
          - pending_reviewer_deleted
          - pending_team_member_created
          - pending_team_member_deleted
          - plan_created
          - plan_deleted
          - plan_updated
          - preference_updated
          - presentation_created
          - presentation_deleted
          - presentation_updated
          - project_activated
          - project_archive_completed
          - project_archived
          - project_created
          - project_deactivated
          - project_deleted
          - project_field_created
          - project_field_deleted
          - project_field_updated
          - project_invite_link_created
          - project_invite_link_revoked
          - project_moved
          - project_permissions_granted_to_account_user_group
          - project_permissions_granted_to_user
          - project_restored
          - project_unarchive_completed
          - project_unarchived
          - project_updated
          - push_tokens_added
          - push_tokens_deleted
          - resource_control_policies_updated
          - resource_invite_sent
          - review_link_assets_added
          - review_link_assets_deleted
          - review_link_created
          - review_link_deleted
          - review_link_emailed
          - review_link_updated
          - reviewer_created
          - reviewer_deleted
          - role_added
          - role_removed
          - sbwm_template_created
          - sbwm_template_deleted
          - sbwm_template_updated
          - session_refreshed
          - session_revoked
          - share_activity_tracking_consent_changed
          - share_branding_preset_updated
          - share_created
          - share_deleted
          - share_invites_sent
          - share_list_created
          - share_list_deleted
          - share_list_updated
          - share_reviewers_added
          - share_reviewers_removed
          - share_updated
          - share_viewed
          - subscription_cancelled
          - subscription_card_updated
          - subscription_created
          - subscription_line_item_created
          - subscription_line_item_deleted
          - subscription_restored
          - subscription_updated
          - team_created
          - team_creator_updated
          - team_deleted
          - team_lifecycle_policy_updated
          - team_member_created
          - team_member_deleted
          - team_member_reset
          - team_member_updated
          - team_updated
          - transcript_completed_self
          - transcript_diarization_consent_changed
          - transfer_batch_completed
          - user_anonymized
          - user_deactivated
          - user_login
          - user_login_attempt
          - user_logout
          - user_mfa_enforced
          - user_reactivated
          - user_signup
          - user_token_created
          - user_token_deleted
          - user_token_disabled
          - user_token_enabled
          - user_token_updated
          - user_updated
          - v4_migration_role_override_changed
          - v4_planned_migration_creation_failed
          - v4_planned_migration_date_updated
          - webhook_created
          - webhook_deleted
          - webhook_updated
          - workfront_asset_approval_status_updated
          - workspace_permissions_granted_to_account_user_group
          - workspace_permissions_granted_to_user
          type: string
        from_date:
          description: 'Start date for search, Format: ISO8601 extended [YYYY-MM-DD]'
          format: date
          type: string
        ip_address:
          description: Filter by IP address. This supports both IPv4 (1.1.1.1) and IPv6 (2001:db8:3333:4444:5555:6666:7777:8888)
          example: 168.192.0.1
          type: string
        project_id:
          description: Filter by Project ID (UUID)
          format: uuid
          type: string
        resource_id:
          description: Filter by Resource ID (UUID)
          format: uuid
          type: string
        resource_type:
          description: Filter by resource type
          enum:
          - account
          - account_field_definition
          - account_member
          - account_user_group
          - account_v4_migration_eligibility
          - action
          - allowed_domain
          - anonymous_user
          - asset
          - asset_metadata
          - collaborator
          - collection
          - comment
          - comment_impression
          - controlled_domain
          - folder
          - join_request
          - labs_experiment
          - login_factor
          - media
          - oauth_app
          - pending_account_member
          - pending_collaborator
          - pending_reviewer
          - pending_team_member
          - plan
          - presentation
          - project
          - project_field_definition
          - project_invite_link
          - project_preference
          - reset_token
          - review_link
          - reviewer
          - sbwm_template
          - share
          - share_list
          - subscription
          - subscription_line_item
          - team
   

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