For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Developer Tools
CommunityContact UsConsole
HomeDocsAPI Reference
HomeDocsAPI Reference
  • API Reference
    • GETDevice Information
    • POSTHeartbeat ping
    • POSTCreate C2C asset
    • POSTCreate C2C asset
    • POSTRequest upload URLs for real-time upload
    • POSTCreate a Comment from a C2C device
      • POSTRequest device code
      • POSTDevice Token Exchange
      • POSTRevoke Device Authorization

© 2026 Adobe Inc. All rights reserved.

TermsPrivacyDo not sell or share my personal information
Developer-friendly docs for your API
Logo
Developer Tools
CommunityContact UsConsole
API ReferenceAuthentication

Device Token Exchange

POST
https://api.frame.io/v2/auth/token
POST
/v2/auth/token
1import requests
2
3data = {
4 'grant_type': 'urn:ietf:params:oauth:grant-type:device_code',
5 'device_code': 'YOUR_DEVICE_CODE_FROM_STEP_1',
6 'client_id': 'YOUR_CLIENT_ID',
7 'client_secret': 'YOUR_CLIENT_SECRET'
8}
9
10response = requests.post(
11 'https://api.frame.io/v2/auth/token',
12 data=data
13)
14
15result = response.json()
16print(result)
200Successful
1{
2 "access_token": "[access_token]",
3 "expires_in": 28800,
4 "refresh_token": "[refresh_token]",
5 "token_type": "bearer"
6}

OAuth 2.0 token endpoint for device authorization. Supports multiple grant types: polling for device authorization (device_code) and refreshing tokens (refresh_token).

Was this page helpful?
Previous

Revoke Device Authorization

Next

Request

client_idstringRequired
Must be a unique identifier per hardware device, such as a unique hardware serial number. Must be the same as the client id used on initial authorization.
client_secretstringRequired

A static string, provided by Frame.io to be embedded for a device manufacturer/model. Acts as an identifier within Frame.io.

grant_typeenumRequired

Grant type - use ‘urn:ietf:params:oauth:grant-type:device_code’ for polling, or ‘refresh_token’ for refreshing an access token

Allowed values:
device_codestringOptional

The device code received from the /v2/auth/device/code endpoint. Required when grant_type is ‘urn:ietf:params:oauth:grant-type:device_code’.

refresh_tokenstringOptional

A valid refresh_token from a previous authorization. Refresh tokens are valid for 14 days from issuance. Required when grant_type is ‘refresh_token’.

Response

OK