Create C2C asset

Asset upload initiation specifically for C2C devices and applications.

Note: This endpoint used to be /v2/assets, and while that endpoint will continue to function as normal, we suggest you use this one instead.

SecurityC2CDeviceAuth or C2COAuth2
Request
header Parameters
x-client-version
string
Default: 0.0.0

Firmware or software version of a C2C integration. Will be used to determine the correct Device Model configuration for the device when multiple are available. Must be a valid semantic version.

For more on semantic versions, see here: https://semver.org/

Example: 2.16.4
Request Body schema:

While supported, we encourage you to switch from application/x-ww-form-urlencoded to application/json in order to support future workflows that will only be supported through JSON.

When is_realtime_upload is true, call must be made in application/json.

name
string
Default: ""

The name the asset should have in Frame.io. This value does not have to match the name of the file on disk; it can be whatever you want it to be in Frame.io.

Required if is_realtime_upload is false.

If is_realtime_upload is true, must containa valid extension in the form of ".[ext]", unless extension is provided, in which case this field may be null or omitted.

extension
string\..+
Default: null

Required when is_realtime_upload is true, when name is not known at time of asset creation. If name is provided, must match extension of that value.

Ignored when is_realtime_upload is false.

When supplied, asset will be creted with name value of "[new file].extension".

filetype
string

MIME type like video/quicktime. Many languages have built in utilities for detecting file mimetype (see Go and Python for examples).

Required if is_realtime_upload is true.

auto_version_id
string <uuid>

The asset you'd like this to be the next version of

is_realtime_upload
boolean
Default: false

If true, File data for this asset is to be uploaded through the Real-time Uploads API.

If false, File data for this asset will be uploaded through the default API.

Must be false if filetype is not file.

string or integer
string or integer
string or integer
string or integer
Responses
200

Asset create success response.

When is_realtime_asset was set to true in the request, a simplified payload will be returned.

Response Headers
x-ratelimit-limit
number

The number of times you can make this call within the x-ratelimit-window

x-ratelimit-window
string

The length in milliseconds of the rate limit window

x-ratelimit-remaining
string

The number of remaining times you can make this API call in the x-ratelimit-window

Response Schema: application/json
One of:
account_id
string <uuid>

Account ID this asset belongs to

archive_from
string or null <date-time>
archive_scheduled_at
string or null <date-time>
archive_status
string or null
archived_at
string or null <date-time>
asset_type
string
Enum: "document" "image" "stream"
bundle
boolean
Deprecated
bundle_view
string
Deprecated
cover_asset_id
string <uuid>
object (User)

User model

frames
integer

The number of frames in this asset (really only useful for videos)

hard_deleted_at
string or null <date-time>

Indicates the datetime this asset was hard deleted (30 days after soft-deletion)

id
string <uuid>

The ID for this asset, can be used in places like https://app.frame.io/player/:id to go directly to an asset

index
number <float>

Represented within the Frame.io UI as the "custom sort order" within the grid view

is_bundle_child
boolean
Deprecated

Indicates whether an asset is the child of a bundle asset

is_hls_required
boolean

Indicates whether HLS is required to playback this asset

is_session_watermarked
boolean

Indicates if this asset is subject to Session Based Watermarking (WMID)

item_count
integer

Applies only to folders and version stacks, indicates the number of items in that container

string

Status of the given Asset

metadata
object
object (MetadataFlags)
name
string

Represents the name of the asset (filename)

original
string

This is a URL to download the original asset, or in the event it's subject to watermarking but you still have permission to download - an asset that will be watermarked just-in-time as you download it

parent_asset_id
string <uuid>

The folder that this asset is in

project_id
string <uuid>

The project ID that this asset belongs to

object

Accepts arbitrary key/value pairs for storing information on an asset

object (RequiredTranscodes)
team_id
string <uuid>
object (UserPermissions)
type
string
Enum: "file" "folder" "version_stack" "bundle"
view_count
integer

Not a very helpful number, this really just represents the number of times this asset has been requested via the API

400

Bad Request

401

Unauthorized response

404

Not Found response

409

Conflict

429

Standard frame.io API error response.

post/v2/devices/assets
Request samples
{
  • "name": "my_video.mp4",
  • "filetype": "video/mp4",
  • "is_realtime_upload": true,
  • "channel": 0,
  • "offset": -10
}
Response samples
application/json
{
  • "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
  • "archive_from": "2019-08-24T14:15:22Z",
  • "archive_scheduled_at": "2019-08-24T14:15:22Z",
  • "archive_status": "string",
  • "archived_at": "2019-08-24T14:15:22Z",
  • "asset_type": "document",
  • "bundle": true,
  • "bundle_view": "string",
  • "cover_asset_id": "6bd8f503-67d9-4b55-b7c3-e1b6bef82750",
  • "creator": {
    },
  • "frames": 0,
  • "hard_deleted_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "index": 0,
  • "is_bundle_child": true,
  • "is_hls_required": true,
  • "is_session_watermarked": true,
  • "item_count": 0,
  • "label": "approved",
  • "metadata": { },
  • "metadata_flags": {
    },
  • "name": "string",
  • "original": "string",
  • "parent_asset_id": "a7612734-1419-43cf-9bc9-c7901ea79e60",
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "properties": {
    },
  • "required_transcodes": {
    },
  • "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  • "user_permissions": {
    },
  • "type": "file",
  • "view_count": 0
}