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
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
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/sharedGET /v2/accounts/{account_id}/membership
2. Files & Folders
POST /v2/assets/{destination_folder}/movePOST /v2/assets/{destination_folder}/copyDELETE /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