Video — entry 035 of 37

Vimeo

Verified Jul 2026

Vimeo's API provides programmatic access to video upload, metadata, playback, and account management for Vimeo-hosted content, aimed more at professional/business video hosting than public social discovery. It requires OAuth2 for essentially all endpoints, and while API access is free at any account tier, upload/storage/feature limits scale with the user's paid Vimeo plan.

video-hostingoauthstreamingcreator-tools
AuthenticationOAuthRequires an OAuth flow; expect app registration.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication8/25OAuth flow required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/vimeo/"><img src="https://greatapis.com/badge/vimeo.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. Register an app / run the OAuth flow to obtain a bearer token.
  2. Send it as an Authorization headerAuthorization: Bearer <token>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.vimeo.com
Auth
oauth2
API Information1
GET/Get an API specification
Parameters
NameInRequiredType
openapiquerynoboolean
Responses
StatusDescriptionSchema
200Standard request.endpoint
Albums\Album videos12
GET/me/albums/{album_id}/videosGet all the videos in an album
Parameters
NameInRequiredType
album_idpathyesnumber
containing_uriquerynostring
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
passwordquerynostring
per_pagequerynonumber
queryquerynostring
sortquerynostring
weak_searchquerynoboolean
Responses
StatusDescriptionSchema
200The videos were returned.
404No such album exists.legacy-error
PUT/me/albums/{album_id}/videosReplace all the videos in an album
Parameters
NameInRequiredType
album_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
201The videos were added.
403The authenticated user can't add videos to albums.legacy-error
404No such album exists.legacy-error
GET/me/albums/{album_id}/videos/{video_id}Get a specific video in an album
Parameters
NameInRequiredType
album_idpathyesnumber
video_idpathyesnumber
passwordquerynostring
Responses
StatusDescriptionSchema
200The video was returned.video
404No such album exists, or the video wasn't found in it.legacy-error
PUT/me/albums/{album_id}/videos/{video_id}Add a specific video to an album
Parameters
NameInRequiredType
album_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
403The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album.legacy-error
404No such album exists.legacy-error
DELETE/me/albums/{album_id}/videos/{video_id}Remove a video from an album
Parameters
NameInRequiredType
album_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was removed.
403The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album.legacy-error
404No such album exists.legacy-error
POST/me/albums/{album_id}/videos/{video_id}/set_album_thumbnailSet a video as the album thumbnail
Parameters
NameInRequiredType
album_idpathyesnumber
video_idpathyesnumber
Request body

application/json

Responses
StatusDescriptionSchema
200The album was updated with a new thumbnail.album
403Error code 3429: The authenticated user can't edit the album.error
404Error code 5000: No such album, or user, or video exists.error
500Error code 4016: Unexpected error while setting thumbnail.error
GET/users/{user_id}/albums/{album_id}/videosGet all the videos in an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
containing_uriquerynostring
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
passwordquerynostring
per_pagequerynonumber
queryquerynostring
sortquerynostring
weak_searchquerynoboolean
Responses
StatusDescriptionSchema
200The videos were returned.
404No such album exists.legacy-error
PUT/users/{user_id}/albums/{album_id}/videosReplace all the videos in an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
201The videos were added.
403The authenticated user can't add videos to albums.legacy-error
404No such album exists.legacy-error
GET/users/{user_id}/albums/{album_id}/videos/{video_id}Get a specific video in an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
passwordquerynostring
Responses
StatusDescriptionSchema
200The video was returned.video
404No such album exists, or the video wasn't found in it.legacy-error
PUT/users/{user_id}/albums/{album_id}/videos/{video_id}Add a specific video to an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
403The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album.legacy-error
404No such album exists.legacy-error
DELETE/users/{user_id}/albums/{album_id}/videos/{video_id}Remove a video from an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was removed.
403The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album.legacy-error
404No such album exists.legacy-error
POST/users/{user_id}/albums/{album_id}/videos/{video_id}/set_album_thumbnailSet a video as the album thumbnail
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Request body

application/json

Responses
StatusDescriptionSchema
200The album was updated with a new thumbnail.album
403Error code 3429: The authenticated user can't edit the album.error
404Error code 5000: No such album, or user, or video exists.error
500Error code 4016: Unexpected error while setting thumbnail.error
Albums\Custom album logos5
GET/users/{user_id}/albums/{album_id}/logosGet all the custom logos of an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The custom logos were returned.
404No such album exists.legacy-error
POST/users/{user_id}/albums/{album_id}/logosAdd a custom album logo
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
201The logo was added to the album.picture
403The authenticated user can't modify this album.legacy-error
404No such album exists.legacy-error
GET/users/{user_id}/albums/{album_id}/logos/{logo_id}Get a specific custom album logo
Parameters
NameInRequiredType
album_idpathyesnumber
logo_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The custom logo was returned.picture
403The authenticated user can't view this custom logo.legacy-error
404No such album exists, or it doesn't contain the specified custom logo.legacy-error
PATCH/users/{user_id}/albums/{album_id}/logos/{logo_id}Replace a custom album logo
Parameters
NameInRequiredType
album_idpathyesnumber
logo_idpathyesnumber
user_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The custom logo was replaced.picture
403The authenticated user can't modify this album.legacy-error
404No such album exists, or it doesn't contain the specified custom logo.legacy-error
DELETE/users/{user_id}/albums/{album_id}/logos/{logo_id}Remove a custom album logo
Parameters
NameInRequiredType
album_idpathyesnumber
logo_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The custom logo was removed.
403The authenticated user can't modify this album.legacy-error
404No such album exists, or it doesn't contain the specified custom logo.legacy-error
Albums\Custom album thumbnails5
GET/users/{user_id}/albums/{album_id}/custom_thumbnailsGet all the custom upload thumbnails of an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The custom uploaded thumbnails were returned.
404No such album exists.legacy-error
POST/users/{user_id}/albums/{album_id}/custom_thumbnailsAdd a custom uploaded thumbnail
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
201The custom thumbnail was added to the album.picture
403The authenticated user can't modify this album.legacy-error
404No such album exists.legacy-error
GET/users/{user_id}/albums/{album_id}/custom_thumbnails/{thumbnail_id}Get a specific custom uploaded album thumbnail
Parameters
NameInRequiredType
album_idpathyesnumber
thumbnail_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The custom thumbnail was returned.picture
403The authenticated user can't view this custom thumbnail.legacy-error
404No such album exists, or it doesn't contain the specified custom thumbnail.legacy-error
PATCH/users/{user_id}/albums/{album_id}/custom_thumbnails/{thumbnail_id}Replace a custom uploaded album thumbnail
Parameters
NameInRequiredType
album_idpathyesnumber
thumbnail_idpathyesnumber
user_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The custom thumbnail was replaced.picture
403The authenticated user can't modify this album.legacy-error
404No such album exists, or it doesn't contain the specified custom thumbnail.legacy-error
DELETE/users/{user_id}/albums/{album_id}/custom_thumbnails/{thumbnail_id}Remove a custom uploaded album thumbnail
Parameters
NameInRequiredType
album_idpathyesnumber
thumbnail_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The custom thumbnail was removed.
403The authenticated user can't modify this album.legacy-error
404No such album exists, or it doesn't contain the specified custom thumbnail.legacy-error
Albums\Essentials10
GET/me/albumsGet all the albums that belong to a user
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The albums were returned.
400A parameter is invalid.legacy-error
POST/me/albumsCreate an album
Request body

application/vnd.vimeo.album+json (required)

Responses
StatusDescriptionSchema
201The album was created.album
400A parameter is invalid.legacy-error
403The supplied token doesn't have the proper scopes, or the authenticated user can't create an album.legacy-error
GET/me/albums/{album_id}Get a specific album
Parameters
NameInRequiredType
album_idpathyesnumber
Responses
StatusDescriptionSchema
200The album was returned.album
404No such album exists.legacy-error
PATCH/me/albums/{album_id}Edit an album
Parameters
NameInRequiredType
album_idpathyesnumber
Request body

application/vnd.vimeo.album+json

Responses
StatusDescriptionSchema
200The album was edited.album
400A parameter is invalid.legacy-error
403The authenticated user doesn't own the album, the supplied token doesn't have the proper scopes, or the authenticated user can't edit the album.legacy-error
404No such album exists.legacy-error
DELETE/me/albums/{album_id}Delete an album
Parameters
NameInRequiredType
album_idpathyesnumber
Responses
StatusDescriptionSchema
204The album was deleted.
403The supplied token doesn't have the proper scopes, or the authenticated user can't delete the album.legacy-error
404No such album exists.legacy-error
GET/users/{user_id}/albumsGet all the albums that belong to a user
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The albums were returned.
400A parameter is invalid.legacy-error
POST/users/{user_id}/albumsCreate an album
Parameters
NameInRequiredType
user_idpathyesnumber
Request body

application/vnd.vimeo.album+json (required)

Responses
StatusDescriptionSchema
201The album was created.album
400A parameter is invalid.legacy-error
403The supplied token doesn't have the proper scopes, or the authenticated user can't create an album.legacy-error
GET/users/{user_id}/albums/{album_id}Get a specific album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The album was returned.album
404No such album exists.legacy-error
PATCH/users/{user_id}/albums/{album_id}Edit an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
Request body

application/vnd.vimeo.album+json

Responses
StatusDescriptionSchema
200The album was edited.album
400A parameter is invalid.legacy-error
403The authenticated user doesn't own the album, the supplied token doesn't have the proper scopes, or the authenticated user can't edit the album.legacy-error
404No such album exists.legacy-error
DELETE/users/{user_id}/albums/{album_id}Delete an album
Parameters
NameInRequiredType
album_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The album was deleted.
403The supplied token doesn't have the proper scopes, or the authenticated user can't delete the album.legacy-error
404No such album exists.legacy-error
Authentication Extras\Essentials5
POST/oauth/access_tokenExchange an authorization code for an access token
Request body

application/vnd.vimeo.auth+json (required)

Responses
StatusDescriptionSchema
200The authorization code was exchanged.auth
400* The grant type is invalid. * The authorization code is invalid. * The redirect URI doesn't match the URI to create the authorization code.auth-error
POST/oauth/authorize/clientAuthorize a client with OAuth
Request body

application/vnd.vimeo.auth+json (required)

Responses
StatusDescriptionSchema
200The authorization was successful.auth
401Error code 8001: No such client secret exists.error
POST/oauth/authorize/vimeo_oauth1Convert OAuth 1 access tokens to OAuth 2 access tokens
Request body

application/vnd.vimeo.auth+json (required)

Responses
StatusDescriptionSchema
200The tokens were converted.auth
400* The token is invalid. * The token has unauthorized scopes.auth-error
GET/oauth/verifyVerify an OAuth 2 token
Responses
StatusDescriptionSchema
200The token was verified.auth
401The token isn't a valid OAuth 2 token.legacy-error
DELETE/tokensRevoke the current access token
Responses
StatusDescriptionSchema
204The token was revoked.auth
400You can't revoke access for an OAuth 1 token.legacy-error
Categories\Channels1
GET/categories/{category}/channelsGet all the channels in a category
Parameters
NameInRequiredType
categorypathyesstring
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The channels were returned.
404No such category exists.legacy-error
Categories\Essentials2
GET/categoriesGet all categories
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The categories were returned.
GET/categories/{category}Get a specific category
Parameters
NameInRequiredType
categorypathyesstring
Responses
StatusDescriptionSchema
200The category was returned.category
404No such category exists.legacy-error
Categories\Groups1
GET/categories/{category}/groupsGet all the groups in a category
Parameters
NameInRequiredType
categorypathyesstring
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The groups were returned.
404No such category exists.legacy-error
Categories\Subscriptions8
GET/me/categoriesGet all the categories that a user follows
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The categories were returned.
403Error code 3200: You can't view another user.error
GET/me/categories/{category}Check if a user follows a category
Parameters
NameInRequiredType
categorypathyesstring
Responses
StatusDescriptionSchema
204The user is following the category.
PUT/me/categories/{category}Subscribe a user to a single category
Parameters
NameInRequiredType
categorypathyesnumber
Responses
StatusDescriptionSchema
204The user was subscribed.
DELETE/me/categories/{category}Unsubscribe a user from a category
Parameters
NameInRequiredType
categorypathyesstring
Responses
StatusDescriptionSchema
204The user was unsubscribed.
GET/users/{user_id}/categoriesGet all the categories that a user follows
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The categories were returned.
403Error code 3200: You can't view another user.error
GET/users/{user_id}/categories/{category}Check if a user follows a category
Parameters
NameInRequiredType
categorypathyesstring
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user is following the category.
PUT/users/{user_id}/categories/{category}Subscribe a user to a single category
Parameters
NameInRequiredType
categorypathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was subscribed.
DELETE/users/{user_id}/categories/{category}Unsubscribe a user from a category
Parameters
NameInRequiredType
categorypathyesstring
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was unsubscribed.
Categories\Videos4
GET/categories/{category}/videosGet all the videos in a category
Parameters
NameInRequiredType
categorypathyesstring
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
404No such category exists.legacy-error
GET/categories/{category}/videos/{video_id}Check for a video in a category
Parameters
NameInRequiredType
categorypathyesstring
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video belongs to the category.video
404No such category exists, or the video doesn't belong to it.legacy-error
GET/videos/{video_id}/categoriesGet all the categories to which a video belongs
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The categories were returned.
404No such video exists.legacy-error
PUT/videos/{video_id}/categoriesSuggest categories for a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.category+json (required)

Responses
StatusDescriptionSchema
201The categories were suggested.category
403You don't own this video.legacy-error
404No such video exists, or no such category exists.legacy-error
Channels\Categories4
GET/channels/{channel_id}/categoriesGet all the categories in a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
200The categories were returned.
404No such channel exists.legacy-error
PUT/channels/{channel_id}/categoriesAdd a list of categories to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
204The categories were added.
400* Error code 2205: There was no request body, or the request body is malformed. * Error code 2204: You exceeded the maximum number of channel categories.error
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user can't add categories to the channel.error
404No such channel exists.legacy-error
PUT/channels/{channel_id}/categories/{category}Categorize a channel
Parameters
NameInRequiredType
categorypathyesstring
channel_idpathyesnumber
Responses
StatusDescriptionSchema
204The channel was categorized.
400Error code 2204: You exceeded the maximum number of channel categories.error
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user doesn't own the channel or isn't a channel moderator.error
404No such channel or category exists.legacy-error
DELETE/channels/{channel_id}/categories/{category}Remove a category from a channel
Parameters
NameInRequiredType
categorypathyesstring
channel_idpathyesnumber
Responses
StatusDescriptionSchema
204The channel was removed.
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user doesn't own the channel or isn't a channel moderator.error
404No such channel or category exists.legacy-error
Channels\Essentials7
GET/channelsGet all channels
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The channels were returned.
400The relevant sort has no search query.legacy-error
POST/channelsCreate a channel
Request body

application/vnd.vimeo.channel+json (required)

Responses
StatusDescriptionSchema
200The channel was created.channel
400A parameter is invalid.legacy-error
403The authenticated user can't create a channel.legacy-error
GET/channels/{channel_id}Get a specific channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
200The channel was returned.channel
PATCH/channels/{channel_id}Edit a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/vnd.vimeo.channel+json

Responses
StatusDescriptionSchema
200The channel was edited.channel
400A parameter is invalid.legacy-error
DELETE/channels/{channel_id}Delete a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
204The channel was deleted.
403The authenticated user doesn't own this channel.legacy-error
GET/me/channelsGet all the channels to which a user subscribes
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The channels were returned.
304No channel has been followed since the given `If-Modified-Since` header.
GET/users/{user_id}/channelsGet all the channels to which a user subscribes
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The channels were returned.
304No channel has been followed since the given `If-Modified-Since` header.
Channels\Moderators7
GET/channels/{channel_id}/moderatorsGet all the moderators in a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The moderators were returned.
PUT/channels/{channel_id}/moderatorsAdd a list of channel moderators
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200The moderators were added.
400Error code 2908: The list contains more than 100 users.error
403The authenticated user doesn't own the channel, a user is already a moderator of the channel, or you tried to add a user that the authenticated user doesn't follow.legacy-error
404No such channel exists, or no such user exists.legacy-error
PATCH/channels/{channel_id}/moderatorsReplace the moderators of a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200The moderators were replaced.
400Error code 2908: The list contains more than 100 users.error
403The authenticated user owns this channel.legacy-error
404No such channel exists.legacy-error
DELETE/channels/{channel_id}/moderatorsRemove a list of channel moderators
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/vnd.vimeo.user+json (required)

Responses
StatusDescriptionSchema
204The moderators were removed.user
403The authenticated user doesn't own the channel, the user isn't a moderator of the channel, or you tried to remove the owner of the channel.legacy-error
404No such channel exists, or no such user exists.legacy-error
GET/channels/{channel_id}/moderators/{user_id}Get a specific channel moderator
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The moderator was returned.user
PUT/channels/{channel_id}/moderators/{user_id}Add a specific channel moderator
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
403The authenticated user doesn't own the channel, a user is already a moderator of the channel, or you tried to add a user that the authenticated user doesn't follow.legacy-error
404No such channel exists, or no such user exists.legacy-error
DELETE/channels/{channel_id}/moderators/{user_id}Remove a specific channel moderator
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The moderator was removed.
403The authenticated user doesn't own the channel, the user isn't a moderator of the channel, or you tried to remove the owner of the channel.legacy-error
404No such channel exists, or no such user exists.legacy-error
Channels\Private channel members4
GET/channels/{channel_id}/privacy/usersGet all the users who can view a private channel
Parameters
NameInRequiredType
channel_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The users were returned.
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user doesn't own this channel.error
404Error code 2204: You can't add this user to a channel of this type.error
PUT/channels/{channel_id}/privacy/usersPermit a list of users to view a private channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/vnd.vimeo.user+json (required)

Responses
StatusDescriptionSchema
200The users can now view the private channel.
400* Error code 2205: There was no request body, or the request body is malformed. * Error code 2900: At least one of the specified user accounts doesn't exist.error
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user doesn't own this channel.error
404Error code 2204: You can't add one or more of these users to a channel of this type.error
PUT/channels/{channel_id}/privacy/users/{user_id}Permit a specific user to view a private channel
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The user can now view the private channel.
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user doesn't own this channel.error
404Error code 2204: You can't add this user to a channel of this type.error
DELETE/channels/{channel_id}/privacy/users/{user_id}Restrict a user from viewing a private channel
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user can no longer view the private channel.
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user doesn't own this channel.error
404Error code 2204: You can't add this user to a channel of this type.error
Channels\Subscriptions and subscribers7
GET/channels/{channel_id}/usersGet all the followers of a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
directionquerynostring
filterqueryyesstring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The followers were returned.
404No such channel exists.legacy-error
GET/me/channels/{channel_id}Check if a user follows a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
204The user follows the channel.
404No such channel exists.legacy-error
PUT/me/channels/{channel_id}Subscribe a user to a specific channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
204The user is now a follower of the channel.
404No such channel exists.legacy-error
DELETE/me/channels/{channel_id}Unsubscribe a user from a specific channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
204The user is no longer a follower of the channel.
404No such channel exists.legacy-error
GET/users/{user_id}/channels/{channel_id}Check if a user follows a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user follows the channel.
404No such channel exists.legacy-error
PUT/users/{user_id}/channels/{channel_id}Subscribe a user to a specific channel
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user is now a follower of the channel.
404No such channel exists.legacy-error
DELETE/users/{user_id}/channels/{channel_id}Unsubscribe a user from a specific channel
Parameters
NameInRequiredType
channel_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user is no longer a follower of the channel.
404No such channel exists.legacy-error
Channels\Tags5
GET/channels/{channel_id}/tagsGet all the tags that have been added to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Responses
StatusDescriptionSchema
200The tags were returned.
400No such channel exists.legacy-error
PUT/channels/{channel_id}/tagsAdd a list of tags to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/vnd.vimeo.tag+json (required)

Responses
StatusDescriptionSchema
200The tags were added.
400* No such channel exists, or a parameter is invalid. * Error code 2501: You tried to add more than 20 tags to the channel. * Error code 2205: There was no request body, or the request body is malformed.legacy-error
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user can't add tags to this channel.error
GET/channels/{channel_id}/tags/{word}Check if a tag has been added to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
wordpathyesstring
Responses
StatusDescriptionSchema
204The tag has been added to the channel.
400No such tag exists.legacy-error
404Error code 5000: The tag exists, but the channel isn't tagged by it.error
PUT/channels/{channel_id}/tags/{word}Add a specific tag to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
wordpathyesstring
Responses
StatusDescriptionSchema
204The tag was added.
400* The tag is invalid, or a parameter is invalid. * Error code 2501: The channel has already reached its maximum number of 20 tags.legacy-error
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user can't add tags to this channel.error
DELETE/channels/{channel_id}/tags/{word}Remove a tag from a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
wordpathyesstring
Responses
StatusDescriptionSchema
204The tag was removed.
400The tag is invalid, or a parameter is invalid.legacy-error
401Error code 8003: The user credentials are invalid.error
403Error code 3200: The authenticated user can't remove tags from this channel.error
Channels\Videos7
GET/channels/{channel_id}/videosGet all the videos in a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
containing_uriquerynostring
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
304No videos have been added to this channel since the given `If-Modified-Since` header.
400The **sort** field is `default`, but the **direction** field has a value.legacy-error
404No such channel exists.legacy-error
PUT/channels/{channel_id}/videosAdd a list of videos to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200The videos were added.
403The authenticated user isn't a moderator of the channel, or the video can't be added to the channel.legacy-error
404No such channel exists, or no such user exists.legacy-error
DELETE/channels/{channel_id}/videosRemove a list of videos from a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
204The videos were removed.video
403The authenticated user isn't a moderator of this channel, or you can't remove this video from the channel.legacy-error
404No such channel exists, or no such user exists.legacy-error
GET/channels/{channel_id}/videos/{video_id}Get a specific video in a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video was returned.video
404No such channel exists.legacy-error
PUT/channels/{channel_id}/videos/{video_id}Add a specific video to a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
403The video can't be added to channels, or the authenticated user isn't the moderator of this channel.legacy-error
404No such channel exists, or no such video exists.legacy-error
DELETE/channels/{channel_id}/videos/{video_id}Remove a specific video from a channel
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was removed.
403The authenticated user isn't a moderator of this channel.legacy-error
404No such channel exists, or no such video exists.legacy-error
GET/videos/{video_id}/available_channelsGet all the channels to which a user can add or remove a specific video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The channels were returned.
403The authenticated user can't add or remove this video from any channel.legacy-error
404The authenticated user can't moderate channels.legacy-error
Embed Presets\Custom Logos6
GET/me/customlogosGet all the custom logos that belong to a user
Responses
StatusDescriptionSchema
200The custom logos were returned.
403* The user can't view this custom logo. * The user can't view custom logos.legacy-error
POST/me/customlogosAdd a custom logo
Responses
StatusDescriptionSchema
201The custom logo was created.picture
403* You can't upload pictures for another user's videos. * The user can't add a custom logo.legacy-error
GET/me/customlogos/{logo_id}Get a specific custom logo
Parameters
NameInRequiredType
logo_idpathyesnumber
Responses
StatusDescriptionSchema
200The custom logo was returned.picture
403The user can't view custom logos.legacy-error
GET/users/{user_id}/customlogosGet all the custom logos that belong to a user
Parameters
NameInRequiredType
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The custom logos were returned.
403* The user can't view this custom logo. * The user can't view custom logos.legacy-error
POST/users/{user_id}/customlogosAdd a custom logo
Parameters
NameInRequiredType
user_idpathyesnumber
Responses
StatusDescriptionSchema
201The custom logo was created.picture
403* You can't upload pictures for another user's videos. * The user can't add a custom logo.legacy-error
GET/users/{user_id}/customlogos/{logo_id}Get a specific custom logo
Parameters
NameInRequiredType
logo_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The custom logo was returned.picture
403The user can't view custom logos.legacy-error
Embed Presets\Essentials6
GET/me/presetsGet all the embed presets that a user has created
Parameters
NameInRequiredType
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The embed presets were returned.
GET/me/presets/{preset_id}Get a specific embed preset
Parameters
NameInRequiredType
preset_idpathyesnumber
Responses
StatusDescriptionSchema
200The embed preset was returned.presets
PATCH/me/presets/{preset_id}Edit an embed preset
Parameters
NameInRequiredType
preset_idpathyesnumber
Request body

application/vnd.vimeo.preset+json

Responses
StatusDescriptionSchema
200The embed preset was edited.presets
400The outro type is invalid.legacy-error
404* The preset doesn't exist. * The authenticated user doesn't own the preset.legacy-error
GET/users/{user_id}/presetsGet all the embed presets that a user has created
Parameters
NameInRequiredType
user_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The embed presets were returned.
GET/users/{user_id}/presets/{preset_id}Get a specific embed preset
Parameters
NameInRequiredType
preset_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The embed preset was returned.presets
PATCH/users/{user_id}/presets/{preset_id}Edit an embed preset
Parameters
NameInRequiredType
preset_idpathyesnumber
user_idpathyesnumber
Request body

application/vnd.vimeo.preset+json

Responses
StatusDescriptionSchema
200The embed preset was edited.presets
400The outro type is invalid.legacy-error
404* The preset doesn't exist. * The authenticated user doesn't own the preset.legacy-error
Embed Presets\Videos7
GET/me/presets/{preset_id}/videosGet all the videos that have been added to an embed preset
Parameters
NameInRequiredType
preset_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The videos were returned.
GET/users/{user_id}/presets/{preset_id}/videosGet all the videos that have been added to an embed preset
Parameters
NameInRequiredType
preset_idpathyesnumber
user_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The videos were returned.
GET/videos/{video_id}/presets/{preset_id}Check if an embed preset has been added to a video
Parameters
NameInRequiredType
preset_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The embed presets exists.
404No such video or embed preset exists.legacy-error
PUT/videos/{video_id}/presets/{preset_id}Add an embed preset to a video
Parameters
NameInRequiredType
preset_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The embed preset was assigned.
DELETE/videos/{video_id}/presets/{preset_id}Remove an embed preset from a video
Parameters
NameInRequiredType
preset_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The embed preset was unassigned.
404No such video or embed preset exists.legacy-error
POST/videos/{video_id}/timelinethumbnailsAdd a new custom logo to a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
201Standard request.picture
403If the user is attempting to upload pictures for another user's videos.legacy-error
404No such video exists.legacy-error
GET/videos/{video_id}/timelinethumbnails/{thumbnail_id}Get a custom video logo
Parameters
NameInRequiredType
thumbnail_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The custom logo was returned.picture
403If the user isn't permitted to view this custom logo.legacy-error
Groups\Essentials4
GET/groupsGet all groups
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The groups were returned.
POST/groupsCreate a group
Request body

application/vnd.vimeo.group+json (required)

Responses
StatusDescriptionSchema
200The group was created.group
400A parameter is invalid.legacy-error
403The authenticated user can't create groups.legacy-error
GET/groups/{group_id}Get a specific group
Parameters
NameInRequiredType
group_idpathyesnumber
Responses
StatusDescriptionSchema
200The group was returned.group
DELETE/groups/{group_id}Delete a group
Parameters
NameInRequiredType
group_idpathyesnumber
Responses
StatusDescriptionSchema
204The group was deleted.
403The authenticated user isn't the group owner.legacy-error
Groups\Subscription4
PUT/me/groups/{group_id}Add a user to a group
Parameters
NameInRequiredType
group_idpathyesnumber
Responses
StatusDescriptionSchema
204The user joined the group.
403* The authenticated user can't join groups. * The group prohibits the authenticated user from joining, either because the group is not public or because the group's privacy setting is `members`.legacy-error
DELETE/me/groups/{group_id}Remove a user from a group
Parameters
NameInRequiredType
group_idpathyesnumber
Responses
StatusDescriptionSchema
204The user left the group.
403The authenticated user owns the group. To remove this user, first apply a new group owner through PATCH.legacy-error
PUT/users/{user_id}/groups/{group_id}Add a user to a group
Parameters
NameInRequiredType
group_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user joined the group.
403* The authenticated user can't join groups. * The group prohibits the authenticated user from joining, either because the group is not public or because the group's privacy setting is `members`.legacy-error
DELETE/users/{user_id}/groups/{group_id}Remove a user from a group
Parameters
NameInRequiredType
group_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user left the group.
403The authenticated user owns the group. To remove this user, first apply a new group owner through PATCH.legacy-error
Groups\Users5
GET/groups/{group_id}/usersGet all the members of a group
Parameters
NameInRequiredType
group_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The members were returned.
404No such group exists.legacy-error
GET/me/groupsGet all the groups that a user has joined
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The groups were returned.
GET/me/groups/{group_id}Check if a user has joined a group
Parameters
NameInRequiredType
group_idpathyesnumber
Responses
StatusDescriptionSchema
204The user has joined the group.
404* No such group exists. * The authenticated user isn't a member of this group.legacy-error
GET/users/{user_id}/groupsGet all the groups that a user has joined
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The groups were returned.
GET/users/{user_id}/groups/{group_id}Check if a user has joined a group
Parameters
NameInRequiredType
group_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user has joined the group.
404* No such group exists. * The authenticated user isn't a member of this group.legacy-error
Groups\Videos4
GET/groups/{group_id}/videosGet all the videos in a group
Parameters
NameInRequiredType
group_idpathyesnumber
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
304No videos have been added to this group since the given `If-Modified-Since` header.
404No such group exists.legacy-error
GET/groups/{group_id}/videos/{video_id}Get a specific video in a group
Parameters
NameInRequiredType
group_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video was returned.video
404No such video or group exists.legacy-error
PUT/groups/{group_id}/videos/{video_id}Add a video to a group
Parameters
NameInRequiredType
group_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video was added.video
202The video is in pending status.
403* The video is already in the group. * The user can't add videos to the group.legacy-error
DELETE/groups/{group_id}/videos/{video_id}Remove a video from a group
Parameters
NameInRequiredType
group_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.
403The authenticated user can't modify this group's videos.legacy-error
Likes\Essentials11
GET/channels/{channel_id}/videos/{video_id}/likesGet all the users who have liked a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The users were returned.
GET/me/likesGet all the videos that a user has liked
Parameters
NameInRequiredType
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/me/likes/{video_id}Check if a user has liked a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The user has liked the video.
404The user hasn't liked the video.legacy-error
PUT/me/likes/{video_id}Cause a user to like a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was liked.
400The authenticated user owns the video.legacy-error
403The authenticated user can't like videos.legacy-error
DELETE/me/likes/{video_id}Cause a user to unlike a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was unliked.
403The authenticated user can't like videos.legacy-error
GET/ondemand/pages/{ondemand_id}/likesGet all the users who have liked a video on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The users were returned.
GET/users/{user_id}/likesGet all the videos that a user has liked
Parameters
NameInRequiredType
user_idpathyesnumber
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/users/{user_id}/likes/{video_id}Check if a user has liked a video
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The user has liked the video.
404The user hasn't liked the video.legacy-error
PUT/users/{user_id}/likes/{video_id}Cause a user to like a video
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was liked.
400The authenticated user owns the video.legacy-error
403The authenticated user can't like videos.legacy-error
DELETE/users/{user_id}/likes/{video_id}Cause a user to unlike a video
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was unliked.
403The authenticated user can't like videos.legacy-error
GET/videos/{video_id}/likesGet all the users who have liked a video
Parameters
NameInRequiredType
video_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The users were returned.
On Demand\Backgrounds5
GET/ondemand/pages/{ondemand_id}/backgroundsGet all the backgrounds of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The background images were returned.
404No such On Demand page exists.legacy-error
POST/ondemand/pages/{ondemand_id}/backgroundsAdd a background to an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The background was created.picture
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page exists.legacy-error
GET/ondemand/pages/{ondemand_id}/backgrounds/{background_id}Get a specific background of an On Demand page
Parameters
NameInRequiredType
background_idpathyesnumber
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The background image was returned.picture
403You can't view another user's On Demand page background.legacy-error
404No such On Demand page or background image exists.legacy-error
PATCH/ondemand/pages/{ondemand_id}/backgrounds/{background_id}Edit a background of an On Demand page
Parameters
NameInRequiredType
background_idpathyesnumber
ondemand_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The background was edited.picture
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or background image exists.legacy-error
DELETE/ondemand/pages/{ondemand_id}/backgrounds/{background_id}Remove a background from an On Demand page
Parameters
NameInRequiredType
background_idpathyesnumber
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
204The background image was deleted.picture
403If you are attempting to modify an On Demand page you don't own.legacy-error
404No such On Demand page or background image exists.legacy-error
On Demand\Essentials7
GET/me/ondemand/pagesGet all the On Demand pages of a user
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The On Demand pages were returned.
404No such user exists.legacy-error
POST/me/ondemand/pagesCreate an On Demand page
Request body

application/json (required)

Responses
StatusDescriptionSchema
201The On Demand page was created.on-demand-page
GET/ondemand/pages/{ondemand_id}Get a specific On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The On Demand page was returned.on-demand-page
404No such On Demand page exists.legacy-error
PATCH/ondemand/pages/{ondemand_id}Edit an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Request body

application/vnd.vimeo.ondemand.page+json

Responses
StatusDescriptionSchema
200The On Demand page was edited.on-demand-page
403The authenticated user can't edit the On Demand page.legacy-error
404No such On Demand page exists.legacy-error
DELETE/ondemand/pages/{ondemand_id}Delete a draft of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
204The page draft was deleted.
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page exists.legacy-error
GET/users/{user_id}/ondemand/pagesGet all the On Demand pages of a user
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The On Demand pages were returned.
404No such user exists.legacy-error
POST/users/{user_id}/ondemand/pagesCreate an On Demand page
Parameters
NameInRequiredType
user_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
201The On Demand page was created.on-demand-page
On Demand\Genres8
GET/ondemand/genresGet all On Demand genres
Responses
StatusDescriptionSchema
200The On Demand genres were returned.
GET/ondemand/genres/{genre_id}Get a specific On Demand genre
Parameters
NameInRequiredType
genre_idpathyesstring
Responses
StatusDescriptionSchema
200The On Demand genre was returned.on-demand-genre
404No such On Demand genre exists.legacy-error
GET/ondemand/genres/{genre_id}/pagesGet all the On Demand pages in a genre
Parameters
NameInRequiredType
genre_idpathyesstring
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The On Demand pages were returned.
GET/ondemand/genres/{genre_id}/pages/{ondemand_id}Get a specific On Demand page in a genre
Parameters
NameInRequiredType
genre_idpathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The On Demand page belongs to the genre.on-demand-page
404No such On Demand page or genre exists.legacy-error
GET/ondemand/pages/{ondemand_id}/genresGet all the genres of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The genres were returned.
404No such On Demand page exists.legacy-error
GET/ondemand/pages/{ondemand_id}/genres/{genre_id}Check whether an On Demand page belongs to a genre
Parameters
NameInRequiredType
genre_idpathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The On Demand page's genre was returned.on-demand-genre
404No such On Demand page or genre exists.legacy-error
PUT/ondemand/pages/{ondemand_id}/genres/{genre_id}Add a genre to an On Demand page
Parameters
NameInRequiredType
genre_idpathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
201The genre was added.on-demand-genre
400You can't add more than two genres to an On Demand page.legacy-error
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or genre exists.legacy-error
DELETE/ondemand/pages/{ondemand_id}/genres/{genre_id}Remove a genre from an On Demand page
Parameters
NameInRequiredType
genre_idpathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
204The On Demand genre was deleted.
400The On Demand page must belong to at least one genre.legacy-error
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or genre exists.legacy-error
On Demand\Posters4
GET/ondemand/pages/{ondemand_id}/picturesGet all the posters of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The posters were returned.
404No such On Demand page exists.legacy-error
POST/ondemand/pages/{ondemand_id}/picturesAdd a poster to an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
201The poster was added.picture
403You can't modify another user's On Demand page.legacy-error
GET/ondemand/pages/{ondemand_id}/pictures/{poster_id}Get a specific poster of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
poster_idpathyesnumber
Responses
StatusDescriptionSchema
200The poster was returned.picture
PATCH/ondemand/pages/{ondemand_id}/pictures/{poster_id}Edit a poster of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
poster_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The poster was edited.picture
On Demand\Promotions5
GET/ondemand/pages/{ondemand_id}/promotionsGet all the promotions on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
filterqueryyesstring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The promotions were returned.on-demand-promotion
400The filter is invalid.legacy-error
403You can't view promotions for an On Demand page that you don't own.legacy-error
404No such On Demand page exists.legacy-error
POST/ondemand/pages/{ondemand_id}/promotionsAdd a promotion to an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Request body

application/vnd.vimeo.ondemand.promotion+json (required)

Responses
StatusDescriptionSchema
200The promotion was added.on-demand-promotion
400* There are errors in the request. * The promo code already exists.legacy-error
403You can't create promotions for an On Demand page that you don't own.legacy-error
404No such On Demand page exists.legacy-error
GET/ondemand/pages/{ondemand_id}/promotions/{promotion_id}Get a specific promotion on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
promotion_idpathyesnumber
Responses
StatusDescriptionSchema
200The promotion was returned.on-demand-promotion
403You can't view a promotion for an On Demand page that you don't own.legacy-error
404No such On Demand page or promotion exists.legacy-error
DELETE/ondemand/pages/{ondemand_id}/promotions/{promotion_id}Remove a promotion from an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
promotion_idpathyesnumber
Responses
StatusDescriptionSchema
204The promotion was deleted.
403You can't delete a promotion for an On Demand page that you not own.legacy-error
404No such On Demand page or promotion exists.legacy-error
GET/ondemand/pages/{ondemand_id}/promotions/{promotion_id}/codesGet all the codes of a promotion on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
promotion_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The codes were returned.on-demand-promotion-code
403You can't create promotions for an On Demand page that you don't own.legacy-error
404No such On Demand page exists.legacy-error
On Demand\Purchases and Rentals3
GET/me/ondemand/purchasesGet all the On Demand purchases and rentals that a user has made
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The purchases and rentals were returned.
403The authenticated user can't view the purchases and rentals for another user's account.legacy-error
GET/me/ondemand/purchases/{ondemand_id}Check if a user has made a purchase or rental from an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200You have purchased the On Demand page.on-demand-page
403The requested user isn't the same as the authenticated user.legacy-error
404No such user or On Demand page exists.legacy-error
GET/users/{user_id}/ondemand/purchasesCheck if a user has made a purchase or rental from an On Demand page
Parameters
NameInRequiredType
user_idpathyesnumber
Responses
StatusDescriptionSchema
200You have purchased the On Demand page.on-demand-page
403The requested user isn't the same as the authenticated user.legacy-error
404No such user or On Demand page exists.legacy-error
On Demand\Regions8
GET/ondemand/pages/{ondemand_id}/regionsGet all the regions of an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The regions were returned.
404No such On Demand page exists.legacy-error
PUT/ondemand/pages/{ondemand_id}/regionsAdd a list of regions to an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Request body

application/vnd.vimeo.ondemand.region+json (required)

Responses
StatusDescriptionSchema
200The list of regions was set.on-demand-region
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or region exists.legacy-error
DELETE/ondemand/pages/{ondemand_id}/regionsRemove a list of regions from an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
Request body

application/vnd.vimeo.ondemand.region+json

Responses
StatusDescriptionSchema
200The On Demand regions were deleted.
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or region exists.legacy-error
GET/ondemand/pages/{ondemand_id}/regions/{country}Get a specific region of an On Demand page
Parameters
NameInRequiredType
countrypathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
200The On Demand page's region was returned.on-demand-region
404No such On Demand page or region exists.legacy-error
PUT/ondemand/pages/{ondemand_id}/regions/{country}Add a specific region to an On Demand page
Parameters
NameInRequiredType
countrypathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
201The region was added.on-demand-region
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or region exists.legacy-error
DELETE/ondemand/pages/{ondemand_id}/regions/{country}Remove a specific region from an On Demand page
Parameters
NameInRequiredType
countrypathyesstring
ondemand_idpathyesnumber
Responses
StatusDescriptionSchema
204The On Demand region was deleted.
403You can't modify an On Demand page that you don't own.legacy-error
404No such On Demand page or region exists.legacy-error
GET/ondemand/regionsGet all the On Demand regions
Responses
StatusDescriptionSchema
200The On Demand regions were returned.
GET/ondemand/regions/{country}Get a specific On Demand region
Parameters
NameInRequiredType
countrypathyesstring
Responses
StatusDescriptionSchema
200The On Demand region was returned.on-demand-region
404No such On Demand region exists.legacy-error
On Demand\Seasons3
GET/ondemand/pages/{ondemand_id}/seasonsGet all the seasons on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The seasons were returned.
404No such On Demand page exists.legacy-error
GET/ondemand/pages/{ondemand_id}/seasons/{season_id}Get a specific season on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
season_idpathyesnumber
Responses
StatusDescriptionSchema
200The season was returned.on-demand-season
404No such On Demand page or season exists.legacy-error
GET/ondemand/pages/{ondemand_id}/seasons/{season_id}/videosGet all the videos in a season on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
season_idpathyesnumber
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
On Demand\Videos4
GET/ondemand/pages/{ondemand_id}/videosGet all the videos on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200* The videos were returned. * The videos were returned.
GET/ondemand/pages/{ondemand_id}/videos/{video_id}Get a specific video on an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video is on the On Demand page.video
PUT/ondemand/pages/{ondemand_id}/videos/{video_id}Add a video to an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.ondemand.video+json (required)

Responses
StatusDescriptionSchema
200The video was added.on-demand-video
400You can't add the video to this On Demand page.legacy-error
403You can't modify an On Demand page that you don't own.legacy-error
DELETE/ondemand/pages/{ondemand_id}/videos/{video_id}Remove a video from an On Demand page
Parameters
NameInRequiredType
ondemand_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.
403You can't modify an On Demand page that you don't own.legacy-error
Portfolios\Essentials4
GET/me/portfoliosGet all the portfolios that belong to a user
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The portfolios were returned.
GET/me/portfolios/{portfolio_id}Get a specific portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
Responses
StatusDescriptionSchema
200The portfolio was returned.portfolio
GET/users/{user_id}/portfoliosGet all the portfolios that belong to a user
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The portfolios were returned.
GET/users/{user_id}/portfolios/{portfolio_id}Get a specific portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The portfolio was returned.portfolio
Portfolios\Videos8
GET/me/portfolios/{portfolio_id}/videosGet all the videos in a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
containing_uriquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/me/portfolios/{portfolio_id}/videos/{video_id}Get a specific video in a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video was returned.video
PUT/me/portfolios/{portfolio_id}/videos/{video_id}Add a video to a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
404The portfolio wasn't found, or the video wasn't found.legacy-error
DELETE/me/portfolios/{portfolio_id}/videos/{video_id}Remove a video from a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.
404The portfolio wasn't found, or the video wasn't found.legacy-error
GET/users/{user_id}/portfolios/{portfolio_id}/videosGet all the videos in a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
user_idpathyesnumber
containing_uriquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/users/{user_id}/portfolios/{portfolio_id}/videos/{video_id}Get a specific video in a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video was returned.video
PUT/users/{user_id}/portfolios/{portfolio_id}/videos/{video_id}Add a video to a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
404The portfolio wasn't found, or the video wasn't found.legacy-error
DELETE/users/{user_id}/portfolios/{portfolio_id}/videos/{video_id}Remove a video from a portfolio
Parameters
NameInRequiredType
portfolio_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.
404The portfolio wasn't found, or the video wasn't found.legacy-error
Projects\Essentials10
GET/me/projectsGet all the projects that belong to a user
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The projects were returned.
401Error code 8000: The user credentials are invalid.error
POST/me/projectsCreate a project
Request body

application/json (required)

Responses
StatusDescriptionSchema
201The project was created.project
400* Error code 2205: The input is empty. * Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
403Error code 3200: The authenticated user can't create projects.error
GET/me/projects/{project_id}Get a specific project
Parameters
NameInRequiredType
project_idpathyesnumber
Responses
StatusDescriptionSchema
200The project was returned.project
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project exists.error
PATCH/me/projects/{project_id}Edit a project
Parameters
NameInRequiredType
project_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200The project was edited.project
400* Error code 2204: The input is invalid. * Error code 2205: The input is empty.error
401Error code 8000: The user credentials are invalid.error
403Error code 3200: The authenticated user can't edit the project.error
404Error code 5000: No such project exists.error
DELETE/me/projects/{project_id}Delete a project
Parameters
NameInRequiredType
project_idpathyesnumber
should_delete_clipsquerynoboolean
Responses
StatusDescriptionSchema
204The project was deleted.
401Error code 8000: The user credentials are invalid.error
403Error code 3200: The authenticated user can't delete the project.error
404Error code 5000: No such project exists.error
GET/users/{user_id}/projectsGet all the projects that belong to a user
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The projects were returned.
401Error code 8000: The user credentials are invalid.error
POST/users/{user_id}/projectsCreate a project
Parameters
NameInRequiredType
user_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
201The project was created.project
400* Error code 2205: The input is empty. * Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
403Error code 3200: The authenticated user can't create projects.error
GET/users/{user_id}/projects/{project_id}Get a specific project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The project was returned.project
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project exists.error
PATCH/users/{user_id}/projects/{project_id}Edit a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
200The project was edited.project
400* Error code 2204: The input is invalid. * Error code 2205: The input is empty.error
401Error code 8000: The user credentials are invalid.error
403Error code 3200: The authenticated user can't edit the project.error
404Error code 5000: No such project exists.error
DELETE/users/{user_id}/projects/{project_id}Delete a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
should_delete_clipsquerynoboolean
Responses
StatusDescriptionSchema
204The project was deleted.
401Error code 8000: The user credentials are invalid.error
403Error code 3200: The authenticated user can't delete the project.error
404Error code 5000: No such project exists.error
Projects\Videos10
GET/me/projects/{project_id}/videosGet all the videos in a project
Parameters
NameInRequiredType
project_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project exists.error
PUT/me/projects/{project_id}/videosAdd a list of videos to a project
Parameters
NameInRequiredType
project_idpathyesnumber
urisqueryyesstring
Responses
StatusDescriptionSchema
204The videos were added.
400Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project or video exists.error
DELETE/me/projects/{project_id}/videosRemove a list of videos from a project
Parameters
NameInRequiredType
project_idpathyesnumber
should_delete_clipsquerynoboolean
urisqueryyesstring
Responses
StatusDescriptionSchema
204The videos were removed.
400Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project exists.error
PUT/me/projects/{project_id}/videos/{video_id}Add a specific video to a project
Parameters
NameInRequiredType
project_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
404Error code 5000: No such user, project, or video exists.error
DELETE/me/projects/{project_id}/videos/{video_id}Remove a specific video from a project
Parameters
NameInRequiredType
project_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was removed.
400Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such video exists in the project.error
GET/users/{user_id}/projects/{project_id}/videosGet all the videos in a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project exists.error
PUT/users/{user_id}/projects/{project_id}/videosAdd a list of videos to a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
urisqueryyesstring
Responses
StatusDescriptionSchema
204The videos were added.
400Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project or video exists.error
DELETE/users/{user_id}/projects/{project_id}/videosRemove a list of videos from a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
should_delete_clipsquerynoboolean
urisqueryyesstring
Responses
StatusDescriptionSchema
204The videos were removed.
400Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such project exists.error
PUT/users/{user_id}/projects/{project_id}/videos/{video_id}Add a specific video to a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
404Error code 5000: No such user, project, or video exists.error
DELETE/users/{user_id}/projects/{project_id}/videos/{video_id}Remove a specific video from a project
Parameters
NameInRequiredType
project_idpathyesnumber
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was removed.
400Error code 2204: The input is invalid.error
401Error code 8000: The user credentials are invalid.error
404Error code 5000: No such video exists in the project.error
Tags\Essentials1
GET/tags/{word}Get a specific tag
Parameters
NameInRequiredType
wordpathyesstring
Responses
StatusDescriptionSchema
200The tag was returned.tag
Users\Essentials4
GET/meGet a user
Responses
StatusDescriptionSchema
200The user was returned.user
PATCH/meEdit a user
Request body

application/vnd.vimeo.user+json

Responses
StatusDescriptionSchema
200The user was edited.user
GET/users/{user_id}Get a user
Parameters
NameInRequiredType
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The user was returned.user
PATCH/users/{user_id}Edit a user
Parameters
NameInRequiredType
user_idpathyesnumber
Request body

application/vnd.vimeo.user+json

Responses
StatusDescriptionSchema
200The user was edited.user
Users\Feed2
GET/me/feedGet all videos in a user's feed
Parameters
NameInRequiredType
offsetquerynostring
pagequerynonumber
per_pagequerynonumber
typequerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/users/{user_id}/feedGet all videos in a user's feed
Parameters
NameInRequiredType
user_idpathyesnumber
offsetquerynostring
pagequerynonumber
per_pagequerynonumber
typequerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
Users\Follows12
GET/me/followersGet all the followers of a user
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The user's followers were returned.
GET/me/followingGet all the users that a user is following
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The followed users were returned.
POST/me/followingFollow a list of users
Request body

application/json (required)

Responses
StatusDescriptionSchema
204The users were followed.
400* Error code 2205: The request body is empty. * Error code 2205: The `users` array is invalid. * Error code 2205: The list of users doesn't contain URIs. * Error code 2900: A user in the list doesn't exist. * Error code 2901: The list contains more than 100 users.error
401Error code 8000: The user access token is invalid.error
403Error code 3417: The current user can't follow other users.error
429Error code 9006: The current user is rate-limited from following other users.error
500Error code 4005: An unexpected error occurred.error
GET/me/following/{follow_user_id}Check if a user is following another user
Parameters
NameInRequiredType
follow_user_idpathyesnumber
Responses
StatusDescriptionSchema
204The authenticated user follows the user in question.
404The user in question doesn't follow the authenticated user.legacy-error
PUT/me/following/{follow_user_id}Follow a specific user
Parameters
NameInRequiredType
follow_user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was followed.
403The authenticated user can't add followers.legacy-error
DELETE/me/following/{follow_user_id}Unfollow a user
Parameters
NameInRequiredType
follow_user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was unfollowed.
GET/users/{user_id}/followersGet all the followers of a user
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The user's followers were returned.
GET/users/{user_id}/followingGet all the users that a user is following
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
filterquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The followed users were returned.
POST/users/{user_id}/followingFollow a list of users
Parameters
NameInRequiredType
user_idpathyesnumber
Request body

application/json (required)

Responses
StatusDescriptionSchema
204The users were followed.
400* Error code 2205: The request body is empty. * Error code 2205: The `users` array is invalid. * Error code 2205: The list of users doesn't contain URIs. * Error code 2900: A user in the list doesn't exist. * Error code 2901: The list contains more than 100 users.error
401Error code 8000: The user access token is invalid.error
403Error code 3417: The current user can't follow other users.error
429Error code 9006: The current user is rate-limited from following other users.error
500Error code 4005: An unexpected error occurred.error
GET/users/{user_id}/following/{follow_user_id}Check if a user is following another user
Parameters
NameInRequiredType
follow_user_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The authenticated user follows the user in question.
404The user in question doesn't follow the authenticated user.legacy-error
PUT/users/{user_id}/following/{follow_user_id}Follow a specific user
Parameters
NameInRequiredType
follow_user_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was followed.
403The authenticated user can't add followers.legacy-error
DELETE/users/{user_id}/following/{follow_user_id}Unfollow a user
Parameters
NameInRequiredType
follow_user_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was unfollowed.
Users\Internal1
GET/usersSearch for users
Parameters
NameInRequiredType
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The search results were returned.
500There was an internal search error.legacy-error
503Search is disabled.legacy-error
Users\Pictures10
GET/me/picturesGet all the pictures that belong to a user
Parameters
NameInRequiredType
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The pictures were returned.
POST/me/picturesAdd a user picture
Responses
StatusDescriptionSchema
200The user picture was created.picture
GET/me/pictures/{portraitset_id}Get a specific user picture
Parameters
NameInRequiredType
portraitset_idpathyesnumber
Responses
StatusDescriptionSchema
200The picture was returned.picture
PATCH/me/pictures/{portraitset_id}Edit a user picture
Parameters
NameInRequiredType
portraitset_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The picture was edited.picture
DELETE/me/pictures/{portraitset_id}Delete a user picture
Parameters
NameInRequiredType
portraitset_idpathyesnumber
Responses
StatusDescriptionSchema
204The picture was deleted.
GET/users/{user_id}/picturesGet all the pictures that belong to a user
Parameters
NameInRequiredType
user_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The pictures were returned.
POST/users/{user_id}/picturesAdd a user picture
Parameters
NameInRequiredType
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The user picture was created.picture
GET/users/{user_id}/pictures/{portraitset_id}Get a specific user picture
Parameters
NameInRequiredType
portraitset_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The picture was returned.picture
PATCH/users/{user_id}/pictures/{portraitset_id}Edit a user picture
Parameters
NameInRequiredType
portraitset_idpathyesnumber
user_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The picture was edited.picture
DELETE/users/{user_id}/pictures/{portraitset_id}Delete a user picture
Parameters
NameInRequiredType
portraitset_idpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
204The picture was deleted.
Users\Watch History3
GET/me/watched/videosGet all the videos that a user has watched
Parameters
NameInRequiredType
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The videos were returned.
403The user can't view another user's watch history.legacy-error
DELETE/me/watched/videosDelete a user's watch history
Responses
StatusDescriptionSchema
204The watch history was deleted.
DELETE/me/watched/videos/{video_id}Delete a specific video from a user's watch history
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted from your watch history.
Videos\Comments9
GET/channels/{channel_id}/videos/{video_id}/commentsGet all the comments on a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The comments were returned.
POST/channels/{channel_id}/videos/{video_id}/commentsAdd a comment to a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.comment+json (required)

Responses
StatusDescriptionSchema
201The comment was added.comment
400Error code 2207: The comment text is missing.error
401Error code 8003: The user credentials are invalid.error
403* Error code 3413: Comments are disabled for this video. * Error code 3411: The authenticated user is unverified. * Error code 3412: The authenticated user can't comment. * Error code 3301: The comment was flagged as spam.error
GET/videos/{video_id}/commentsGet all the comments on a video
Parameters
NameInRequiredType
video_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The comments were returned.
POST/videos/{video_id}/commentsAdd a comment to a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.comment+json (required)

Responses
StatusDescriptionSchema
201The comment was added.comment
400Error code 2207: The comment text is missing.error
401Error code 8003: The user credentials are invalid.error
403* Error code 3413: Comments are disabled for this video. * Error code 3411: The authenticated user is unverified. * Error code 3412: The authenticated user can't comment. * Error code 3301: The comment was flagged as spam.error
GET/videos/{video_id}/comments/{comment_id}Get a specific video comment
Parameters
NameInRequiredType
comment_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The comment was returned.comment
404No such video or comment exists.legacy-error
PATCH/videos/{video_id}/comments/{comment_id}Edit a video comment
Parameters
NameInRequiredType
comment_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.comment+json (required)

Responses
StatusDescriptionSchema
200The comment was edited.comment
400Error code 2207: The comment text is missing.error
403* Error code 3411: The authenticated user is unverified. * Error code 3412: The authenticated user can't post comments. * Error code 3414: The authenticated user didn't write the comment and can't edit it. * Error code 3301: The supplied comment was flagged as spam.error
DELETE/videos/{video_id}/comments/{comment_id}Delete a video comment
Parameters
NameInRequiredType
comment_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The comment was deleted.
403Error code 3415: The authenticated user didn't write this comment and can't delete it.error
404* No such video or comment exists. * Error code 5000: The deleted comment still exists.legacy-error
GET/videos/{video_id}/comments/{comment_id}/repliesGet all the replies to a video comment
Parameters
NameInRequiredType
comment_idpathyesnumber
video_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The replies were returned.
404No such video or comment exists.legacy-error
POST/videos/{video_id}/comments/{comment_id}/repliesAdd a reply to a video comment
Parameters
NameInRequiredType
comment_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.comment+json (required)

Responses
StatusDescriptionSchema
201The reply was added.comment
400Error code 2207: The comment text is missing.error
403* Error code 3413: Comments are disabled on this video. * Error code 3411: The authenticated user is unverified. * Error code 3412: The authenticated user can't comment. * Error code 3301: The comment was flagged as spam.error
Videos\Content Ratings1
GET/contentratingsGet all content ratings
Responses
StatusDescriptionSchema
200The content ratings were returned.
Videos\Creative Commons1
GET/creativecommonsGet all Creative Commons licenses
Responses
StatusDescriptionSchema
200The Creative Commons licenses were returned.
Videos\Credits7
GET/channels/{channel_id}/videos/{video_id}/creditsGet all the credited users in a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The users were returned.
POST/channels/{channel_id}/videos/{video_id}/creditsCredit a user in a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.credit+json (required)

Responses
StatusDescriptionSchema
201The credit was added.credit
400* The credit was added. * A parameter is invalid. * The authenticated user has an unverified email address. * There is a user block between the video owner and the person receiving credit.legacy-error
403The authenticated user doesn't own the video.legacy-error
GET/videos/{video_id}/creditsGet all the credited users in a video
Parameters
NameInRequiredType
video_idpathyesnumber
directionquerynostring
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The users were returned.
POST/videos/{video_id}/creditsCredit a user in a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.credit+json (required)

Responses
StatusDescriptionSchema
201The credit was added.credit
400* The credit was added. * A parameter is invalid. * The authenticated user has an unverified email address. * There is a user block between the video owner and the person receiving credit.legacy-error
403The authenticated user doesn't own the video.legacy-error
GET/videos/{video_id}/credits/{credit_id}Get a specific credited user in a video
Parameters
NameInRequiredType
credit_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The credit was returned.credit
404No such video or credit exists.legacy-error
PATCH/videos/{video_id}/credits/{credit_id}Edit a credit for a user in a video
Parameters
NameInRequiredType
credit_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.credit+json

Responses
StatusDescriptionSchema
200The credit was edited.credit
400A parameter is invalid.legacy-error
404No such video or credit exists.legacy-error
DELETE/videos/{video_id}/credits/{credit_id}Delete a credit for a user in a video
Parameters
NameInRequiredType
credit_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The credit was deleted.
400The authenticated user is neither the creator of the credit nor the credited user.legacy-error
Videos\Embed Privacy3
GET/videos/{video_id}/privacy/domainsGet all the domains on which a video can be embedded
Parameters
NameInRequiredType
video_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The domains were returned.
403There are no domains on which the video can be embedded.legacy-error
PUT/videos/{video_id}/privacy/domains/{domain}Permit a video to be embedded on a domain
Parameters
NameInRequiredType
domainpathyesstring
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video is now embeddable on the domain.
403The video doesn't have a user-defined access list.legacy-error
DELETE/videos/{video_id}/privacy/domains/{domain}Restrict a video from being embedded on a domain
Parameters
NameInRequiredType
domainpathyesstring
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was disallowed from being embedded on the domain.
403The video isn't set to a user-defined access list.legacy-error
404No such domain exists.legacy-error
Videos\Essentials10
GET/me/appearancesGet all the videos in which a user appears
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/me/videosGet all the videos that a user has uploaded
Parameters
NameInRequiredType
containing_uriquerynostring
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
filter_playablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
304This user hasn't created any videos since the given `If-Modified-Since` header.
GET/me/videos/{video_id}Check if a user owns a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The user owns the video.video
404The authenticated user doesn't own the video.legacy-error
GET/users/{user_id}/appearancesGet all the videos in which a user appears
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
GET/users/{user_id}/videosGet all the videos that a user has uploaded
Parameters
NameInRequiredType
user_idpathyesnumber
containing_uriquerynostring
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
filter_playablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
304This user hasn't created any videos since the given `If-Modified-Since` header.
GET/users/{user_id}/videos/{video_id}Check if a user owns a video
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The user owns the video.video
404The authenticated user doesn't own the video.legacy-error
GET/videosSearch for videos
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
linksquerynostring
pagequerynonumber
per_pagequerynonumber
queryqueryyesstring
sortquerynostring
urisquerynostring
Responses
StatusDescriptionSchema
200The search results were returned.
400* Error code 2101: Either the `uris` or `links` parameter has filtering or sorting arguments. * Error code 2204: There is a problem with the batch request.error
503* Search is disabled. * Error code 7300: There was an internal search error.legacy-error
GET/videos/{video_id}Get a specific video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video was returned.video
404No such video exists.legacy-error
PATCH/videos/{video_id}Edit a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.video+json (required)

Responses
StatusDescriptionSchema
200The video was edited.video
400A parameter is invalid.legacy-error
403* The authenticated user doesn't own the video. * The `privacy` field is `disable` and the authenticated user can't set extra embed options. * The `privacy` field is `contacts` and the authenticated user can't follow creators. * The authenticated user has an opted-out PRO account and `privacy.view` is `users`, `password`, `nobody`, or `public`.legacy-error
DELETE/videos/{video_id}Delete a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.
403The authenticated user doesn't own the video and can't delete it.legacy-error
Videos\Languages1
GET/languagesGet all languages
Parameters
NameInRequiredType
filterquerynostring
Responses
StatusDescriptionSchema
200The languages were returned.
Videos\Recommendations1
GET/videos/{video_id}/videosGet all the related videos of a video
Parameters
NameInRequiredType
video_idpathyesnumber
filterquerynostring
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The related videos were returned.
400The value of `filter` isn' `related`.legacy-error
Videos\Tags6
GET/tags/{word}/videosGet all the videos with a specific tag
Parameters
NameInRequiredType
wordpathyesstring
directionquerynostring
pagequerynonumber
per_pagequerynonumber
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
404No such tag exists.legacy-error
GET/videos/{video_id}/tagsGet all the tags of a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The tags were returned.
PUT/videos/{video_id}/tagsAdd a list of tags to a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.tag+json (required)

Responses
StatusDescriptionSchema
200The tags that were added.
400* The request body wasn't supplied. * A parameter is invalid. * The request body isn't a JSON-encoded list of tags.legacy-error
403* The authenticated user can't add tags to a video. * The number of tags would exceed 20.legacy-error
GET/videos/{video_id}/tags/{word}Check if a tag has been added to a video
Parameters
NameInRequiredType
video_idpathyesnumber
wordpathyesstring
Responses
StatusDescriptionSchema
204The tag has been added.tag
400* A parameter is invalid. * The tag is invalid.legacy-error
404No such tag exists within the video.legacy-error
PUT/videos/{video_id}/tags/{word}Add a specific tag to a video
Parameters
NameInRequiredType
video_idpathyesnumber
wordpathyesstring
Responses
StatusDescriptionSchema
204The tag was added.tag
400* The tag is invalid. * An unsupported parameter was supplied.legacy-error
403The number of tags on the video would exceed 20.legacy-error
DELETE/videos/{video_id}/tags/{word}Remove a tag from a video
Parameters
NameInRequiredType
video_idpathyesnumber
wordpathyesstring
Responses
StatusDescriptionSchema
204The tag was deleted.
400* A parameter is invalid. * The tag is invalid.legacy-error
Videos\Text Tracks7
GET/channels/{channel_id}/videos/{video_id}/texttracksGet all the text tracks of a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The text tracks were returned.
404No such video exists.legacy-error
POST/channels/{channel_id}/videos/{video_id}/texttracksAdd a text track to a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.video.texttrack+json (required)

Responses
StatusDescriptionSchema
201The text track was added.text-track
403* The authenticated user can't edit the text track. * Error code 2204: The request contains errors.legacy-error
GET/videos/{video_id}/texttracksGet all the text tracks of a video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The text tracks were returned.
404No such video exists.legacy-error
POST/videos/{video_id}/texttracksAdd a text track to a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.video.texttrack+json (required)

Responses
StatusDescriptionSchema
201The text track was added.text-track
403* The authenticated user can't edit the text track. * Error code 2204: The request contains errors.legacy-error
GET/videos/{video_id}/texttracks/{texttrack_id}Get a specific text track
Parameters
NameInRequiredType
texttrack_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The text track was returned.text-track
403* Error code 3430: You don't have permission to access this text track. * Error code 3431: This text track is disabled.error
404* No such video or text track exists. * Error code 5014: The text track that you specified doesn't exist. * Error code 5015: The text track that you specified belongs to a different video.legacy-error
PATCH/videos/{video_id}/texttracks/{texttrack_id}Edit a text track
Parameters
NameInRequiredType
texttrack_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.video.texttrack+json

Responses
StatusDescriptionSchema
200The text track was edited.text-track
403* The authenticated user can't edit the text track. * Error code 2204: There are errors in the request. * Error code 3430: You don't have permission to access this text track. * Error code 3431: This text track is disabled.legacy-error
404* No such video or text track exists. * Error code 5014: The text track that you specified doesn't exist. * Error code 5015: The text track that you specified belongs to a different video.legacy-error
DELETE/videos/{video_id}/texttracks/{texttrack_id}Delete a text track
Parameters
NameInRequiredType
texttrack_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The text track was deleted.
403* Error code 3430: You don't have permission to access this text track. * Error code 3431: This text track is disabled.error
404* No such video or text track exists. * The authenticated user can't delete the text track. * Error code 5014: The text track that you specified doesn't exist. * Error code 5015: The text track that you specified belongs to a different video.legacy-error
Videos\Thumbnails7
GET/channels/{channel_id}/videos/{video_id}/picturesGet all the thumbnails of a video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The thumbnails were returned.
POST/channels/{channel_id}/videos/{video_id}/picturesAdd a video thumbnail
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
201The thumbnail was created.picture
GET/videos/{video_id}/picturesGet all the thumbnails of a video
Parameters
NameInRequiredType
video_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The thumbnails were returned.
POST/videos/{video_id}/picturesAdd a video thumbnail
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
201The thumbnail was created.picture
GET/videos/{video_id}/pictures/{picture_id}Get a video thumbnail
Parameters
NameInRequiredType
picture_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The thumbnail was returned.picture
PATCH/videos/{video_id}/pictures/{picture_id}Edit a video thumbnail
Parameters
NameInRequiredType
picture_idpathyesnumber
video_idpathyesnumber
Request body

application/vnd.vimeo.picture+json

Responses
StatusDescriptionSchema
200The thumbnail was edited.picture
DELETE/videos/{video_id}/pictures/{picture_id}Delete a video thumbnail
Parameters
NameInRequiredType
picture_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The thumbnail was deleted.
Videos\Upload4
POST/me/videosUpload a video
Request body

application/vnd.vimeo.video+json (required)

Responses
StatusDescriptionSchema
201The upload procedure has begun.video
400* Error code 2205: The body of the request isn't formatted properly. * Error code 2204: The request contains invalid parameters. * Error code 2204: The request contains invalid body parameters. * Error code 2230: The upload type is invalid. * Error code 3116: If a `type` payload parameter was supplied instead of `upload.approach`.error
401Error code 8002: No user is associated with the authentication token.error
403* Error code 4102: The user's allotted quota has been reached. * Error code 4101: The user's maximum disk space has been reached.error
500Error code 4003: There is a problem initiating the upload.error
GET/users/{user_id}/uploads/{upload}Get a user's upload attempt
Parameters
NameInRequiredType
uploadpathyesnumber
user_idpathyesnumber
Responses
StatusDescriptionSchema
200The upload attempt was returned.upload-attempt
DELETE/users/{user_id}/uploads/{upload}Complete a user's streaming upload
Parameters
NameInRequiredType
uploadpathyesnumber
user_idpathyesnumber
signaturequeryyesstring
video_file_idqueryyesnumber
Responses
StatusDescriptionSchema
201The streaming upload is complete.
400Error code 2502: The format of the video file is invalid.error
404* Error code 5006: The video file doesn't exist. * Error code 5007: The signature doesn't exist. * Error code 8400: The signature is invalid.error
500Error code 4011: The upload server returns an HTTP status code other than 200.error
POST/users/{user_id}/videosUpload a video
Parameters
NameInRequiredType
user_idpathyesnumber
Request body

application/vnd.vimeo.video+json (required)

Responses
StatusDescriptionSchema
201The upload procedure has begun.video
400* Error code 2205: The body of the request isn't formatted properly. * Error code 2204: The request contains invalid parameters. * Error code 2204: The request contains invalid body parameters. * Error code 2230: The upload type is invalid. * Error code 3116: If a `type` payload parameter was supplied instead of `upload.approach`.error
401Error code 8002: No user is associated with the authentication token.error
403* Error code 4102: The user's allotted quota has been reached. * Error code 4101: The user's maximum disk space has been reached.error
500Error code 4003: There is a problem initiating the upload.error
Videos\Versions1
POST/videos/{video_id}/versionsAdd a version to a video
Parameters
NameInRequiredType
video_idpathyesnumber
Request body

application/vnd.vimeo.video.version+json (required)

Responses
StatusDescriptionSchema
201Standard request.video-versions
400* Error code 2204: If the request input contains invalid upload data. * Error code 2204: If the request input contains invalid versions data.error
403Error code 3427: If a user isn't permitted to edit the videoerror
404* Error code 5011: If an upload associated with the version isn't found. * Error code 5012: If a video associated with the upload isn't found. * Error code 5013: If the version of the API used is less than 3.4 and isn't of approach `tus`, the endpoint isn't available.error
Videos\Viewing Privacy6
GET/channels/{channel_id}/videos/{video_id}/privacy/usersGet all the users who can view a user's private videos by default
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The users were returned.
400No users can view the private video.legacy-error
PUT/channels/{channel_id}/videos/{video_id}/privacy/usersPermit a list of users to view a private video
Parameters
NameInRequiredType
channel_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The users can now view the private video.
GET/videos/{video_id}/privacy/usersGet all the users who can view a user's private videos by default
Parameters
NameInRequiredType
video_idpathyesnumber
pagequerynonumber
per_pagequerynonumber
Responses
StatusDescriptionSchema
200The users were returned.
400No users can view the private video.legacy-error
PUT/videos/{video_id}/privacy/usersPermit a list of users to view a private video
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The users can now view the private video.
PUT/videos/{video_id}/privacy/users/{user_id}Permit a specific user to view a private video
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The user can now view the private video.user
204The user can already view this private video.
403The video doesn't have a user-defined access list.legacy-error
DELETE/videos/{video_id}/privacy/users/{user_id}Restrict a user from viewing a private video
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The user was disallowed from viewing the private video.
403The video isn't set to a user-defined access list.legacy-error
404No such user exists.legacy-error
Watch Later Queue\Essentials8
GET/me/watchlaterGet all the videos in a user's Watch Later queue
Parameters
NameInRequiredType
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
304The user hasn't added any videos to their Watch Later queue since the given `If-Modified-Since` header.
GET/me/watchlater/{video_id}Check if a user has added a specific video to their Watch Later queue
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video appears in the user's Watch Later queue.video
404The video doesn't appear in the user's Watch Later queue.legacy-error
PUT/me/watchlater/{video_id}Add a video to a user's Watch Later queue
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
DELETE/me/watchlater/{video_id}Remove a video from a user's Watch Later queue
Parameters
NameInRequiredType
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.
GET/users/{user_id}/watchlaterGet all the videos in a user's Watch Later queue
Parameters
NameInRequiredType
user_idpathyesnumber
directionquerynostring
filterquerynostring
filter_embeddablequerynoboolean
pagequerynonumber
per_pagequerynonumber
queryquerynostring
sortquerynostring
Responses
StatusDescriptionSchema
200The videos were returned.
304The user hasn't added any videos to their Watch Later queue since the given `If-Modified-Since` header.
GET/users/{user_id}/watchlater/{video_id}Check if a user has added a specific video to their Watch Later queue
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
200The video appears in the user's Watch Later queue.video
404The video doesn't appear in the user's Watch Later queue.legacy-error
PUT/users/{user_id}/watchlater/{video_id}Add a video to a user's Watch Later queue
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was added.
DELETE/users/{user_id}/watchlater/{video_id}Remove a video from a user's Watch Later queue
Parameters
NameInRequiredType
user_idpathyesnumber
video_idpathyesnumber
Responses
StatusDescriptionSchema
204The video was deleted.

Try it

Developer reference

Base URLhttps://api.vimeo.com
Rate limit

~100 requests per 15 minutes (rolling window; approximate, Vimeo's own docs page is client-side rendered)

Key endpoints
  • GET/me/videos
  • GET/videos/{video_id}
  • POST/me/videos