Live Demo

Step 1

Get API Keys from user:

User's API Key is located in Account Settings > Integrations > User API Key

  • Used to post videos to a user's account

Organization's guest user API Key is located in Account Settings Integrations > Organization API Key

  • Used to post videos to an organization's account as a guest

Step 2

Get one-time upload token using your API Key:

Note: Do this server-side so that the API key isn't transmitted in the HTML.

Operation: POST


Content-Type: application/x-www-form-urlencoded

POST Values:

api_key: api key from step 1

video_endpoint: #{{YOUR ENDPOINT URL}}

  • The URL where a POST will be made when a video is uploaded using the one-time token.

video_endpoint_extras: Array ( [extra key 1] => extra value 1 [extra key 2] => extra value 2 )

  • An array of extra data that will be returned to your video endpoint.

video_set_public (optional): boolean or null

  • When set to true, a video uploaded will automatically be viewable by anyone with a link. If set to false, a user must be logged in to your ilos account to view the video. If not set, your user/organization defaults will be used.

collection (optional): String (collection randtag)

  • If collection is set to a valid collection on your account, recorded videos will be placed into this collection automatically.

Results (JSON):

worked: boolean

fail_reason: string

video_endpoint: string

video_endpoint_extras: array

video_set_public: boolean

token: string

uploadIframe: string

uploadIframeBasic: string

expires: string

Step 3

Store results:

Store the token that was generated and returned in the JSON response. When a video is uploaded using this token, a JSON POST will be made to the video_endpoint specified with data about the video. The "expires" value returned is the UNIX timestamp (UTC) for when the temporary token will expire.

Step 4

Display a file uploader for the user:

Method 1: Use uploadIframe. This is an iframe with the src being a page on

Method 2: Use uploadIframeBasic. This is an iframe with a more classic, simple uploader.

Step 5

Wait for a POST on your video endpoint:

After a video has been recorded using the one-time token, the following data will be sent via a POST with JSON:

token: Token the video was uploaded to (the one-time token returned in Step 2)

randtag: Video's unique ID

videoURL: URL to view the video on

embedURL: URL that an iframe would use as SRC

iframe: iframe containing the embedded video

video_endpoint_extras: Any extra key/values sent in Step 2,

Note: You can view logs for POSTs to your video endpoint under Account Settings Integrations > API Log.

Did this answer your question?