Frame.io Legacy API to V4 Migration Guide
Introduction
The Frame.io V4 API is a complete redesign of the Legacy API, often referred to as V2 endpoints or Frame.io V3 API. The redesign takes full advantage of the new capabilities and features of Frame V4 and is not backward compatible. This guide outlines the key differences between the Legacy and V4 APIs and provides step-by-step guidance to help you migrate smoothly.
Key Differences
The V4 APIs are managed through the Adobe Developer Console, whereas the Legacy API was managed in the Frame.io developer site.
Assets → Folders & Files: Distinct endpoints for files and folders in V4, unlike unified asset endpoints in Legacy.
The V4 API exclusively uses OAuth2.0 (authorization_code
grant type). The Legacy API which allowed for JWT auth and Developer Tokens are no longer supported.
Some specialized legacy calls are not yet supported in V4.
Review and Presentation links → Share links: Review and presentation links have been consolidated into a single “share link” in V4 with support for different custom branding options.
Teams → Workspaces: “Team” endpoints in the Legacy API have been replaced by “Workspace” endpoints in V4.
Migration Checklist
Audit Existing API Calls
Audit existing Legacy API calls. Compare existing calls to the tables below. If an endpoint you use is not in this list, it does not yet exist in V4—please submit your feedback via this form.
Implement OAuth2.0
Implement OAuth2.0 via the Adobe developer console. Legacy Frame.io developer tokens and existing OAuth apps managed via developer.frame.io will not work on V4 accounts.
Refactor Code
Refactor your code. Use the new V4 API routes and JSON payloads (e.g., files/folders vs. assets).
Test Thoroughly
Test thoroughly. Test with a V4 account, focusing on uploads, comments, and webhooks.
This list is not exhaustive of the direct correlation of Legacy APIs to the V4 APIs and will be updated regularly as new endpoints are released, potentially via Experimental version. If there is an endpoint that is not listed here that you have questions about, please reach out to our support team for more at support@frame.io.
Authentication
Choose Authentication Type
Authenticate. See the Authentication Guide for more information.
- User authentication: Connects to Frame using a Client ID and/or Client Secret, and requires a user to login with their username and password.
- Server to server authentication: Connects to Frame using Client ID and Client Secret, but does not require a user in the loop to login via a browser.
Endpoint Mappings (Legacy API to V4)
The table below only includes Legacy API endpoints that do have a V4 equivalent. If you don’t see your Legacy API call here, it’s likely deprecated with no direct migration path.
1. Accounts & User Info
2. Workspaces (Replaced Team Endpoints)
3. Projects
4. Folders
5. Files
6. Comments
Initial support for Commenting endpoints has been released. There are several additional capabilities that will be released soon. Support for coming soon capabilities includes:
Coming Soon Features:
- Range-based comments
- Leaving comment replies
- Comment attachments
- Comment reactions, i.e. emojis
- Viewing or modifying comment completion status
- Hyperlinks or @mentions (comment entities)
- Seeing who has viewed a comment (impressions)
The “timestamp” field represents the framestamp the comment is left on (starting from 1), not the timestamp
7. Shares (Review Links / Presentations)
In Frame V4 share links are no longer split between review and presentation links. In V4 the same link can now be configured with different styling to match the review or presentation experience.
8. Webhooks
Given the many changes to resources in Frame.io V4, and the experimental state of Webhooks for V4, the number of supported “events” that you trigger Webhooks off of is very different.
9. Custom Actions
Migration Steps
Create Adobe Project
Create a new Project in Adobe Developer Console, choose your user authentication type, & implement OAuth support in your app.
Update JSON Payloads
Update JSON payloads of request/response schemas to ensure you’re producing and consuming the correct fields.
Update Terminology
Update terminology: “teams” → “workspaces”; “assets” → “files/folders”; “review links” or “presentation links” → “shares” in your code and your front-end.
Test Endpoints
Test all newly updated endpoints. If you see 403, 404, 422, confirm endpoints, request payload shape, etc.
Error Handling & Common Issues
- 400 Bad Request: Check payload accuracy.
- 401 Unauthorized: Refresh or re-authenticate OAuth tokens.
- 403 Forbidden: Missing scope or user lacks access.
- 404 Not Found: Confirm endpoint, API version, or IDs.
- 422 Unprocessable Entity: Validate request data
- 429 Rate limited: Implement retry with backoff.
- 500 server error: Retry after a brief delay.
Legacy API endpoints currently unavailable in V4 API:
The following Legacy API endpoints are currently unavailable in V4 API:
1. Accounts & User Info
GET /v2/accounts/{account_id}
GET /v2/projects/shared
GET /v2/accounts/{account_id}/membership
2. Files & Folders
POST /v2/assets/{destination_folder}/move
POST /v2/assets/{destination_folder}/copy
DELETE /v2/assets/{asset_id}/unversion
3. Teams / Workspaces
GET /v2/teams/{team_id}/membership
4. Comments
GET /v2/comments/{comment_id}/impressions
5. Shares
GET /v2/review_links/{link_id}
6. Webhooks
GET /v2/accounts/{account_id}/webhooks
7. Custom Actions
GET /v2/accounts/{account_id}/actions