Vimeo
Connect to Vimeo with 1 MCP tools for AI-powered API automation.
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.2",
"servers": [
{
"description": "Vimeo.com",
"url": "https://api.vimeo.com"
}
],
"info": {
"contact": {
"url": "https://developer.vimeo.com/help",
"x-twitter": "vimeo"
},
"title": "Vimeo",
"version": "3.4",
"x-apisguru-categories": [
"entertainment"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_vimeo_profile_image.jpeg"
},
"x-origin": [
{
"converter": {
"url": "https://github.com/lucybot/api-spec-converter",
"version": "2.7.31"
},
"format": "openapi",
"url": "https://raw.githubusercontent.com/vimeo/openapi/master/api.yaml",
"version": "3.0"
}
],
"x-providerName": "vimeo.com"
},
"security": [
{
"oauth2": [
"create",
"delete",
"edit",
"email",
"interact",
"private",
"promo_codes",
"public",
"purchase",
"purchased",
"stats",
"upload",
"video_files"
]
}
],
"tags": [
{
"name": "API Information"
},
{
"name": "Albums\\Album videos"
},
{
"name": "Albums\\Custom album logos"
},
{
"name": "Albums\\Custom album thumbnails"
},
{
"name": "Albums\\Essentials"
},
{
"name": "Authentication Extras\\Essentials"
},
{
"name": "Categories\\Channels"
},
{
"name": "Categories\\Essentials"
},
{
"name": "Categories\\Groups"
},
{
"name": "Categories\\Subscriptions"
},
{
"name": "Categories\\Videos"
},
{
"name": "Channels\\Categories"
},
{
"name": "Channels\\Essentials"
},
{
"name": "Channels\\Moderators"
},
{
"name": "Channels\\Private channel members"
},
{
"name": "Channels\\Subscriptions and subscribers"
},
{
"name": "Channels\\Tags"
},
{
"name": "Channels\\Videos"
},
{
"name": "Embed Presets\\Custom Logos"
},
{
"name": "Embed Presets\\Essentials"
},
{
"name": "Embed Presets\\Videos"
},
{
"name": "Groups\\Essentials"
},
{
"name": "Groups\\Subscription"
},
{
"name": "Groups\\Users"
},
{
"name": "Groups\\Videos"
},
{
"name": "Likes\\Essentials"
},
{
"name": "On Demand\\Backgrounds"
},
{
"name": "On Demand\\Essentials"
},
{
"name": "On Demand\\Genres"
},
{
"name": "On Demand\\Posters"
},
{
"name": "On Demand\\Promotions"
},
{
"name": "On Demand\\Purchases and Rentals"
},
{
"name": "On Demand\\Regions"
},
{
"name": "On Demand\\Seasons"
},
{
"name": "On Demand\\Videos"
},
{
"name": "Portfolios\\Essentials"
},
{
"name": "Portfolios\\Videos"
},
{
"name": "Projects\\Essentials"
},
{
"name": "Projects\\Videos"
},
{
"name": "Tags\\Essentials"
},
{
"name": "Users\\Essentials"
},
{
"name": "Users\\Feed"
},
{
"name": "Users\\Follows"
},
{
"name": "Users\\Internal"
},
{
"name": "Users\\Pictures"
},
{
"name": "Users\\Watch History"
},
{
"name": "Videos\\Comments"
},
{
"name": "Videos\\Content Ratings"
},
{
"name": "Videos\\Creative Commons"
},
{
"name": "Videos\\Credits"
},
{
"name": "Videos\\Embed Privacy"
},
{
"name": "Videos\\Essentials"
},
{
"name": "Videos\\Languages"
},
{
"name": "Videos\\Recommendations"
},
{
"name": "Videos\\Tags"
},
{
"name": "Videos\\Text Tracks"
},
{
"name": "Videos\\Thumbnails"
},
{
"name": "Videos\\Upload"
},
{
"name": "Videos\\Versions"
},
{
"name": "Videos\\Viewing Privacy"
},
{
"name": "Watch Later Queue\\Essentials"
}
],
"paths": {
"/": {
"get": {
"operationId": "get_endpoints",
"parameters": [
{
"description": "Return an OpenAPI specification.",
"in": "query",
"name": "openapi",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.endpoint+json": {
"schema": {
"$ref": "#/components/schemas/endpoint"
}
}
},
"description": "Standard request."
}
},
"summary": "Get an API specification",
"tags": [
"API Information"
]
}
},
"/categories": {
"get": {
"description": "This method gets all existing categories.",
"operationId": "get_categories",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"last_video_featured_time",
"name"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
}
}
},
"description": "The categories were returned."
}
},
"summary": "Get all categories",
"tags": [
"Categories\\Essentials"
]
}
},
"/categories/{category}": {
"get": {
"operationId": "get_category",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/category"
}
}
},
"description": "The category was returned."
},
"404": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such category exists."
}
},
"summary": "Get a specific category",
"tags": [
"Categories\\Essentials"
]
}
},
"/categories/{category}/channels": {
"get": {
"operationId": "get_category_channels",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"followers",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/channel"
},
"type": "array"
}
}
},
"description": "The channels were returned."
},
"404": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such category exists."
}
},
"summary": "Get all the channels in a category",
"tags": [
"Categories\\Channels"
]
}
},
"/categories/{category}/groups": {
"get": {
"operationId": "get_category_groups",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"members",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/group"
},
"type": "array"
}
}
},
"description": "The groups were returned."
},
"404": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such category exists."
}
},
"summary": "Get all the groups in a category",
"tags": [
"Categories\\Groups"
]
}
},
"/categories/{category}/videos": {
"get": {
"operationId": "get_category_videos",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.\n\nOption descriptions:\n * `conditional_featured` - Featured (promoted) videos\n",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"conditional_featured",
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"featured",
"likes",
"plays",
"relevant"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such category exists."
}
},
"summary": "Get all the videos in a category",
"tags": [
"Categories\\Videos"
]
}
},
"/categories/{category}/videos/{video_id}": {
"get": {
"operationId": "check_category_for_video",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 273576296,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video belongs to the category."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such category exists, or the video doesn't belong to it."
}
},
"summary": "Check for a video in a category",
"tags": [
"Categories\\Videos"
]
}
},
"/channels": {
"get": {
"operationId": "get_channels",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"featured"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.\n\nOption descriptions:\n * `relevant` - Relevant sorting is available only for search queries.\n",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"followers",
"relevant",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/channel"
},
"type": "array"
}
}
},
"description": "The channels were returned."
},
"400": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The relevant sort has no search query."
}
},
"summary": "Get all channels",
"tags": [
"Channels\\Essentials"
]
},
"post": {
"description": "This method creates a new channel.",
"operationId": "create_channel",
"requestBody": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"properties": {
"description": {
"description": "The description of the channel.",
"example": "We really love videos, and these are the videos we really, really love.",
"type": "string"
},
"link": {
"description": "The link to access the channel. You can use a custom name in the URL in place of a numeric channel ID, as in `/channels/{url_custom}`.",
"example": "staffpicks",
"type": "string"
},
"name": {
"description": "The name of the channel.",
"example": "Vimeo Staff Picks",
"type": "string"
},
"privacy": {
"description": "The privacy level of the channel.",
"enum": [
"anybody",
"moderators",
"user"
],
"type": "string"
}
},
"required": [
"name",
"privacy"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/channel"
}
}
},
"description": "The channel was created."
},
"400": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't create a channel."
}
},
"security": [
{
"oauth2": [
"create"
]
}
],
"summary": "Create a channel",
"tags": [
"Channels\\Essentials"
]
}
},
"/channels/{channel_id}": {
"delete": {
"operationId": "delete_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The channel was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user doesn't own this channel."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a channel",
"tags": [
"Channels\\Essentials"
]
},
"get": {
"operationId": "get_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/channel"
}
}
},
"description": "The channel was returned."
}
},
"summary": "Get a specific channel",
"tags": [
"Channels\\Essentials"
]
},
"patch": {
"description": "This method edits the specified channel.",
"operationId": "edit_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"properties": {
"description": {
"description": "The description of the channel.",
"example": "We really love videos, and these are the videos we really, really love.",
"type": "string"
},
"link": {
"description": "The link to access the channel. You can use a custom name in the URL in place of a numeric channel ID, as in `/channels/{url_custom}`. Submitting `\"\"` for this field removes the link alias.",
"example": "staffpicks",
"type": "string"
},
"name": {
"description": "The name of the channel.",
"example": "Vimeo Staff Picks",
"type": "string"
},
"privacy": {
"description": "The privacy level of the channel.",
"enum": [
"anybody",
"moderators",
"users"
],
"type": "string"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/channel"
}
}
},
"description": "The channel was edited."
},
"400": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a channel",
"tags": [
"Channels\\Essentials"
]
}
},
"/channels/{channel_id}/categories": {
"get": {
"description": "This method gets all the categories in the specified channel.",
"operationId": "get_channel_categories",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
}
}
},
"description": "The categories were returned."
},
"404": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Get all the categories in a channel",
"tags": [
"Channels\\Categories"
]
},
"put": {
"description": "This method adds multiple categories to the specified channel.",
"operationId": "add_channel_categories",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"channels": {
"description": "The array of category URIs to add.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"channels"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "The categories were added."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: There was no request body, or the request body is malformed.\n* Error code 2204: You exceeded the maximum number of channel categories."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't add categories to the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Add a list of categories to a channel",
"tags": [
"Channels\\Categories"
]
}
},
"/channels/{channel_id}/categories/{category}": {
"delete": {
"description": "This method removes a single category from the specified channel.",
"operationId": "delete_channel_category",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The channel was removed."
},
"401": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user doesn't own the channel or isn't a channel moderator."
},
"404": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel or category exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a category from a channel",
"tags": [
"Channels\\Categories"
]
},
"put": {
"description": "This method adds a channel to a category.",
"operationId": "categorize_channel",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The channel was categorized."
},
"400": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: You exceeded the maximum number of channel categories."
},
"401": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user doesn't own the channel or isn't a channel moderator."
},
"404": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel or category exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Categorize a channel",
"tags": [
"Channels\\Categories"
]
}
},
"/channels/{channel_id}/moderators": {
"delete": {
"operationId": "remove_channel_moderators",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"properties": {
"user_uri": {
"description": "The URI of a user to remove as a moderator.",
"example": "/users/152184",
"type": "string"
}
},
"required": [
"user_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"204": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The moderators were removed."
},
"403": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The 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."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a list of channel moderators",
"tags": [
"Channels\\Moderators"
]
},
"get": {
"operationId": "get_channel_moderators",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The moderators were returned."
}
},
"summary": "Get all the moderators in a channel",
"tags": [
"Channels\\Moderators"
]
},
"patch": {
"operationId": "replace_channel_moderators",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"user_uri": {
"description": "The URI of the user to add as a moderator.",
"example": "/users/152184",
"type": "string"
}
},
"required": [
"user_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The moderators were replaced."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2908: The list contains more than 100 users."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user owns this channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Replace the moderators of a channel",
"tags": [
"Channels\\Moderators"
]
},
"put": {
"operationId": "add_channel_moderators",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"user_uri": {
"description": "The URI of a user to add as a moderator.",
"example": "/users/152184",
"type": "string"
}
},
"required": [
"user_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "The moderators were added."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2908: The list contains more than 100 users."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The 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."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a list of channel moderators",
"tags": [
"Channels\\Moderators"
]
}
},
"/channels/{channel_id}/moderators/{user_id}": {
"delete": {
"operationId": "remove_channel_moderator",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The moderator was removed."
},
"403": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The 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."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a specific channel moderator",
"tags": [
"Channels\\Moderators"
]
},
"get": {
"operationId": "get_channel_moderator",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The moderator was returned."
}
},
"summary": "Get a specific channel moderator",
"tags": [
"Channels\\Moderators"
]
},
"put": {
"operationId": "add_channel_moderator",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"403": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The 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."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific channel moderator",
"tags": [
"Channels\\Moderators"
]
}
},
"/channels/{channel_id}/privacy/users": {
"get": {
"description": "This method gets all the users who have access to the specified private channel.",
"operationId": "get_channel_privacy_users",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users were returned."
},
"401": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user doesn't own this channel."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: You can't add this user to a channel of this type."
}
},
"summary": "Get all the users who can view a private channel",
"tags": [
"Channels\\Private channel members"
]
},
"put": {
"description": "This method gives multiple users access to the specified private channel.",
"operationId": "set_channel_privacy_users",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"properties": {
"users": {
"description": "The array of either the user URIs or the user IDs to permit to view the private channel.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"users"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users can now view the private channel."
},
"400": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: There was no request body, or the request body is malformed.\n* Error code 2900: At least one of the specified user accounts doesn't exist."
},
"401": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user doesn't own this channel."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: You can't add one or more of these users to a channel of this type."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Permit a list of users to view a private channel",
"tags": [
"Channels\\Private channel members"
]
}
},
"/channels/{channel_id}/privacy/users/{user_id}": {
"delete": {
"description": "This method prevents a single user from being able to access the specified private channel.",
"operationId": "delete_channel_privacy_user",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user can no longer view the private channel."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user doesn't own this channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: You can't add this user to a channel of this type."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Restrict a user from viewing a private channel",
"tags": [
"Channels\\Private channel members"
]
},
"put": {
"description": "This method gives a single user access to the specified private channel.",
"operationId": "set_channel_privacy_user",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"description": "The user can now view the private channel."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user doesn't own this channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: You can't add this user to a channel of this type."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Permit a specific user to view a private channel",
"tags": [
"Channels\\Private channel members"
]
}
},
"/channels/{channel_id}/tags": {
"get": {
"description": "This method gets all the tags that have been added to the specified channel.",
"operationId": "get_channel_tags",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/tag"
},
"type": "array"
}
}
},
"description": "The tags were returned."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Get all the tags that have been added to a channel",
"tags": [
"Channels\\Tags"
]
},
"put": {
"description": "This method adds multiple tags to the specified channel.",
"operationId": "add_tags_to_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"properties": {
"tag": {
"description": "An array of tags to assign.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"tag"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/tag"
},
"type": "array"
}
}
},
"description": "The tags were added."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such channel exists, or a parameter is invalid.\n* Error code 2501: You tried to add more than 20 tags to the channel.\n* Error code 2205: There was no request body, or the request body is malformed."
},
"401": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't add tags to this channel."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a list of tags to a channel",
"tags": [
"Channels\\Tags"
]
}
},
"/channels/{channel_id}/tags/{word}": {
"delete": {
"description": "This method removes a single tag from the specified channel.",
"operationId": "delete_tag_from_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The word to use as the tag.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The tag was removed."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The tag is invalid, or a parameter is invalid."
},
"401": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't remove tags from this channel."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a tag from a channel",
"tags": [
"Channels\\Tags"
]
},
"get": {
"description": "This method determines whether a specific tag has been added to the channel in question.",
"operationId": "check_if_channel_has_tag",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The word to use as the tag.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The tag has been added to the channel."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such tag exists."
},
"404": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: The tag exists, but the channel isn't tagged by it."
}
},
"summary": "Check if a tag has been added to a channel",
"tags": [
"Channels\\Tags"
]
},
"put": {
"description": "This method adds a single tag to the specified channel.",
"operationId": "add_channel_tag",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The word to use as the tag.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The tag was added."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The tag is invalid, or a parameter is invalid.\n* Error code 2501: The channel has already reached its maximum number of 20 tags."
},
"401": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't add tags to this channel."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific tag to a channel",
"tags": [
"Channels\\Tags"
]
}
},
"/channels/{channel_id}/users": {
"get": {
"operationId": "get_channel_subscribers",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": true,
"schema": {
"enum": [
"moderators"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The followers were returned."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Get all the followers of a channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
}
},
"/channels/{channel_id}/videos": {
"delete": {
"operationId": "remove_videos_from_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"video_uri": {
"description": "The URI of a video to remove.",
"example": "/videos/258684937",
"type": "string"
}
},
"required": [
"video_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"204": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The videos were removed."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user isn't a moderator of this channel, or you can't remove this video from the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a list of videos from a channel",
"tags": [
"Channels\\Videos"
]
},
"get": {
"operationId": "get_channel_videos",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The page that contains the video URI.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"added",
"alphabetical",
"comments",
"date",
"default",
"duration",
"likes",
"manual",
"modified_time",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"304": {
"description": "No videos have been added to this channel since the given `If-Modified-Since` header."
},
"400": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The **sort** field is `default`, but the **direction** field has a value."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Get all the videos in a channel",
"tags": [
"Channels\\Videos"
]
},
"put": {
"operationId": "add_videos_to_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"video_uri": {
"description": "The URI of a video to add.",
"example": "/videos/258684937",
"type": "string"
}
},
"required": [
"video_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "The videos were added."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user isn't a moderator of the channel, or the video can't be added to the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a list of videos to a channel",
"tags": [
"Channels\\Videos"
]
}
},
"/channels/{channel_id}/videos/{video_id}": {
"delete": {
"operationId": "delete_video_from_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was removed."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user isn't a moderator of this channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such video exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a specific video from a channel",
"tags": [
"Channels\\Videos"
]
},
"get": {
"description": "This method returns a specific video in a channel. You can use it to determine whether the video is in the channel.",
"operationId": "get_channel_video",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Get a specific video in a channel",
"tags": [
"Channels\\Videos"
]
},
"put": {
"operationId": "add_video_to_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video can't be added to channels, or the authenticated user isn't the moderator of this channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists, or no such video exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific video to a channel",
"tags": [
"Channels\\Videos"
]
}
},
"/channels/{channel_id}/videos/{video_id}/comments": {
"get": {
"operationId": "get_comments_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/comment"
},
"type": "array"
}
}
},
"description": "The comments were returned."
}
},
"summary": "Get all the comments on a video",
"tags": [
"Videos\\Comments"
]
},
"post": {
"operationId": "create_comment_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"properties": {
"text": {
"description": "The text of the comment.",
"example": "I love this!",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/comment"
}
}
},
"description": "The comment was added."
},
"400": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2207: The comment text is missing."
},
"401": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 3413: Comments are disabled for this video.\n* Error code 3411: The authenticated user is unverified.\n* Error code 3412: The authenticated user can't comment.\n* Error code 3301: The comment was flagged as spam."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a comment to a video",
"tags": [
"Videos\\Comments"
]
}
},
"/channels/{channel_id}/videos/{video_id}/credits": {
"get": {
"operationId": "get_video_credits_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/credit"
},
"type": "array"
}
}
},
"description": "The users were returned."
}
},
"summary": "Get all the credited users in a video",
"tags": [
"Videos\\Credits"
]
},
"post": {
"operationId": "add_video_credit_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"properties": {
"email": {
"description": "The email address of the credited person.",
"example": "user@example.com",
"type": "string"
},
"name": {
"description": "The name of the credited person.",
"example": "Sam Doe",
"type": "string"
},
"role": {
"description": "The role of the credited person.",
"example": "Producer",
"type": "string"
},
"user_uri": {
"description": "The URI of the Vimeo user who should be given credit in this video.",
"example": "/users/152184",
"type": "string"
}
},
"required": [
"email",
"name",
"role",
"user_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/credit"
}
}
},
"description": "The credit was added."
},
"400": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The credit was added.\n* A parameter is invalid.\n* The authenticated user has an unverified email address.\n* There is a user block between the video owner and the person receiving credit."
},
"403": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user doesn't own the video."
}
},
"summary": "Credit a user in a video",
"tags": [
"Videos\\Credits"
]
}
},
"/channels/{channel_id}/videos/{video_id}/likes": {
"get": {
"operationId": "get_video_likes_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users were returned."
}
},
"summary": "Get all the users who have liked a video",
"tags": [
"Likes\\Essentials"
]
}
},
"/channels/{channel_id}/videos/{video_id}/pictures": {
"get": {
"operationId": "get_video_thumbnails_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The thumbnails were returned."
}
},
"summary": "Get all the thumbnails of a video",
"tags": [
"Videos\\Thumbnails"
]
},
"post": {
"operationId": "create_video_thumbnail_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether the image created by the `time` field should be the default thumbnail for the video.",
"example": "true",
"type": "boolean"
},
"time": {
"description": "Creates an image of the video from the given time offset.",
"example": 300,
"type": "number"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The thumbnail was created."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a video thumbnail",
"tags": [
"Videos\\Thumbnails"
]
}
},
"/channels/{channel_id}/videos/{video_id}/privacy/users": {
"get": {
"operationId": "get_video_privacy_users_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users were returned."
},
"400": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No users can view the private video."
}
},
"summary": "Get all the users who can view a user's private videos by default",
"tags": [
"Videos\\Viewing Privacy"
]
},
"put": {
"description": "The body of this request should follow our\n[batch request format](https://developer.vimeo.com/api/common-formats#batch-requests). Each object must contain\na single `URI` field, and the value of this field must be the URI of the user who can view this video.",
"operationId": "add_video_privacy_users_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users can now view the private video."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Permit a list of users to view a private video",
"tags": [
"Videos\\Viewing Privacy"
]
}
},
"/channels/{channel_id}/videos/{video_id}/texttracks": {
"get": {
"operationId": "get_text_tracks_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/text-track"
},
"type": "array"
}
}
},
"description": "The text tracks were returned."
},
"404": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video exists."
}
},
"summary": "Get all the text tracks of a video",
"tags": [
"Videos\\Text Tracks"
]
},
"post": {
"description": "For additional information, see our [text track upload guide](https://developer.vimeo.com/api/upload/texttracks).",
"operationId": "create_text_track_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"properties": {
"active": {
"description": "Active text tracks appear in the player and are visible to other users. Only one text track per language can be active.",
"example": "true",
"type": "boolean"
},
"language": {
"description": "The language of the text track. For a complete list of valid languages, use the [/languages?filter=texttracks](https://developer.vimeo.com/api/endpoints/videos#GET/languages) endpoint.",
"example": "en-US",
"type": "string"
},
"name": {
"description": "The name of the text track.",
"example": "Commentary",
"type": "string"
},
"type": {
"description": "The type of the text track.",
"enum": [
"captions",
"chapters",
"descriptions",
"metadata",
"subtitles"
],
"type": "string"
}
},
"required": [
"language",
"name",
"type"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/text-track"
}
}
},
"description": "The text track was added."
},
"403": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user can't edit the text track.\n* Error code 2204: The request contains errors."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a text track to a video",
"tags": [
"Videos\\Text Tracks"
]
}
},
"/contentratings": {
"get": {
"operationId": "get_content_ratings",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.contentrating+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/content-rating"
},
"type": "array"
}
}
},
"description": "The content ratings were returned."
}
},
"summary": "Get all content ratings",
"tags": [
"Videos\\Content Ratings"
]
}
},
"/creativecommons": {
"get": {
"operationId": "get_cc_licenses",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.creativecommons+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/creative-commons"
},
"type": "array"
}
}
},
"description": "The Creative Commons licenses were returned."
}
},
"summary": "Get all Creative Commons licenses",
"tags": [
"Videos\\Creative Commons"
]
}
},
"/groups": {
"get": {
"operationId": "get_groups",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"featured"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.\n\nOption descriptions:\n * `relevant` - Relevant sorting is available only for search queries.\n",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"followers",
"relevant",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/group"
},
"type": "array"
}
}
},
"description": "The groups were returned."
}
},
"summary": "Get all groups",
"tags": [
"Groups\\Essentials"
]
},
"post": {
"operationId": "create_group",
"requestBody": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"properties": {
"description": {
"description": "The description of the new group.",
"example": "Want to participate in our weekly Challenges? Join the Group to receive messages and new Challenges!",
"type": "string"
},
"name": {
"description": "The name of the new group.",
"example": "Vimeo Weekend Challenge",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"$ref": "#/components/schemas/group"
}
}
},
"description": "The group was created."
},
"400": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't create groups."
}
},
"security": [
{
"oauth2": [
"create"
]
}
],
"summary": "Create a group",
"tags": [
"Groups\\Essentials"
]
}
},
"/groups/{group_id}": {
"delete": {
"operationId": "delete_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The group was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user isn't the group owner."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a group",
"tags": [
"Groups\\Essentials"
]
},
"get": {
"operationId": "get_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"$ref": "#/components/schemas/group"
}
}
},
"description": "The group was returned."
}
},
"summary": "Get a specific group",
"tags": [
"Groups\\Essentials"
]
}
},
"/groups/{group_id}/users": {
"get": {
"operationId": "get_group_members",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"moderators"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The members were returned."
},
"404": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such group exists."
}
},
"summary": "Get all the members of a group",
"tags": [
"Groups\\Users"
]
}
},
"/groups/{group_id}/videos": {
"get": {
"operationId": "get_group_videos",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"304": {
"description": "No videos have been added to this group since the given `If-Modified-Since` header."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such group exists."
}
},
"summary": "Get all the videos in a group",
"tags": [
"Groups\\Videos"
]
}
},
"/groups/{group_id}/videos/{video_id}": {
"delete": {
"operationId": "delete_video_from_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this group's videos."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a video from a group",
"tags": [
"Groups\\Videos"
]
},
"get": {
"description": "Check if a group has a video.",
"operationId": "get_group_video",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or group exists."
}
},
"summary": "Get a specific video in a group",
"tags": [
"Groups\\Videos"
]
},
"put": {
"operationId": "add_video_to_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was added."
},
"202": {
"description": "The video is in pending status."
},
"403": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The video is already in the group.\n* The user can't add videos to the group."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a video to a group",
"tags": [
"Groups\\Videos"
]
}
},
"/languages": {
"get": {
"operationId": "get_languages",
"parameters": [
{
"description": "The attribute by which to filter the results.\n\nOption descriptions:\n * `texttracks` - Only return text track supported languages\n",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"texttracks"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.language+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/language"
},
"type": "array"
}
}
},
"description": "The languages were returned."
}
},
"summary": "Get all languages",
"tags": [
"Videos\\Languages"
]
}
},
"/me": {
"get": {
"operationId": "get_user_alt1",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The user was returned."
}
},
"summary": "Get a user",
"tags": [
"Users\\Essentials"
]
},
"patch": {
"operationId": "edit_user_alt1",
"requestBody": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"properties": {
"bio": {
"description": "The user's bio.",
"example": "This is where you will find videos and news updates from the staff",
"type": "string"
},
"content_filter": {
"description": "A list of values describing the content in this video. Find the full list in the [/contentratings](https://developer.vimeo.com/api/endpoints/videos#GET/contentratings) endpoint. You must provide a comma-separated list if you are using a query string or an array if you are using JSON.",
"items": {
"type": "string"
},
"type": "array"
},
"link": {
"description": "The user's custom Vimeo URL slug.",
"example": "staff",
"type": "string"
},
"location": {
"description": "The user's location.",
"example": "New York City",
"type": "string"
},
"name": {
"description": "The user's display name.",
"example": "Vimeo Staff",
"type": "string"
},
"password": {
"description": "The default password for all future videos that this user uploads. To use this field, the `videos.privacy.view` field must be `password`.",
"example": "hunter1",
"type": "string"
},
"videos": {
"properties": {
"privacy": {
"properties": {
"add": {
"description": "Whether a user can add the video to an album, channel, or group. This value becomes the default add setting for all future videos uploaded by the user.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "Who can comment on the video. This value becomes the default comment setting for all future videos that this user uploads.",
"enum": [
"anybody",
"contacts",
"nobody"
],
"type": "string"
},
"download": {
"description": "Whether a user can download the video. This value becomes the default download setting for all future videos that this user uploads.",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The privacy for embed videos. The `whitelist` value enables you to define all valid embed domains. See our [documentation](https://developer.vimeo.com/api/endpoints/videos#/{video_id}/privacy/domains) for adding and removing domains.",
"enum": [
"private",
"public",
"whitelist"
],
"type": "string"
},
"view": {
"description": "Who can view the video. This value becomes the default view setting for all future videos that this user uploads.",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The user was edited."
}
},
"summary": "Edit a user",
"tags": [
"Users\\Essentials"
]
}
},
"/me/albums": {
"get": {
"operationId": "get_albums_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"duration",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/album"
},
"type": "array"
}
}
},
"description": "The albums were returned."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
}
},
"summary": "Get all the albums that belong to a user",
"tags": [
"Albums\\Essentials"
]
},
"post": {
"operationId": "create_album_alt1",
"requestBody": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"properties": {
"brand_color": {
"description": "The hexadecimal code for the color of the player buttons.",
"example": "ff66ee",
"type": "string"
},
"description": {
"description": "The description of the album.",
"example": "Vimeo holiday videos!",
"type": "string"
},
"hide_nav": {
"description": "Whether to hide Vimeo navigation when displaying the album.",
"example": "true",
"type": "boolean"
},
"layout": {
"description": "The type of layout for presenting the album.",
"enum": [
"grid",
"player"
],
"type": "string"
},
"name": {
"description": "The name of the album.",
"example": "Vimeo Holiday Videos!",
"type": "string"
},
"password": {
"description": "The album's password. Required only if **privacy** is `password`.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"description": "The privacy level of the album.",
"enum": [
"anybody",
"embed_only",
"password"
],
"type": "string"
},
"review_mode": {
"description": "Whether album videos should use the review mode URL.",
"example": "true",
"type": "boolean"
},
"sort": {
"description": "The default sort order of the album's videos.",
"enum": [
"added_first",
"added_last",
"alphabetical",
"arranged",
"comments",
"likes",
"newest",
"oldest",
"plays"
],
"type": "string"
},
"theme": {
"description": "The color theme of the album.",
"enum": [
"dark",
"standard"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was created."
},
"400": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't create an album."
}
},
"security": [
{
"oauth2": [
"create"
]
}
],
"summary": "Create an album",
"tags": [
"Albums\\Essentials"
]
}
},
"/me/albums/{album_id}": {
"delete": {
"operationId": "delete_album_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The album was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't delete the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete an album",
"tags": [
"Albums\\Essentials"
]
},
"get": {
"operationId": "get_album_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was returned."
},
"404": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"summary": "Get a specific album",
"tags": [
"Albums\\Essentials"
]
},
"patch": {
"operationId": "edit_album_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"properties": {
"brand_color": {
"description": "The hexadecimal code for the color of the player buttons.",
"example": "ff66ee",
"type": "string"
},
"description": {
"description": "The description of the album.",
"example": "Vimeo holiday videos!",
"type": "string"
},
"domain": {
"description": "The custom domain a user has selected for their album.",
"example": "mycustomdomain.com",
"nullable": true,
"type": "string"
},
"hide_nav": {
"description": "Whether to hide Vimeo navigation when displaying the album.",
"example": "true",
"type": "boolean"
},
"layout": {
"description": "The type of layout for presenting the album.",
"enum": [
"grid",
"player"
],
"type": "string"
},
"name": {
"description": "The name of the album.",
"example": "Vimeo Holiday Videos!",
"type": "string"
},
"password": {
"description": "The album's password. Required only if **privacy** is `password`.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"description": "The privacy level of the album.",
"enum": [
"anybody",
"embed_only",
"password"
],
"type": "string"
},
"review_mode": {
"description": "Whether album videos should use the review mode URL.",
"example": "true",
"type": "boolean"
},
"sort": {
"description": "The default sort order of the album's videos.",
"enum": [
"added_first",
"added_last",
"alphabetical",
"arranged",
"comments",
"likes",
"newest",
"oldest",
"plays"
],
"type": "string"
},
"theme": {
"description": "The color theme of the album.",
"enum": [
"dark",
"standard"
],
"type": "string"
},
"url": {
"description": "The custom Vimeo URL a user has selected for their album.",
"example": "my-custom-url",
"nullable": true,
"type": "string"
},
"use_custom_domain": {
"description": "Whether the user has opted in to use a custom domain for their album.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was edited."
},
"400": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The 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."
},
"404": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit an album",
"tags": [
"Albums\\Essentials"
]
}
},
"/me/albums/{album_id}/videos": {
"get": {
"operationId": "get_album_videos_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The page containing the video URI.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The password of the album.",
"in": "query",
"name": "password",
"required": false,
"schema": {
"example": "hunter1",
"type": "string"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"default",
"duration",
"likes",
"manual",
"modified_time",
"plays"
],
"type": "string"
}
},
{
"description": "Whether to include private videos in the search. Please note that a separate search service provides this functionality. The service performs a partial text search on the video's name.",
"in": "query",
"name": "weak_search",
"required": false,
"schema": {
"example": "false",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"summary": "Get all the videos in an album",
"tags": [
"Albums\\Album videos"
]
},
"put": {
"description": "This method replaces all the existing videos in an album with one or more videos.",
"operationId": "replace_videos_in_album_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"videos": {
"description": "A comma-separated list of video URIs.",
"example": "/videos/258684937,/videos/273576296",
"type": "string"
}
},
"required": [
"videos"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "The videos were added."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't add videos to albums."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Replace all the videos in an album",
"tags": [
"Albums\\Album videos"
]
}
},
"/me/albums/{album_id}/videos/{video_id}": {
"delete": {
"operationId": "remove_video_from_album_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was removed."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a video from an album",
"tags": [
"Albums\\Album videos"
]
},
"get": {
"description": "This method gets a single video from an album. You can use this method to determine whether the album contains the specified video.",
"operationId": "get_album_video_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
},
{
"description": "The password of the album.",
"in": "query",
"name": "password",
"required": false,
"schema": {
"example": "hunter1",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or the video wasn't found in it."
}
},
"summary": "Get a specific video in an album",
"tags": [
"Albums\\Album videos"
]
},
"put": {
"operationId": "add_video_to_album_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific video to an album",
"tags": [
"Albums\\Album videos"
]
}
},
"/me/albums/{album_id}/videos/{video_id}/set_album_thumbnail": {
"post": {
"operationId": "set_video_as_album_thumbnail_alt1",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"time_code": {
"description": "The video frame time in seconds to use as the album thumbnail.",
"example": 300,
"type": "number"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was updated with a new thumbnail."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3429: The authenticated user can't edit the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such album, or user, or video exists."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4016: Unexpected error while setting thumbnail."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Set a video as the album thumbnail",
"tags": [
"Albums\\Album videos"
]
}
},
"/me/appearances": {
"get": {
"operationId": "get_appearances_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos in which a user appears",
"tags": [
"Videos\\Essentials"
]
}
},
"/me/categories": {
"get": {
"operationId": "get_category_subscriptions_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"name"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
}
}
},
"description": "The categories were returned."
},
"403": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: You can't view another user."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the categories that a user follows",
"tags": [
"Categories\\Subscriptions"
]
}
},
"/me/categories/{category}": {
"delete": {
"operationId": "unsubscribe_from_category_alt1",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The user was unsubscribed."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Unsubscribe a user from a category",
"tags": [
"Categories\\Subscriptions"
]
},
"get": {
"operationId": "check_if_user_subscribed_to_category_alt1",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The user is following the category."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Check if a user follows a category",
"tags": [
"Categories\\Subscriptions"
]
},
"put": {
"operationId": "subscribe_to_category_alt1",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": 0,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was subscribed."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Subscribe a user to a single category",
"tags": [
"Categories\\Subscriptions"
]
}
},
"/me/channels": {
"get": {
"operationId": "get_channel_subscriptions_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"moderated"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"followers",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/channel"
},
"type": "array"
}
}
},
"description": "The channels were returned."
},
"304": {
"description": "No channel has been followed since the given `If-Modified-Since` header."
}
},
"summary": "Get all the channels to which a user subscribes",
"tags": [
"Channels\\Essentials"
]
}
},
"/me/channels/{channel_id}": {
"delete": {
"operationId": "unsubscribe_from_channel_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user is no longer a follower of the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Unsubscribe a user from a specific channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
},
"get": {
"operationId": "check_if_user_subscribed_to_channel_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user follows the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Check if a user follows a channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
},
"put": {
"operationId": "subscribe_to_channel_alt1",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user is now a follower of the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Subscribe a user to a specific channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
}
},
"/me/customlogos": {
"get": {
"operationId": "get_custom_logos_alt1",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The custom logos were returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The user can't view this custom logo.\n* The user can't view custom logos."
}
},
"summary": "Get all the custom logos that belong to a user",
"tags": [
"Embed Presets\\Custom Logos"
]
},
"post": {
"operationId": "create_custom_logo_alt1",
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was created."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* You can't upload pictures for another user's videos.\n* The user can't add a custom logo."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a custom logo",
"tags": [
"Embed Presets\\Custom Logos"
]
}
},
"/me/customlogos/{logo_id}": {
"get": {
"operationId": "get_custom_logo_alt1",
"parameters": [
{
"description": "The ID of the custom logo.",
"in": "path",
"name": "logo_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user can't view custom logos."
}
},
"summary": "Get a specific custom logo",
"tags": [
"Embed Presets\\Custom Logos"
]
}
},
"/me/feed": {
"get": {
"operationId": "get_feed_alt1",
"parameters": [
{
"description": "Necessary for proper pagination. You shouldn't provide this value yourself, and instead use the pagination links in the feed response. Please see our [pagination documentation](https://developer.vimeo.com/api/common-formats#using-the-pagination-parameter) for more information.",
"in": "query",
"name": "offset",
"required": false,
"schema": {
"example": "280",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The feed type.",
"in": "query",
"name": "type",
"required": false,
"schema": {
"enum": [
"appears",
"category_featured",
"channel",
"facebook_feed",
"following",
"group",
"likes",
"ondemand_publish",
"share",
"tagged_with",
"twitter_timeline",
"uploads"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.activity+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/activity-3-1"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all videos in a user's feed",
"tags": [
"Users\\Feed"
]
}
},
"/me/followers": {
"get": {
"operationId": "get_followers_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The user's followers were returned."
}
},
"summary": "Get all the followers of a user",
"tags": [
"Users\\Follows"
]
}
},
"/me/following": {
"get": {
"operationId": "get_user_following_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"online"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The followed users were returned."
}
},
"summary": "Get all the users that a user is following",
"tags": [
"Users\\Follows"
]
},
"post": {
"operationId": "follow_users_alt1",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"users": {
"description": "An array of user URIs for the list of users to follow.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"users"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "The users were followed."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: The request body is empty.\n* Error code 2205: The `users` array is invalid.\n* Error code 2205: The list of users doesn't contain URIs.\n* Error code 2900: A user in the list doesn't exist.\n* Error code 2901: The list contains more than 100 users."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user access token is invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3417: The current user can't follow other users."
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 9006: The current user is rate-limited from following other users."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4005: An unexpected error occurred."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Follow a list of users",
"tags": [
"Users\\Follows"
]
}
},
"/me/following/{follow_user_id}": {
"delete": {
"operationId": "unfollow_user_alt1",
"parameters": [
{
"description": "The ID of the following user.",
"in": "path",
"name": "follow_user_id",
"required": true,
"schema": {
"example": 3766357,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was unfollowed."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Unfollow a user",
"tags": [
"Users\\Follows"
]
},
"get": {
"operationId": "check_if_user_is_following_alt1",
"parameters": [
{
"description": "The ID of the following user.",
"in": "path",
"name": "follow_user_id",
"required": true,
"schema": {
"example": 3766357,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The authenticated user follows the user in question."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user in question doesn't follow the authenticated user."
}
},
"summary": "Check if a user is following another user",
"tags": [
"Users\\Follows"
]
},
"put": {
"operationId": "follow_user_alt1",
"parameters": [
{
"description": "The ID of the following user.",
"in": "path",
"name": "follow_user_id",
"required": true,
"schema": {
"example": 3766357,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was followed."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't add followers."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Follow a specific user",
"tags": [
"Users\\Follows"
]
}
},
"/me/groups": {
"get": {
"operationId": "get_user_groups_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"moderated"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"members",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/group"
},
"type": "array"
}
}
},
"description": "The groups were returned."
}
},
"summary": "Get all the groups that a user has joined",
"tags": [
"Groups\\Users"
]
}
},
"/me/groups/{group_id}": {
"delete": {
"operationId": "leave_group_alt1",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user left the group."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user owns the group. To remove this user, first apply a new group owner through PATCH."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Remove a user from a group",
"tags": [
"Groups\\Subscription"
]
},
"get": {
"operationId": "check_if_user_joined_group_alt1",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user has joined the group."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such group exists.\n* The authenticated user isn't a member of this group."
}
},
"summary": "Check if a user has joined a group",
"tags": [
"Groups\\Users"
]
},
"put": {
"operationId": "join_group_alt1",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user joined the group."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user can't join groups.\n* The group prohibits the authenticated user from joining, either because the group is not public or because the group's privacy setting is `members`."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a user to a group",
"tags": [
"Groups\\Subscription"
]
}
},
"/me/likes": {
"get": {
"operationId": "get_likes_alt1",
"parameters": [
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos that a user has liked",
"tags": [
"Likes\\Essentials"
]
}
},
"/me/likes/{video_id}": {
"delete": {
"operationId": "unlike_video_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was unliked."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't like videos."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Cause a user to unlike a video",
"tags": [
"Likes\\Essentials"
]
},
"get": {
"operationId": "check_if_user_liked_video_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user has liked the video."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user hasn't liked the video."
}
},
"summary": "Check if a user has liked a video",
"tags": [
"Likes\\Essentials"
]
},
"put": {
"operationId": "like_video_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was liked."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user owns the video."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't like videos."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Cause a user to like a video",
"tags": [
"Likes\\Essentials"
]
}
},
"/me/ondemand/pages": {
"get": {
"operationId": "get_user_vods_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The type of On Demand pages to return.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"film",
"series"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"added",
"alphabetical",
"date",
"modified_time",
"name",
"publish.time",
"rating"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-page"
},
"type": "array"
}
}
},
"description": "The On Demand pages were returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such user exists."
}
},
"summary": "Get all the On Demand pages of a user",
"tags": [
"On Demand\\Essentials"
]
},
"post": {
"operationId": "create_vod_alt1",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"accepted_currencies": {
"description": "An array of accepted currencies.\n\nOption descriptions:\n * `AUD` - Australian Dollar\n * `CAD` - Canadian Dollar\n * `CHF` - Swiss Franc\n * `DKK` - Danish Krone\n * `EUR` - Euro\n * `GBP` - British Pound\n * `JPY` - Japanese Yen\n * `KRW` - South Korean Won\n * `NOK` - Norwegian Krone\n * `PLN` - Polish Zloty\n * `SEK` - Swedish Krona\n * `USD` - US Dollar\n",
"enum": [
"AUD",
"CAD",
"CHF",
"DKK",
"EUR",
"GBP",
"JPY",
"KRW",
"NOK",
"PLN",
"SEK",
"USD"
],
"type": "string"
},
"buy": {
"properties": {
"active": {
"description": "Whether the Buy action is active. *Required if `rent.active` is false.",
"example": "true",
"type": "boolean"
},
"download": {
"description": "Whether people who buy the video can download it. To use this field, `type` must be `film`.",
"example": "true",
"type": "boolean"
},
"price": {
"properties": {
"AUD": {
"description": "The purchase price of this video in AUD.",
"example": 2.99,
"type": "number"
},
"CAD": {
"description": "The purchase price of this video in CAD.",
"example": 2.99,
"type": "number"
},
"CHF": {
"description": "The purchase price of this video in CHF.",
"example": 2.99,
"type": "number"
},
"DKK": {
"description": "The purchase price of this video in DKK.",
"example": 2.99,
"type": "number"
},
"EUR": {
"description": "The purchase price of this video in EUR.",
"example": 2.99,
"type": "number"
},
"GBP": {
"description": "The purchase price of this video in GBP.",
"example": 2.99,
"type": "number"
},
"JPY": {
"description": "The purchase price of this video in JPY.",
"example": 2.99,
"type": "number"
},
"KRW": {
"description": "The purchase price of this video in KRW.",
"example": 2.99,
"type": "number"
},
"NOK": {
"description": "The purchase price of this video in NOK.",
"example": 2.99,
"type": "number"
},
"PLN": {
"description": "The purchase price of this video in PLN.",
"example": 2.99,
"type": "number"
},
"SEK": {
"description": "The purchase price of this video in SEK.",
"example": 2.99,
"type": "number"
},
"USD": {
"description": "The purchase price of this video in USD when `type` is `film`, or the purchase price of the entire collection in USD when `type` is `series`.",
"example": 2.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"content_rating": {
"description": "One or more ratings, either as a comma-separated list or as a JSON array depending on the request format.",
"enum": [
"drugs",
"language",
"nudity",
"safe",
"unrated",
"violence"
],
"type": "string"
},
"description": {
"description": "The description of the On Demand page.",
"example": "DARBY FOREVER follows the fantasies of Darby, a shopgirl at \"Bobbins & Notions\".",
"type": "string"
},
"domain_link": {
"description": "The custom domain of the On Demand page.",
"example": "https://example.com",
"type": "string"
},
"episodes": {
"properties": {
"buy": {
"properties": {
"active": {
"description": "Whether episodes can be bought.",
"example": "true",
"type": "boolean"
},
"download": {
"description": "Whether people who buy the episode can download it. To use this field, `type` must be `series`.",
"example": "true",
"type": "boolean"
},
"price": {
"properties": {
"USD": {
"description": "The purchase price per episode. *Required if `episodes.buy.active` is true.",
"example": 1.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"rent": {
"properties": {
"active": {
"description": "Whether episodes can be rented",
"example": "true",
"type": "boolean"
},
"period": {
"description": "The period in which this episode can be rented for.",
"enum": [
"1 week",
"1 year",
"24 hour",
"3 month",
"30 day",
"48 hour",
"6 month",
"72 hour"
],
"type": "string"
},
"price": {
"properties": {
"USD": {
"description": "The default price to rent an episode. This field is applicable only when `type` is `series`. *Required if `episodes.rent.active` is true.",
"example": 0.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"link": {
"description": "The custom string to use in this On Demand page's Vimeo URL.",
"example": "darbyforever",
"type": "string"
},
"name": {
"description": "The name of the On Demand page.",
"example": "Darby Forever",
"type": "string"
},
"rent": {
"properties": {
"active": {
"description": "Whether the video can be rented. *Required if `buy.active` is false.",
"example": "true",
"type": "boolean"
},
"period": {
"description": "The period in which this can be rented for.",
"enum": [
"1 week",
"1 year",
"24 hour",
"3 month",
"30 day",
"48 hour",
"6 month",
"72 hour"
],
"type": "string"
},
"price": {
"properties": {
"AUD": {
"description": "The rental price of this video in AUD.",
"example": 0.99,
"type": "number"
},
"CAD": {
"description": "The rental price of this video in CAD.",
"example": 0.99,
"type": "number"
},
"CHF": {
"description": "The rental price of this video in CHF.",
"example": 0.99,
"type": "number"
},
"DKK": {
"description": "The rental price of this video in DKK.",
"example": 0.99,
"type": "number"
},
"EUR": {
"description": "The rental price of this video in EUR.",
"example": 0.99,
"type": "number"
},
"GBP": {
"description": "The rental price of this video in GBP.",
"example": 0.99,
"type": "number"
},
"JPY": {
"description": "The rental price of this video in JPY.",
"example": 0.99,
"type": "number"
},
"KRW": {
"description": "The rental price of this video in KRW.",
"example": 0.99,
"type": "number"
},
"NOK": {
"description": "The rental price of this video in NOK.",
"example": 0.99,
"type": "number"
},
"PLN": {
"description": "The rental price of this video in PLN.",
"example": 0.99,
"type": "number"
},
"SEK": {
"description": "The rental price of this video in SEK.",
"example": 0.99,
"type": "number"
},
"USD": {
"description": "The rental price of this video in USD when `type` is `film`, or the rental price of the entire collection in USD when `type` is `series`.",
"example": 0.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"subscription": {
"properties": {
"monthly": {
"properties": {
"active": {
"description": "Whether monthly subscription is active. *Required if `rent.active` and `buy.active` are false.",
"example": "true",
"type": "boolean"
},
"price": {
"properties": {
"USD": {
"description": "The monthly subscription price in USD. *Required if `subscription.active` is true.",
"example": 9.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": {
"description": "The type of On Demand page.",
"enum": [
"film",
"series"
],
"type": "string"
}
},
"required": [
"content_rating",
"description",
"name",
"type"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "The On Demand page was created."
}
},
"summary": "Create an On Demand page",
"tags": [
"On Demand\\Essentials"
]
}
},
"/me/ondemand/purchases": {
"get": {
"operationId": "get_vod_purchases",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The type of On Demand videos to show.\n\nOption descriptions:\n * `important` - Will show all pages which are about to expire.\n",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"all",
"expiring_soon",
"film",
"important",
"purchased",
"rented",
"series",
"subscription",
"unwatched",
"watched"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"added",
"alphabetical",
"date",
"name",
"purchase_time",
"rating",
"release_date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-page"
},
"type": "array"
}
}
},
"description": "The purchases and rentals were returned."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't view the purchases and rentals for another user's account."
}
},
"security": [
{
"oauth2": [
"purchased"
]
}
],
"summary": "Get all the On Demand purchases and rentals that a user has made",
"tags": [
"On Demand\\Purchases and Rentals"
]
}
},
"/me/ondemand/purchases/{ondemand_id}": {
"get": {
"operationId": "check_if_vod_was_purchased_alt1",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "You have purchased the On Demand page."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The requested user isn't the same as the authenticated user."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such user or On Demand page exists."
}
},
"security": [
{
"oauth2": [
"purchased"
]
}
],
"summary": "Check if a user has made a purchase or rental from an On Demand page",
"tags": [
"On Demand\\Purchases and Rentals"
]
}
},
"/me/pictures": {
"get": {
"operationId": "get_pictures_alt1",
"parameters": [
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The pictures were returned."
}
},
"summary": "Get all the pictures that belong to a user",
"tags": [
"Users\\Pictures"
]
},
"post": {
"operationId": "create_picture_alt1",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The user picture was created."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a user picture",
"tags": [
"Users\\Pictures"
]
}
},
"/me/pictures/{portraitset_id}": {
"delete": {
"operationId": "delete_picture_alt1",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "portraitset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The picture was deleted."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a user picture",
"tags": [
"Users\\Pictures"
]
},
"get": {
"operationId": "get_picture_alt1",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "portraitset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The picture was returned."
}
},
"summary": "Get a specific user picture",
"tags": [
"Users\\Pictures"
]
},
"patch": {
"operationId": "edit_picture_alt1",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "portraitset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether the picture is the user's active portrait.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The picture was edited."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a user picture",
"tags": [
"Users\\Pictures"
]
}
},
"/me/portfolios": {
"get": {
"operationId": "get_portfolios_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.portfolio+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/portfolio"
},
"type": "array"
}
}
},
"description": "The portfolios were returned."
}
},
"summary": "Get all the portfolios that belong to a user",
"tags": [
"Portfolios\\Essentials"
]
}
},
"/me/portfolios/{portfolio_id}": {
"get": {
"operationId": "get_portfolio_alt1",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.portfolio+json": {
"schema": {
"$ref": "#/components/schemas/portfolio"
}
}
},
"description": "The portfolio was returned."
}
},
"summary": "Get a specific portfolio",
"tags": [
"Portfolios\\Essentials"
]
}
},
"/me/portfolios/{portfolio_id}/videos": {
"get": {
"operationId": "get_portfolio_videos_alt1",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The page that contains the video URI.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.\n\nOption descriptions:\n * `default` - This will sort to the default sort set on the portfolio.\n",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"default",
"likes",
"manual",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos in a portfolio",
"tags": [
"Portfolios\\Videos"
]
}
},
"/me/portfolios/{portfolio_id}/videos/{video_id}": {
"delete": {
"operationId": "delete_video_from_portfolio_alt1",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The portfolio wasn't found, or the video wasn't found."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a video from a portfolio",
"tags": [
"Portfolios\\Videos"
]
},
"get": {
"operationId": "get_portfolio_video_alt1",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
}
},
"summary": "Get a specific video in a portfolio",
"tags": [
"Portfolios\\Videos"
]
},
"put": {
"operationId": "add_video_to_portfolio_alt1",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The portfolio wasn't found, or the video wasn't found."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a video to a portfolio",
"tags": [
"Portfolios\\Videos"
]
}
},
"/me/presets": {
"get": {
"operationId": "get_embed_presets_alt1",
"parameters": [
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/presets"
},
"type": "array"
}
}
},
"description": "The embed presets were returned."
}
},
"summary": "Get all the embed presets that a user has created",
"tags": [
"Embed Presets\\Essentials"
]
}
},
"/me/presets/{preset_id}": {
"get": {
"operationId": "get_embed_preset_alt1",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/presets"
}
}
},
"description": "The embed preset was returned."
}
},
"summary": "Get a specific embed preset",
"tags": [
"Embed Presets\\Essentials"
]
},
"patch": {
"operationId": "edit_embed_preset_alt1",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"properties": {
"outro": {
"description": "Disable the outro.",
"enum": [
"nothing"
],
"type": "string"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/presets"
}
}
},
"description": "The embed preset was edited."
},
"400": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The outro type is invalid."
},
"404": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The preset doesn't exist.\n* The authenticated user doesn't own the preset."
}
},
"summary": "Edit an embed preset",
"tags": [
"Embed Presets\\Essentials"
]
}
},
"/me/presets/{preset_id}/videos": {
"get": {
"operationId": "get_embed_preset_videos_alt1",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos that have been added to an embed preset",
"tags": [
"Embed Presets\\Videos"
]
}
},
"/me/projects": {
"get": {
"description": "This method gets all the projects that belong to the specified user.",
"operationId": "get_projects_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"date",
"default",
"modified_time",
"name"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/project"
},
"type": "array"
}
}
},
"description": "The projects were returned."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the projects that belong to a user",
"tags": [
"Projects\\Essentials"
]
},
"post": {
"description": "This method creates a new project for the specified user.",
"operationId": "create_project_alt1",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"description": "The name of the project.",
"example": "Rough cuts",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/project"
}
}
},
"description": "The project was created."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: The input is empty.\n* Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't create projects."
}
},
"security": [
{
"oauth2": [
"create"
]
}
],
"summary": "Create a project",
"tags": [
"Projects\\Essentials"
]
}
},
"/me/projects/{project_id}": {
"delete": {
"description": "This method deletes a project and optionally also the videos that it contains.",
"operationId": "delete_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "Whether to delete all the videos in the project along with the project itself.",
"in": "query",
"name": "should_delete_clips",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
}
],
"responses": {
"204": {
"description": "The project was deleted."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't delete the project."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a project",
"tags": [
"Projects\\Essentials"
]
},
"get": {
"description": "This method gets a single project that belongs to the specified user.",
"operationId": "get_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/project"
}
}
},
"description": "The project was returned."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get a specific project",
"tags": [
"Projects\\Essentials"
]
},
"patch": {
"description": "This method edits an existing project.",
"operationId": "edit_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"description": "The name of the project.",
"example": "Rough cuts",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/project"
}
}
},
"description": "The project was edited."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2204: The input is invalid.\n* Error code 2205: The input is empty."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't edit the project."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a project",
"tags": [
"Projects\\Essentials"
]
}
},
"/me/projects/{project_id}/videos": {
"delete": {
"description": "This method removed multiple videos from the specified project.",
"operationId": "remove_videos_from_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "Whether to delete the videos when removing them from the project.",
"in": "query",
"name": "should_delete_clips",
"required": false,
"schema": {
"example": "false",
"type": "boolean"
}
},
{
"description": "A comma-separated list of the video URIs to remove.",
"in": "query",
"name": "uris",
"required": true,
"schema": {
"example": "/videos/258684937,/videos/273576296",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The videos were removed."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Remove a list of videos from a project",
"tags": [
"Projects\\Videos"
]
},
"get": {
"description": "This method gets all the videos that belong to the specified project.",
"operationId": "get_project_videos_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"default",
"duration",
"last_user_action_event_date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the videos in a project",
"tags": [
"Projects\\Videos"
]
},
"put": {
"description": "This method adds multiple videos to the specified project.",
"operationId": "add_videos_to_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "A comma-separated list of video URIs to add.",
"in": "query",
"name": "uris",
"required": true,
"schema": {
"example": "/videos/258684937,/videos/273576296",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The videos were added."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project or video exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a list of videos to a project",
"tags": [
"Projects\\Videos"
]
}
},
"/me/projects/{project_id}/videos/{video_id}": {
"delete": {
"description": "This method removes a single video from the specified project.",
"operationId": "remove_video_from_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was removed."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such video exists in the project."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Remove a specific video from a project",
"tags": [
"Projects\\Videos"
]
},
"put": {
"description": "This method adds a single video to the specified project.",
"operationId": "add_video_to_project_alt1",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such user, project, or video exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a specific video to a project",
"tags": [
"Projects\\Videos"
]
}
},
"/me/videos": {
"get": {
"operationId": "get_videos_alt1",
"parameters": [
{
"description": "The page that contains the video URI. Only available when not paired with `query`.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"app_only",
"embeddable",
"featured",
"playable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "Whether to filter by all playable videos or by all videos that are not playable.",
"in": "query",
"name": "filter_playable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"default",
"duration",
"last_user_action_event_date",
"likes",
"modified_time",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"304": {
"description": "This user hasn't created any videos since the given `If-Modified-Since` header."
}
},
"summary": "Get all the videos that a user has uploaded",
"tags": [
"Videos\\Essentials"
]
},
"post": {
"description": "Begin the video upload process. For more information, see our [upload documentation](https://developer.vimeo.com/api/upload/videos).",
"operationId": "upload_video_alt1",
"requestBody": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"properties": {
"content_rating": {
"description": "A list of values describing the content in this video. Find the full list in the [/contentratings](https://developer.vimeo.com/api/endpoints/videos#GET/contentratings) endpoint.",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "The description of the video.",
"example": "A celebration of 10 years of Staff Picks.",
"type": "string"
},
"embed": {
"properties": {
"buttons": {
"properties": {
"embed": {
"description": "Show or hide the Embed button.",
"example": "true",
"type": "boolean"
},
"fullscreen": {
"description": "Show or hide the Fullscreen button.",
"example": "true",
"type": "boolean"
},
"hd": {
"description": "Show or hide the HD button.",
"example": "true",
"type": "boolean"
},
"like": {
"description": "Show or hide the Like button.",
"example": "true",
"type": "boolean"
},
"scaling": {
"description": "Show or hide the Scaling button (shown only in Fullscreen mode).",
"example": "true",
"type": "boolean"
},
"share": {
"description": "Show or hide the Share button.",
"example": "true",
"type": "boolean"
},
"watchlater": {
"description": "Show or hide the Watch Later button.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"color": {
"description": "The main color of the embed player.",
"example": "#1ab7ea",
"type": "string"
},
"logos": {
"properties": {
"custom": {
"properties": {
"active": {
"description": "Show or hide your custom logo.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The URL that loads when the user clicks your custom logo.",
"example": "https://example.com",
"type": "string"
},
"sticky": {
"description": "Whether always to show the custom logo or to hide it after time with the rest of the UI.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"vimeo": {
"description": "Show or hide the Vimeo logo.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"playbar": {
"description": "Show or hide the playbar.",
"example": "true",
"type": "boolean"
},
"title": {
"properties": {
"name": {
"description": "Show or hide the video title, or enable the user to determine whether the video title appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
},
"owner": {
"description": "Show or hide the owner information, or enable the user to determine whether the owner information appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
},
"portrait": {
"description": "Show or hide the owner portrait, or enable the user to determine whether the owner portrait appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
}
},
"type": "object"
},
"volume": {
"description": "Show or hide the volume selector.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"license": {
"description": "The Creative Commons license.",
"enum": [
"by",
"by-nc",
"by-nc-nd",
"by-nc-sa",
"by-nd",
"by-sa",
"cc0"
],
"type": "string"
},
"locale": {
"description": "The video's default language. For a full list of valid languages, use the [/languages?filter=texttracks](https://developer.vimeo.com/api/endpoints/videos#GET/languages) endpoint.",
"example": "en_US",
"type": "string"
},
"name": {
"description": "The title of the video.",
"example": "Celebrating 10 Years of Staff Picks",
"type": "string"
},
"password": {
"description": "The password. When you set `privacy.view` to `password`, you must provide the password as an additional parameter.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"properties": {
"add": {
"description": "Whether a user can add the video to an album, channel, or group.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "The privacy level required to comment on the video.",
"enum": [
"anybody",
"contacts",
"nobody"
],
"type": "string"
},
"download": {
"description": "Whether a user can download the video. Not available to users with a Basic membership",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The video's embed settings. The `whitelist` value enables you to define all valid embed domains. See our [documentation](https://developer.vimeo.com/api/endpoints/videos#/{video_id}/privacy/domains) for details on adding and removing domains.",
"enum": [
"private",
"public",
"whitelist"
],
"type": "string"
},
"view": {
"description": "The video's privacy setting. When privacy is `users`, `application/json` is the only valid content type. Basic users can't set privacy to `unlisted`.",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"type": "string"
}
},
"type": "object"
},
"ratings": {
"properties": {
"mpaa": {
"properties": {
"reason": {
"description": "The reason for the video's MPAA rating.\n\nOption descriptions:\n * `at` - Adult themes\n * `bn` - Brief nudity\n * `n` - Nudity\n * `sl` - Strong language\n * `ss` - Sexual situations\n * `v` - Violence\n",
"enum": [
"at",
"bn",
"n",
"sl",
"ss",
"v"
],
"type": "string"
}
},
"type": "object"
},
"tv": {
"properties": {
"reason": {
"description": "The reason for the video's TV rating.\n\nOption descriptions:\n * `d` - Suggestive dialogue\n * `fv` - Fantasy violence\n * `l` - Language\n * `ss` - Sexual situations\n * `v` - Violence\n",
"enum": [
"d",
"fv",
"l",
"ss",
"v"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"review_page": {
"properties": {
"active": {
"description": "Enable or disable video review.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"spatial": {
"properties": {
"director_timeline": {
"description": "The 360 director timeline.",
"items": {
"properties": {
"pitch": {
"description": "The timeline pitch. This value must be between -90 and 90.",
"example": 70,
"type": "number"
},
"roll": {
"description": "The timeline roll.",
"type": "number"
},
"time_code": {
"description": "The 360 director timeline time code.",
"example": 5,
"type": "number"
},
"yaw": {
"description": "The timeline yaw. This value must be between 0 and 360.",
"example": 125,
"type": "number"
}
},
"required": [
"pitch",
"time_code",
"yaw"
],
"type": "object"
},
"type": "array"
},
"field_of_view": {
"description": "The 360 field of view: default 50, minimum 30, maximum 90.",
"example": 50,
"type": "number"
},
"projection": {
"description": "The 360 spatial projection.",
"enum": [
"cubical",
"cylindrical",
"dome",
"equirectangular",
"pyramid"
],
"type": "string"
},
"stereo_format": {
"description": "The 360 spatial stereo format.",
"enum": [
"left-right",
"mono",
"top-bottom"
],
"type": "string"
}
},
"type": "object"
},
"upload": {
"properties": {
"approach": {
"description": "The upload approach.",
"enum": [
"post",
"pull",
"streaming",
"tus"
],
"type": "string"
},
"link": {
"description": "The public URL at which the video is hosted. The URL must be valid for at least 24 hours. Use this parameter when `approach` is `pull`.",
"example": "https://example.com/video.mp4",
"type": "string"
},
"redirect_url": {
"description": "The app's redirect URL. Use this parameter when `approach` is `post`.",
"example": "https://example.com",
"type": "string"
},
"size": {
"description": "The size in bytes of the video to upload.",
"example": "13623861",
"type": "string"
}
},
"required": [
"approach"
],
"type": "object"
}
},
"required": [
"upload"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The upload procedure has begun."
},
"400": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: The body of the request isn't formatted properly.\n* Error code 2204: The request contains invalid parameters.\n* Error code 2204: The request contains invalid body parameters.\n* Error code 2230: The upload type is invalid.\n* Error code 3116: If a `type` payload parameter was supplied instead of `upload.approach`."
},
"401": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8002: No user is associated with the authentication token."
},
"403": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 4102: The user's allotted quota has been reached.\n* Error code 4101: The user's maximum disk space has been reached."
},
"500": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4003: There is a problem initiating the upload."
}
},
"summary": "Upload a video",
"tags": [
"Videos\\Upload"
]
}
},
"/me/videos/{video_id}": {
"get": {
"operationId": "check_if_user_owns_video_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The user owns the video."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user doesn't own the video."
}
},
"summary": "Check if a user owns a video",
"tags": [
"Videos\\Essentials"
]
}
},
"/me/watched/videos": {
"delete": {
"operationId": "delete_watch_history",
"responses": {
"204": {
"description": "The watch history was deleted."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a user's watch history",
"tags": [
"Users\\Watch History"
]
},
"get": {
"operationId": "get_watch_history",
"parameters": [
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"403": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user can't view another user's watch history."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the videos that a user has watched",
"tags": [
"Users\\Watch History"
]
}
},
"/me/watched/videos/{video_id}": {
"delete": {
"operationId": "delete_from_watch_history",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted from your watch history."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a specific video from a user's watch history",
"tags": [
"Users\\Watch History"
]
}
},
"/me/watchlater": {
"get": {
"operationId": "get_watch_later_queue_alt1",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"304": {
"description": "The user hasn't added any videos to their Watch Later queue since the given `If-Modified-Since` header."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the videos in a user's Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
}
},
"/me/watchlater/{video_id}": {
"delete": {
"operationId": "delete_video_from_watch_later_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Remove a video from a user's Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
},
"get": {
"operationId": "check_watch_later_queue_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video appears in the user's Watch Later queue."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video doesn't appear in the user's Watch Later queue."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Check if a user has added a specific video to their Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
},
"put": {
"operationId": "add_video_to_watch_later_alt1",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a video to a user's Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
}
},
"/oauth/access_token": {
"post": {
"operationId": "exchange_auth_code",
"requestBody": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"properties": {
"code": {
"description": "The authorization code received from the authorization server.",
"example": "1234abcd",
"type": "string"
},
"grant_type": {
"description": "The grant type. Must be set to `authorization_code`.",
"enum": [
"authorization_code"
],
"type": "string"
},
"redirect_uri": {
"description": "The redirect URI. Must match the URI from `/oauth/authorize`.",
"example": "https://example.com",
"type": "string"
}
},
"required": [
"code",
"grant_type",
"redirect_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth"
}
}
},
"description": "The authorization code was exchanged."
},
"400": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth-error"
}
}
},
"description": "* The grant type is invalid.\n* The authorization code is invalid.\n* The redirect URI doesn't match the URI to create the authorization code."
}
},
"summary": "Exchange an authorization code for an access token",
"tags": [
"Authentication Extras\\Essentials"
]
}
},
"/oauth/authorize/client": {
"post": {
"description": "For information on utilizing OAuth client authorization, see our\n[authentication](/api/authentication#generate-unauthenticated-tokens) documentation or the\n[Client Credentials Grant](https://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-4.4) section of the\n[OAuth spec](https://tools.ietf.org/html/draft-ietf-oauth-v2-31.",
"operationId": "client_auth",
"requestBody": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"properties": {
"grant_type": {
"description": "The grant type. Must be set to `client_credentials`.",
"enum": [
"client_credentials"
],
"type": "string"
},
"scope": {
"description": "A space-separated list of the authentication [scopes](https://developer.vimeo.com/api/authentication#supported-scopes) that you want to access. The default is `public`.",
"example": "public",
"type": "string"
}
},
"required": [
"grant_type",
"scope"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth"
}
}
},
"description": "The authorization was successful."
},
"401": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8001: No such client secret exists."
}
},
"summary": "Authorize a client with OAuth",
"tags": [
"Authentication Extras\\Essentials"
]
}
},
"/oauth/authorize/vimeo_oauth1": {
"post": {
"operationId": "convert_access_token",
"requestBody": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"properties": {
"grant_type": {
"description": "The grant type. Must be set to `vimeo_oauth1`.",
"enum": [
"vimeo_oauth1"
],
"type": "string"
},
"token": {
"description": "The OAuth 1 token.",
"example": "58037c0078d5f54e15e638cc0dd882a570b13c50",
"type": "string"
},
"token_secret": {
"description": "The OAuth 1 token secret.",
"example": "NTgwMzdjMDA3OGQ1ZjU0ZTE1ZTYzOGNjMGRkODgyYTU3MGIxM2M1MA==",
"type": "string"
}
},
"required": [
"grant_type",
"token",
"token_secret"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth"
}
}
},
"description": "The tokens were converted."
},
"400": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth-error"
}
}
},
"description": "* The token is invalid.\n* The token has unauthorized scopes."
}
},
"summary": "Convert OAuth 1 access tokens to OAuth 2 access tokens",
"tags": [
"Authentication Extras\\Essentials"
]
}
},
"/oauth/verify": {
"get": {
"operationId": "verify_token",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth"
}
}
},
"description": "The token was verified."
},
"401": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The token isn't a valid OAuth 2 token."
}
},
"summary": "Verify an OAuth 2 token",
"tags": [
"Authentication Extras\\Essentials"
]
}
},
"/ondemand/genres": {
"get": {
"operationId": "get_vod_genres",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-genre"
},
"type": "array"
}
}
},
"description": "The On Demand genres were returned."
}
},
"summary": "Get all On Demand genres",
"tags": [
"On Demand\\Genres"
]
}
},
"/ondemand/genres/{genre_id}": {
"get": {
"operationId": "get_vod_genre",
"parameters": [
{
"description": "The ID of the genre.",
"in": "path",
"name": "genre_id",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-genre"
}
}
},
"description": "The On Demand genre was returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand genre exists."
}
},
"summary": "Get a specific On Demand genre",
"tags": [
"On Demand\\Genres"
]
}
},
"/ondemand/genres/{genre_id}/pages": {
"get": {
"operationId": "get_genre_vods",
"parameters": [
{
"description": "The ID of the genre.",
"in": "path",
"name": "genre_id",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"country",
"my_region"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"name",
"publish.time",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-page"
},
"type": "array"
}
}
},
"description": "The On Demand pages were returned."
}
},
"summary": "Get all the On Demand pages in a genre",
"tags": [
"On Demand\\Genres"
]
}
},
"/ondemand/genres/{genre_id}/pages/{ondemand_id}": {
"get": {
"description": "Check whether a genre contains an On Demand page.",
"operationId": "get_genre_vod",
"parameters": [
{
"description": "The ID of the genre.",
"in": "path",
"name": "genre_id",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "The On Demand page belongs to the genre."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or genre exists."
}
},
"summary": "Get a specific On Demand page in a genre",
"tags": [
"On Demand\\Genres"
]
}
},
"/ondemand/pages/{ondemand_id}": {
"delete": {
"operationId": "delete_vod_draft",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The page draft was deleted."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a draft of an On Demand page",
"tags": [
"On Demand\\Essentials"
]
},
"get": {
"operationId": "get_vod",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "The On Demand page was returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"summary": "Get a specific On Demand page",
"tags": [
"On Demand\\Essentials"
]
},
"patch": {
"description": "Enable preorders or publish the page.",
"operationId": "edit_vod",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"properties": {
"link": {
"description": "The custom string to use in this On Demand page's Vimeo URL.",
"example": "darbyforever",
"type": "string"
},
"preorder": {
"properties": {
"active": {
"description": "If set to true, you will enable pre-orders on the On Demand page.",
"example": "true",
"type": "boolean"
},
"publish_time": {
"description": "The time that the On Demand page will be published. *Required if `preorder.active` is `true`.",
"example": "2017-05-16T15:05:43+00:00",
"type": "string"
}
},
"type": "object"
},
"publish": {
"properties": {
"active": {
"description": "Whether to publish the On Demand page.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"publish_when_ready": {
"description": "Whether to publish the On Demand page automatically after all videos are finished transcoding.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "The On Demand page was edited."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't edit the On Demand page."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit an On Demand page",
"tags": [
"On Demand\\Essentials"
]
}
},
"/ondemand/pages/{ondemand_id}/backgrounds": {
"get": {
"operationId": "get_vod_backgrounds",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The background images were returned."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"summary": "Get all the backgrounds of an On Demand page",
"tags": [
"On Demand\\Backgrounds"
]
},
"post": {
"operationId": "create_vod_background",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The background was created."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a background to an On Demand page",
"tags": [
"On Demand\\Backgrounds"
]
}
},
"/ondemand/pages/{ondemand_id}/backgrounds/{background_id}": {
"delete": {
"operationId": "delete_vod_background",
"parameters": [
{
"description": "The ID of the background.",
"in": "path",
"name": "background_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"204": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The background image was deleted."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "If you are attempting to modify an On Demand page you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or background image exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a background from an On Demand page",
"tags": [
"On Demand\\Backgrounds"
]
},
"get": {
"operationId": "get_vod_background",
"parameters": [
{
"description": "The ID of the background.",
"in": "path",
"name": "background_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The background image was returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't view another user's On Demand page background."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or background image exists."
}
},
"summary": "Get a specific background of an On Demand page",
"tags": [
"On Demand\\Backgrounds"
]
},
"patch": {
"operationId": "edit_vod_background",
"parameters": [
{
"description": "The ID of the background.",
"in": "path",
"name": "background_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether to make this background the active background.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The background was edited."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or background image exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a background of an On Demand page",
"tags": [
"On Demand\\Backgrounds"
]
}
},
"/ondemand/pages/{ondemand_id}/genres": {
"get": {
"operationId": "get_vod_genres_by_ondemand_id",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-genre"
},
"type": "array"
}
}
},
"description": "The genres were returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"summary": "Get all the genres of an On Demand page",
"tags": [
"On Demand\\Genres"
]
}
},
"/ondemand/pages/{ondemand_id}/genres/{genre_id}": {
"delete": {
"operationId": "delete_vod_genre",
"parameters": [
{
"description": "The ID of the genre.",
"in": "path",
"name": "genre_id",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The On Demand genre was deleted."
},
"400": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The On Demand page must belong to at least one genre."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or genre exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a genre from an On Demand page",
"tags": [
"On Demand\\Genres"
]
},
"get": {
"operationId": "get_vod_genre_by_ondemand_id",
"parameters": [
{
"description": "The ID of the genre.",
"in": "path",
"name": "genre_id",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-genre"
}
}
},
"description": "The On Demand page's genre was returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or genre exists."
}
},
"summary": "Check whether an On Demand page belongs to a genre",
"tags": [
"On Demand\\Genres"
]
},
"put": {
"operationId": "add_vod_genre",
"parameters": [
{
"description": "The ID of the genre.",
"in": "path",
"name": "genre_id",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-genre"
}
}
},
"description": "The genre was added."
},
"400": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't add more than two genres to an On Demand page."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.genre+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or genre exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a genre to an On Demand page",
"tags": [
"On Demand\\Genres"
]
}
},
"/ondemand/pages/{ondemand_id}/likes": {
"get": {
"description": "This method gets all the users who have liked a particular video on an On Demand page.",
"operationId": "get_vod_likes",
"parameters": [
{
"description": "The ID of the On Demand page.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"extra",
"main",
"trailer"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users were returned."
}
},
"summary": "Get all the users who have liked a video on an On Demand page",
"tags": [
"Likes\\Essentials"
]
}
},
"/ondemand/pages/{ondemand_id}/pictures": {
"get": {
"operationId": "get_vod_posters",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The posters were returned."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"summary": "Get all the posters of an On Demand page",
"tags": [
"On Demand\\Posters"
]
},
"post": {
"operationId": "add_vod_poster",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The poster was added."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify another user's On Demand page."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a poster to an On Demand page",
"tags": [
"On Demand\\Posters"
]
}
},
"/ondemand/pages/{ondemand_id}/pictures/{poster_id}": {
"get": {
"operationId": "get_vod_poster",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the picture.",
"in": "path",
"name": "poster_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The poster was returned."
}
},
"summary": "Get a specific poster of an On Demand page",
"tags": [
"On Demand\\Posters"
]
},
"patch": {
"operationId": "edit_vod_poster",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the picture.",
"in": "path",
"name": "poster_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether to make this picture the active picture.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The poster was edited."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a poster of an On Demand page",
"tags": [
"On Demand\\Posters"
]
}
},
"/ondemand/pages/{ondemand_id}/promotions": {
"get": {
"operationId": "get_vod_promotions",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The filter to apply to the results.",
"in": "query",
"name": "filter",
"required": true,
"schema": {
"enum": [
"batch",
"default",
"single",
"vip"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-promotion"
}
}
},
"description": "The promotions were returned."
},
"400": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The filter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't view promotions for an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"security": [
{
"oauth2": [
"promo_codes"
]
}
],
"summary": "Get all the promotions on an On Demand page",
"tags": [
"On Demand\\Promotions"
]
},
"post": {
"operationId": "create_vod_promotion",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"properties": {
"access_type": {
"description": "The promotion access type, which is a purchase option that isn't available on the container. VIP promotions always make the content free of charge. If you use this type, you must further define the promotion with the `download` or `stream_period` fields.\n\nOption descriptions:\n * `default` - Promotions grant discount on the existing purchase options for an On Demand Container.\n * `vip` - Promotions can be used to grant free access to VOD content before it is released, or to offer a purchase option that isn't available on the container. \"vip\" promotions will always make the content free, and must be further defined with the `download` or `stream_period` fields.\n",
"enum": [
"default",
"vip"
],
"type": "string"
},
"code": {
"description": "The promotion code. This field is ignored for batch promotions.",
"example": "sxsw2018",
"type": "string"
},
"discount_type": {
"description": "The type of discount offered by the promo code. When `access_type` is `vip`, the value of this field must be `free`.\n\nOption descriptions:\n * `free` - Reduces the price to zero.\n * `percent` - Reduces the price by an amount defined in the \"percent_off\" field.\n",
"enum": [
"free",
"percent"
],
"type": "string"
},
"download": {
"description": "Whether the promotion grants download access to VOD content. This is necessary only when not previously defined in the On Demand container or when `access_type` is `vip` or `product_type` is `buy`.",
"example": "true",
"type": "boolean"
},
"end_time": {
"description": "The end of the promotion period. If you don't specify a value, the promotion will never expire.",
"example": "1526089920",
"type": "string"
},
"label": {
"description": "The description of a batch promotion. This field is ignored for single promotions.",
"example": "sxsw",
"type": "string"
},
"percent_off": {
"description": "The percentage of the discount by using this promo code. This field is applicable only when `discount_type` is `percent`.",
"example": 50,
"type": "number"
},
"product_type": {
"description": "The type of transaction to which the promotion applies. When `access_type` is `default`, the default value is `any`, but the default value is `rent` when `access_type` is `vip`. Also, when `access_type` is `vip`, the only valid product types are `buy` and `rent`.",
"enum": [
"any",
"buy",
"buy_episode",
"rent",
"rent_episode",
"subscribe"
],
"type": "string"
},
"start_time": {
"description": "The start of the promotion period. If you don't specify a value, the start time defaults to the time that the promotion was created.",
"example": "1526089920",
"type": "string"
},
"stream_period": {
"description": "The amount of time that a user has access to the VOD content upon redeeming a promo code. This field is necessary only when not defined in the On Demand container or when creating promotions when `access_type` is `vip` or `product_type` is `rent`.",
"enum": [
"1_week",
"1_year",
"24_hour",
"30_day",
"3_month",
"48_hour",
"6_month",
"72_hour"
],
"type": "string"
},
"total": {
"description": "The number of promotions to generate when `type` is `batch`, or the number of uses of the promotion when `type` is `single`.",
"example": 9,
"type": "number"
},
"type": {
"description": "The type of promotion. When `access_type` is `vip`, the value for this field must be `batch`.\n\nOption descriptions:\n * `batch` - Generates many random promo codes with one use each.\n * `single` - Generates one promo code that can be used many times.\n",
"enum": [
"batch",
"single"
],
"type": "string"
}
},
"required": [
"download",
"stream_period",
"total",
"type"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-promotion"
}
}
},
"description": "The promotion was added."
},
"400": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* There are errors in the request.\n* The promo code already exists."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't create promotions for an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"security": [
{
"oauth2": [
"promo_codes",
"create"
]
}
],
"summary": "Add a promotion to an On Demand page",
"tags": [
"On Demand\\Promotions"
]
}
},
"/ondemand/pages/{ondemand_id}/promotions/{promotion_id}": {
"delete": {
"operationId": "delete_vod_promotion",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the promotion.",
"in": "path",
"name": "promotion_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The promotion was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't delete a promotion for an On Demand page that you not own."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or promotion exists."
}
},
"security": [
{
"oauth2": [
"promo_codes",
"delete"
]
}
],
"summary": "Remove a promotion from an On Demand page",
"tags": [
"On Demand\\Promotions"
]
},
"get": {
"operationId": "get_vod_promotion",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the promotion.",
"in": "path",
"name": "promotion_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-promotion"
}
}
},
"description": "The promotion was returned."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't view a promotion for an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.promotion+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or promotion exists."
}
},
"security": [
{
"oauth2": [
"promo_codes"
]
}
],
"summary": "Get a specific promotion on an On Demand page",
"tags": [
"On Demand\\Promotions"
]
}
},
"/ondemand/pages/{ondemand_id}/promotions/{promotion_id}/codes": {
"get": {
"operationId": "get_vod_promotion_codes",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the promotion.",
"in": "path",
"name": "promotion_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.promocode+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-promotion-code"
}
}
},
"description": "The codes were returned."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.promocode+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't create promotions for an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.promocode+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"security": [
{
"oauth2": [
"promo_codes"
]
}
],
"summary": "Get all the codes of a promotion on an On Demand page",
"tags": [
"On Demand\\Promotions"
]
}
},
"/ondemand/pages/{ondemand_id}/regions": {
"delete": {
"operationId": "delete_vod_regions",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"properties": {
"countries": {
"description": "An array of country codes.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-region"
},
"type": "array"
}
}
},
"description": "The On Demand regions were deleted."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or region exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a list of regions from an On Demand page",
"tags": [
"On Demand\\Regions"
]
},
"get": {
"operationId": "get_vod_regions",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-region"
},
"type": "array"
}
}
},
"description": "The regions were returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"summary": "Get all the regions of an On Demand page",
"tags": [
"On Demand\\Regions"
]
},
"put": {
"operationId": "set_vod_regions",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"properties": {
"countries": {
"description": "An array of country codes.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"countries"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-region"
}
}
},
"description": "The list of regions was set."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or region exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a list of regions to an On Demand page",
"tags": [
"On Demand\\Regions"
]
}
},
"/ondemand/pages/{ondemand_id}/regions/{country}": {
"delete": {
"operationId": "delete_vod_region",
"parameters": [
{
"description": "The country code.",
"in": "path",
"name": "country",
"required": true,
"schema": {
"example": "US",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The On Demand region was deleted."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or region exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a specific region from an On Demand page",
"tags": [
"On Demand\\Regions"
]
},
"get": {
"description": "Checks whether an On Demand page belongs to a region.",
"operationId": "get_vod_region",
"parameters": [
{
"description": "The country code.",
"in": "path",
"name": "country",
"required": true,
"schema": {
"example": "US",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-region"
}
}
},
"description": "The On Demand page's region was returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or region exists."
}
},
"summary": "Get a specific region of an On Demand page",
"tags": [
"On Demand\\Regions"
]
},
"put": {
"operationId": "add_vod_region",
"parameters": [
{
"description": "The country code.",
"in": "path",
"name": "country",
"required": true,
"schema": {
"example": "US",
"type": "string"
}
},
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-region"
}
}
},
"description": "The region was added."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or region exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific region to an On Demand page",
"tags": [
"On Demand\\Regions"
]
}
},
"/ondemand/pages/{ondemand_id}/seasons": {
"get": {
"operationId": "get_vod_seasons",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"viewable"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"date",
"manual"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.season+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-season"
},
"type": "array"
}
}
},
"description": "The seasons were returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.season+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page exists."
}
},
"summary": "Get all the seasons on an On Demand page",
"tags": [
"On Demand\\Seasons"
]
}
},
"/ondemand/pages/{ondemand_id}/seasons/{season_id}": {
"get": {
"operationId": "get_vod_season",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the season.",
"in": "path",
"name": "season_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.season+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-season"
}
}
},
"description": "The season was returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.season+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand page or season exists."
}
},
"summary": "Get a specific season on an On Demand page",
"tags": [
"On Demand\\Seasons"
]
}
},
"/ondemand/pages/{ondemand_id}/seasons/{season_id}/videos": {
"get": {
"operationId": "get_vod_season_videos",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the season.",
"in": "path",
"name": "season_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"viewable"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"date",
"default",
"manual",
"name",
"purchase_time",
"release_date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos in a season on an On Demand page",
"tags": [
"On Demand\\Seasons"
]
}
},
"/ondemand/pages/{ondemand_id}/videos": {
"get": {
"operationId": "get_vod_videos",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"all",
"buy",
"expiring_soon",
"extra",
"main",
"main.viewable",
"rent",
"trailer",
"unwatched",
"viewable",
"watched"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"date",
"default",
"episode",
"manual",
"name",
"purchase_time",
"release_date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "* The videos were returned.\n* The videos were returned."
}
},
"summary": "Get all the videos on an On Demand page",
"tags": [
"On Demand\\Videos"
]
}
},
"/ondemand/pages/{ondemand_id}/videos/{video_id}": {
"delete": {
"operationId": "delete_video_from_vod",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a video from an On Demand page",
"tags": [
"On Demand\\Videos"
]
},
"get": {
"operationId": "get_vod_video",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video is on the On Demand page."
}
},
"summary": "Get a specific video on an On Demand page",
"tags": [
"On Demand\\Videos"
]
},
"put": {
"operationId": "add_video_to_vod",
"parameters": [
{
"description": "The ID of the On Demand.",
"in": "path",
"name": "ondemand_id",
"required": true,
"schema": {
"example": 61326,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"properties": {
"buy": {
"properties": {
"price": {
"properties": {
"AUD": {
"description": "The purchase price of this video in AUD.",
"example": 1.99,
"type": "number"
},
"CAD": {
"description": "The purchase price of this video in CAD.",
"example": 1.99,
"type": "number"
},
"CHF": {
"description": "The purchase price of this video in CHF.",
"example": 1.99,
"type": "number"
},
"DKK": {
"description": "The purchase price of this video in DKK.",
"example": 1.99,
"type": "number"
},
"EUR": {
"description": "The purchase price of this video in EUR.",
"example": 1.99,
"type": "number"
},
"GBP": {
"description": "The purchase price of this video in GBP.",
"example": 1.99,
"type": "number"
},
"JPY": {
"description": "The purchase price of this video in JPY.",
"example": 1.99,
"type": "number"
},
"KRW": {
"description": "The purchase price of this video in KRW.",
"example": 1.99,
"type": "number"
},
"NOK": {
"description": "The purchase price of this video in NOK.",
"example": 1.99,
"type": "number"
},
"PLN": {
"description": "The purchase price of this video in PLN.",
"example": 1.99,
"type": "number"
},
"SEK": {
"description": "The purchase price of this video in SEK.",
"example": 1.99,
"type": "number"
},
"USD": {
"description": "The purchase price of this video in USD. *Required if `buy.active` is true.",
"example": 1.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"position": {
"description": "The position of this video in the On Demand collection.",
"example": 10,
"type": "number"
},
"release_year": {
"description": "The video release year.",
"example": 2018,
"type": "number"
},
"rent": {
"properties": {
"price": {
"properties": {
"AUD": {
"description": "The rental price of this video in AUD.",
"example": 0.99,
"type": "number"
},
"CAD": {
"description": "The rental price of this video in CAD.",
"example": 0.99,
"type": "number"
},
"CHF": {
"description": "The rental price of this video in CHF.",
"example": 0.99,
"type": "number"
},
"DKK": {
"description": "The rental price of this video in DKK.",
"example": 0.99,
"type": "number"
},
"EUR": {
"description": "The rental price of this video in EUR.",
"example": 0.99,
"type": "number"
},
"GBP": {
"description": "The rental price of this video in GBP.",
"example": 0.99,
"type": "number"
},
"JPY": {
"description": "The rental price of this video in JPY.",
"example": 0.99,
"type": "number"
},
"KRW": {
"description": "The rental price of this video in KRW.",
"example": 0.99,
"type": "number"
},
"NOK": {
"description": "The rental price of this video in NOK.",
"example": 0.99,
"type": "number"
},
"PLN": {
"description": "The rental price of this video in PLN.",
"example": 0.99,
"type": "number"
},
"SEK": {
"description": "The rental price of this video in SEK.",
"example": 0.99,
"type": "number"
},
"USD": {
"description": "The rental price of this video in USD. *Required if `rent.active` is true.",
"example": 0.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"type": {
"description": "The type of video that you are adding to the On Demand page.",
"enum": [
"extra",
"main",
"trailer"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-video"
}
}
},
"description": "The video was added."
},
"400": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't add the video to this On Demand page."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't modify an On Demand page that you don't own."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a video to an On Demand page",
"tags": [
"On Demand\\Videos"
]
}
},
"/ondemand/regions": {
"get": {
"operationId": "get_regions",
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-region"
},
"type": "array"
}
}
},
"description": "The On Demand regions were returned."
}
},
"summary": "Get all the On Demand regions",
"tags": [
"On Demand\\Regions"
]
}
},
"/ondemand/regions/{country}": {
"get": {
"operationId": "get_region",
"parameters": [
{
"description": "The country code.",
"in": "path",
"name": "country",
"required": true,
"schema": {
"example": "US",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-region"
}
}
},
"description": "The On Demand region was returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.region+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such On Demand region exists."
}
},
"summary": "Get a specific On Demand region",
"tags": [
"On Demand\\Regions"
]
}
},
"/tags/{word}": {
"get": {
"operationId": "get_tag",
"parameters": [
{
"description": "The tag to return.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/tag"
}
}
},
"description": "The tag was returned."
}
},
"summary": "Get a specific tag",
"tags": [
"Tags\\Essentials"
]
}
},
"/tags/{word}/videos": {
"get": {
"operationId": "get_videos_with_tag",
"parameters": [
{
"description": "The tag word.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"created_time",
"duration",
"name"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such tag exists."
}
},
"summary": "Get all the videos with a specific tag",
"tags": [
"Videos\\Tags"
]
}
},
"/tokens": {
"delete": {
"description": "This method enables an app to notify the API that it is done with a token and that the token can be discarded.",
"operationId": "delete_token",
"responses": {
"204": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/auth"
}
}
},
"description": "The token was revoked."
},
"400": {
"content": {
"application/vnd.vimeo.auth+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You can't revoke access for an OAuth 1 token."
}
},
"summary": "Revoke the current access token",
"tags": [
"Authentication Extras\\Essentials"
]
}
},
"/users": {
"get": {
"operationId": "search_users",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"followers",
"relevant",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The search results were returned."
},
"500": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "There was an internal search error."
},
"503": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "Search is disabled."
}
},
"summary": "Search for users",
"tags": [
"Users\\Internal"
]
}
},
"/users/{user_id}": {
"get": {
"operationId": "get_user",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The user was returned."
}
},
"summary": "Get a user",
"tags": [
"Users\\Essentials"
]
},
"patch": {
"operationId": "edit_user",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"properties": {
"bio": {
"description": "The user's bio.",
"example": "This is where you will find videos and news updates from the staff",
"type": "string"
},
"content_filter": {
"description": "A list of values describing the content in this video. Find the full list in the [/contentratings](https://developer.vimeo.com/api/endpoints/videos#GET/contentratings) endpoint. You must provide a comma-separated list if you are using a query string or an array if you are using JSON.",
"items": {
"type": "string"
},
"type": "array"
},
"link": {
"description": "The user's custom Vimeo URL slug.",
"example": "staff",
"type": "string"
},
"location": {
"description": "The user's location.",
"example": "New York City",
"type": "string"
},
"name": {
"description": "The user's display name.",
"example": "Vimeo Staff",
"type": "string"
},
"password": {
"description": "The default password for all future videos that this user uploads. To use this field, the `videos.privacy.view` field must be `password`.",
"example": "hunter1",
"type": "string"
},
"videos": {
"properties": {
"privacy": {
"properties": {
"add": {
"description": "Whether a user can add the video to an album, channel, or group. This value becomes the default add setting for all future videos uploaded by the user.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "Who can comment on the video. This value becomes the default comment setting for all future videos that this user uploads.",
"enum": [
"anybody",
"contacts",
"nobody"
],
"type": "string"
},
"download": {
"description": "Whether a user can download the video. This value becomes the default download setting for all future videos that this user uploads.",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The privacy for embed videos. The `whitelist` value enables you to define all valid embed domains. See our [documentation](https://developer.vimeo.com/api/endpoints/videos#/{video_id}/privacy/domains) for adding and removing domains.",
"enum": [
"private",
"public",
"whitelist"
],
"type": "string"
},
"view": {
"description": "Who can view the video. This value becomes the default view setting for all future videos that this user uploads.",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The user was edited."
}
},
"summary": "Edit a user",
"tags": [
"Users\\Essentials"
]
}
},
"/users/{user_id}/albums": {
"get": {
"operationId": "get_albums",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"duration",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/album"
},
"type": "array"
}
}
},
"description": "The albums were returned."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
}
},
"summary": "Get all the albums that belong to a user",
"tags": [
"Albums\\Essentials"
]
},
"post": {
"operationId": "create_album",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"properties": {
"brand_color": {
"description": "The hexadecimal code for the color of the player buttons.",
"example": "ff66ee",
"type": "string"
},
"description": {
"description": "The description of the album.",
"example": "Vimeo holiday videos!",
"type": "string"
},
"hide_nav": {
"description": "Whether to hide Vimeo navigation when displaying the album.",
"example": "true",
"type": "boolean"
},
"layout": {
"description": "The type of layout for presenting the album.",
"enum": [
"grid",
"player"
],
"type": "string"
},
"name": {
"description": "The name of the album.",
"example": "Vimeo Holiday Videos!",
"type": "string"
},
"password": {
"description": "The album's password. Required only if **privacy** is `password`.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"description": "The privacy level of the album.",
"enum": [
"anybody",
"embed_only",
"password"
],
"type": "string"
},
"review_mode": {
"description": "Whether album videos should use the review mode URL.",
"example": "true",
"type": "boolean"
},
"sort": {
"description": "The default sort order of the album's videos.",
"enum": [
"added_first",
"added_last",
"alphabetical",
"arranged",
"comments",
"likes",
"newest",
"oldest",
"plays"
],
"type": "string"
},
"theme": {
"description": "The color theme of the album.",
"enum": [
"dark",
"standard"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was created."
},
"400": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't create an album."
}
},
"security": [
{
"oauth2": [
"create"
]
}
],
"summary": "Create an album",
"tags": [
"Albums\\Essentials"
]
}
},
"/users/{user_id}/albums/{album_id}": {
"delete": {
"operationId": "delete_album",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The album was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't delete the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete an album",
"tags": [
"Albums\\Essentials"
]
},
"get": {
"operationId": "get_album",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was returned."
},
"404": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"summary": "Get a specific album",
"tags": [
"Albums\\Essentials"
]
},
"patch": {
"operationId": "edit_album",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"properties": {
"brand_color": {
"description": "The hexadecimal code for the color of the player buttons.",
"example": "ff66ee",
"type": "string"
},
"description": {
"description": "The description of the album.",
"example": "Vimeo holiday videos!",
"type": "string"
},
"domain": {
"description": "The custom domain a user has selected for their album.",
"example": "mycustomdomain.com",
"nullable": true,
"type": "string"
},
"hide_nav": {
"description": "Whether to hide Vimeo navigation when displaying the album.",
"example": "true",
"type": "boolean"
},
"layout": {
"description": "The type of layout for presenting the album.",
"enum": [
"grid",
"player"
],
"type": "string"
},
"name": {
"description": "The name of the album.",
"example": "Vimeo Holiday Videos!",
"type": "string"
},
"password": {
"description": "The album's password. Required only if **privacy** is `password`.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"description": "The privacy level of the album.",
"enum": [
"anybody",
"embed_only",
"password"
],
"type": "string"
},
"review_mode": {
"description": "Whether album videos should use the review mode URL.",
"example": "true",
"type": "boolean"
},
"sort": {
"description": "The default sort order of the album's videos.",
"enum": [
"added_first",
"added_last",
"alphabetical",
"arranged",
"comments",
"likes",
"newest",
"oldest",
"plays"
],
"type": "string"
},
"theme": {
"description": "The color theme of the album.",
"enum": [
"dark",
"standard"
],
"type": "string"
},
"url": {
"description": "The custom Vimeo URL a user has selected for their album.",
"example": "my-custom-url",
"nullable": true,
"type": "string"
},
"use_custom_domain": {
"description": "Whether the user has opted in to use a custom domain for their album.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was edited."
},
"400": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The 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."
},
"404": {
"content": {
"application/vnd.vimeo.album+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit an album",
"tags": [
"Albums\\Essentials"
]
}
},
"/users/{user_id}/albums/{album_id}/custom_thumbnails": {
"get": {
"operationId": "get_album_custom_thumbs",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The custom uploaded thumbnails were returned."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"summary": "Get all the custom upload thumbnails of an album",
"tags": [
"Albums\\Custom album thumbnails"
]
},
"post": {
"operationId": "create_album_custom_thumb",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom thumbnail was added to the album."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this album."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a custom uploaded thumbnail",
"tags": [
"Albums\\Custom album thumbnails"
]
}
},
"/users/{user_id}/albums/{album_id}/custom_thumbnails/{thumbnail_id}": {
"delete": {
"description": "This method removes a custom uploaded thumbnail from the specified album.",
"operationId": "delete_album_custom_thumbnail",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the custom thumbnail.",
"in": "path",
"name": "thumbnail_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The custom thumbnail was removed."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this album."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or it doesn't contain the specified custom thumbnail."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a custom uploaded album thumbnail",
"tags": [
"Albums\\Custom album thumbnails"
]
},
"get": {
"operationId": "get_album_custom_thumbnail",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the custom thumbnail.",
"in": "path",
"name": "thumbnail_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom thumbnail was returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't view this custom thumbnail."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or it doesn't contain the specified custom thumbnail."
}
},
"summary": "Get a specific custom uploaded album thumbnail",
"tags": [
"Albums\\Custom album thumbnails"
]
},
"patch": {
"operationId": "replace_album_custom_thumb",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the custom thumbnail.",
"in": "path",
"name": "thumbnail_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether to make this the active album thumbnail.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom thumbnail was replaced."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this album."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or it doesn't contain the specified custom thumbnail."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Replace a custom uploaded album thumbnail",
"tags": [
"Albums\\Custom album thumbnails"
]
}
},
"/users/{user_id}/albums/{album_id}/logos": {
"get": {
"operationId": "get_album_logos",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The custom logos were returned."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"summary": "Get all the custom logos of an album",
"tags": [
"Albums\\Custom album logos"
]
},
"post": {
"operationId": "create_album_logo",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The logo was added to the album."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this album."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a custom album logo",
"tags": [
"Albums\\Custom album logos"
]
}
},
"/users/{user_id}/albums/{album_id}/logos/{logo_id}": {
"delete": {
"description": "This method removes a custom logo from the specified album.",
"operationId": "delete_album_logo",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the custom logo.",
"in": "path",
"name": "logo_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The custom logo was removed."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this album."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or it doesn't contain the specified custom logo."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a custom album logo",
"tags": [
"Albums\\Custom album logos"
]
},
"get": {
"operationId": "get_album_logo",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the custom logo.",
"in": "path",
"name": "logo_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't view this custom logo."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or it doesn't contain the specified custom logo."
}
},
"summary": "Get a specific custom album logo",
"tags": [
"Albums\\Custom album logos"
]
},
"patch": {
"operationId": "replace_album_logo",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the custom logo.",
"in": "path",
"name": "logo_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether to make this the active album logo.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was replaced."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't modify this album."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or it doesn't contain the specified custom logo."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Replace a custom album logo",
"tags": [
"Albums\\Custom album logos"
]
}
},
"/users/{user_id}/albums/{album_id}/videos": {
"get": {
"operationId": "get_album_videos",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page containing the video URI.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The password of the album.",
"in": "query",
"name": "password",
"required": false,
"schema": {
"example": "hunter1",
"type": "string"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"default",
"duration",
"likes",
"manual",
"modified_time",
"plays"
],
"type": "string"
}
},
{
"description": "Whether to include private videos in the search. Please note that a separate search service provides this functionality. The service performs a partial text search on the video's name.",
"in": "query",
"name": "weak_search",
"required": false,
"schema": {
"example": "false",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"summary": "Get all the videos in an album",
"tags": [
"Albums\\Album videos"
]
},
"put": {
"description": "This method replaces all the existing videos in an album with one or more videos.",
"operationId": "replace_videos_in_album",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"videos": {
"description": "A comma-separated list of video URIs.",
"example": "/videos/258684937,/videos/273576296",
"type": "string"
}
},
"required": [
"videos"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "The videos were added."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't add videos to albums."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Replace all the videos in an album",
"tags": [
"Albums\\Album videos"
]
}
},
"/users/{user_id}/albums/{album_id}/videos/{video_id}": {
"delete": {
"operationId": "remove_video_from_album",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was removed."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a video from an album",
"tags": [
"Albums\\Album videos"
]
},
"get": {
"description": "This method gets a single video from an album. You can use this method to determine whether the album contains the specified video.",
"operationId": "get_album_video",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 3706071,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
},
{
"description": "The password of the album.",
"in": "query",
"name": "password",
"required": false,
"schema": {
"example": "hunter1",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists, or the video wasn't found in it."
}
},
"summary": "Get a specific video in an album",
"tags": [
"Albums\\Album videos"
]
},
"put": {
"operationId": "add_video_to_album",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The supplied token doesn't have the proper scopes, or the authenticated user can't edit the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such album exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific video to an album",
"tags": [
"Albums\\Album videos"
]
}
},
"/users/{user_id}/albums/{album_id}/videos/{video_id}/set_album_thumbnail": {
"post": {
"operationId": "set_video_as_album_thumbnail",
"parameters": [
{
"description": "The ID of the album.",
"in": "path",
"name": "album_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 196367152,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"time_code": {
"description": "The video frame time in seconds to use as the album thumbnail.",
"example": 300,
"type": "number"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/album"
}
}
},
"description": "The album was updated with a new thumbnail."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3429: The authenticated user can't edit the album."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such album, or user, or video exists."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4016: Unexpected error while setting thumbnail."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Set a video as the album thumbnail",
"tags": [
"Albums\\Album videos"
]
}
},
"/users/{user_id}/appearances": {
"get": {
"operationId": "get_appearances",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos in which a user appears",
"tags": [
"Videos\\Essentials"
]
}
},
"/users/{user_id}/categories": {
"get": {
"operationId": "get_category_subscriptions",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"name"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
}
}
},
"description": "The categories were returned."
},
"403": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: You can't view another user."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the categories that a user follows",
"tags": [
"Categories\\Subscriptions"
]
}
},
"/users/{user_id}/categories/{category}": {
"delete": {
"operationId": "unsubscribe_from_category",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was unsubscribed."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Unsubscribe a user from a category",
"tags": [
"Categories\\Subscriptions"
]
},
"get": {
"operationId": "check_if_user_subscribed_to_category",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": "animation",
"type": "string"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user is following the category."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Check if a user follows a category",
"tags": [
"Categories\\Subscriptions"
]
},
"put": {
"operationId": "subscribe_to_category",
"parameters": [
{
"description": "The name of the category.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"example": 0,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was subscribed."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Subscribe a user to a single category",
"tags": [
"Categories\\Subscriptions"
]
}
},
"/users/{user_id}/channels": {
"get": {
"operationId": "get_channel_subscriptions",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"moderated"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"followers",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/channel"
},
"type": "array"
}
}
},
"description": "The channels were returned."
},
"304": {
"description": "No channel has been followed since the given `If-Modified-Since` header."
}
},
"summary": "Get all the channels to which a user subscribes",
"tags": [
"Channels\\Essentials"
]
}
},
"/users/{user_id}/channels/{channel_id}": {
"delete": {
"operationId": "unsubscribe_from_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user is no longer a follower of the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Unsubscribe a user from a specific channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
},
"get": {
"operationId": "check_if_user_subscribed_to_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user follows the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"summary": "Check if a user follows a channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
},
"put": {
"operationId": "subscribe_to_channel",
"parameters": [
{
"description": "The ID of the channel.",
"in": "path",
"name": "channel_id",
"required": true,
"schema": {
"example": 927,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user is now a follower of the channel."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such channel exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Subscribe a user to a specific channel",
"tags": [
"Channels\\Subscriptions and subscribers"
]
}
},
"/users/{user_id}/customlogos": {
"get": {
"operationId": "get_custom_logos",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The custom logos were returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The user can't view this custom logo.\n* The user can't view custom logos."
}
},
"summary": "Get all the custom logos that belong to a user",
"tags": [
"Embed Presets\\Custom Logos"
]
},
"post": {
"operationId": "create_custom_logo",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was created."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* You can't upload pictures for another user's videos.\n* The user can't add a custom logo."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a custom logo",
"tags": [
"Embed Presets\\Custom Logos"
]
}
},
"/users/{user_id}/customlogos/{logo_id}": {
"get": {
"operationId": "get_custom_logo",
"parameters": [
{
"description": "The ID of the custom logo.",
"in": "path",
"name": "logo_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user can't view custom logos."
}
},
"summary": "Get a specific custom logo",
"tags": [
"Embed Presets\\Custom Logos"
]
}
},
"/users/{user_id}/feed": {
"get": {
"operationId": "get_feed",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "Necessary for proper pagination. You shouldn't provide this value yourself, and instead use the pagination links in the feed response. Please see our [pagination documentation](https://developer.vimeo.com/api/common-formats#using-the-pagination-parameter) for more information.",
"in": "query",
"name": "offset",
"required": false,
"schema": {
"example": "280",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The feed type.",
"in": "query",
"name": "type",
"required": false,
"schema": {
"enum": [
"appears",
"category_featured",
"channel",
"facebook_feed",
"following",
"group",
"likes",
"ondemand_publish",
"share",
"tagged_with",
"twitter_timeline",
"uploads"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.activity+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/activity-3-1"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all videos in a user's feed",
"tags": [
"Users\\Feed"
]
}
},
"/users/{user_id}/followers": {
"get": {
"operationId": "get_followers",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The user's followers were returned."
}
},
"summary": "Get all the followers of a user",
"tags": [
"Users\\Follows"
]
}
},
"/users/{user_id}/following": {
"get": {
"operationId": "get_user_following",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"online"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The followed users were returned."
}
},
"summary": "Get all the users that a user is following",
"tags": [
"Users\\Follows"
]
},
"post": {
"operationId": "follow_users",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"users": {
"description": "An array of user URIs for the list of users to follow.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"users"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "The users were followed."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: The request body is empty.\n* Error code 2205: The `users` array is invalid.\n* Error code 2205: The list of users doesn't contain URIs.\n* Error code 2900: A user in the list doesn't exist.\n* Error code 2901: The list contains more than 100 users."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user access token is invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3417: The current user can't follow other users."
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 9006: The current user is rate-limited from following other users."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4005: An unexpected error occurred."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Follow a list of users",
"tags": [
"Users\\Follows"
]
}
},
"/users/{user_id}/following/{follow_user_id}": {
"delete": {
"operationId": "unfollow_user",
"parameters": [
{
"description": "The ID of the following user.",
"in": "path",
"name": "follow_user_id",
"required": true,
"schema": {
"example": 3766357,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was unfollowed."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Unfollow a user",
"tags": [
"Users\\Follows"
]
},
"get": {
"operationId": "check_if_user_is_following",
"parameters": [
{
"description": "The ID of the following user.",
"in": "path",
"name": "follow_user_id",
"required": true,
"schema": {
"example": 3766357,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The authenticated user follows the user in question."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user in question doesn't follow the authenticated user."
}
},
"summary": "Check if a user is following another user",
"tags": [
"Users\\Follows"
]
},
"put": {
"operationId": "follow_user",
"parameters": [
{
"description": "The ID of the following user.",
"in": "path",
"name": "follow_user_id",
"required": true,
"schema": {
"example": 3766357,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was followed."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't add followers."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Follow a specific user",
"tags": [
"Users\\Follows"
]
}
},
"/users/{user_id}/groups": {
"get": {
"operationId": "get_user_groups",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"moderated"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"members",
"videos"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.group+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/group"
},
"type": "array"
}
}
},
"description": "The groups were returned."
}
},
"summary": "Get all the groups that a user has joined",
"tags": [
"Groups\\Users"
]
}
},
"/users/{user_id}/groups/{group_id}": {
"delete": {
"operationId": "leave_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user left the group."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user owns the group. To remove this user, first apply a new group owner through PATCH."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Remove a user from a group",
"tags": [
"Groups\\Subscription"
]
},
"get": {
"operationId": "check_if_user_joined_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user has joined the group."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such group exists.\n* The authenticated user isn't a member of this group."
}
},
"summary": "Check if a user has joined a group",
"tags": [
"Groups\\Users"
]
},
"put": {
"operationId": "join_group",
"parameters": [
{
"description": "The ID of the group.",
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"example": 1108,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user joined the group."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user can't join groups.\n* The group prohibits the authenticated user from joining, either because the group is not public or because the group's privacy setting is `members`."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a user to a group",
"tags": [
"Groups\\Subscription"
]
}
},
"/users/{user_id}/likes": {
"get": {
"operationId": "get_likes",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos that a user has liked",
"tags": [
"Likes\\Essentials"
]
}
},
"/users/{user_id}/likes/{video_id}": {
"delete": {
"operationId": "unlike_video",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was unliked."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't like videos."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Cause a user to unlike a video",
"tags": [
"Likes\\Essentials"
]
},
"get": {
"operationId": "check_if_user_liked_video",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user has liked the video."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The user hasn't liked the video."
}
},
"summary": "Check if a user has liked a video",
"tags": [
"Likes\\Essentials"
]
},
"put": {
"operationId": "like_video",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was liked."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user owns the video."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't like videos."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Cause a user to like a video",
"tags": [
"Likes\\Essentials"
]
}
},
"/users/{user_id}/ondemand/pages": {
"get": {
"operationId": "get_user_vods",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The type of On Demand pages to return.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"film",
"series"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"added",
"alphabetical",
"date",
"modified_time",
"name",
"publish.time",
"rating"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/on-demand-page"
},
"type": "array"
}
}
},
"description": "The On Demand pages were returned."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such user exists."
}
},
"summary": "Get all the On Demand pages of a user",
"tags": [
"On Demand\\Essentials"
]
},
"post": {
"operationId": "create_vod",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"accepted_currencies": {
"description": "An array of accepted currencies.\n\nOption descriptions:\n * `AUD` - Australian Dollar\n * `CAD` - Canadian Dollar\n * `CHF` - Swiss Franc\n * `DKK` - Danish Krone\n * `EUR` - Euro\n * `GBP` - British Pound\n * `JPY` - Japanese Yen\n * `KRW` - South Korean Won\n * `NOK` - Norwegian Krone\n * `PLN` - Polish Zloty\n * `SEK` - Swedish Krona\n * `USD` - US Dollar\n",
"enum": [
"AUD",
"CAD",
"CHF",
"DKK",
"EUR",
"GBP",
"JPY",
"KRW",
"NOK",
"PLN",
"SEK",
"USD"
],
"type": "string"
},
"buy": {
"properties": {
"active": {
"description": "Whether the Buy action is active. *Required if `rent.active` is false.",
"example": "true",
"type": "boolean"
},
"download": {
"description": "Whether people who buy the video can download it. To use this field, `type` must be `film`.",
"example": "true",
"type": "boolean"
},
"price": {
"properties": {
"AUD": {
"description": "The purchase price of this video in AUD.",
"example": 2.99,
"type": "number"
},
"CAD": {
"description": "The purchase price of this video in CAD.",
"example": 2.99,
"type": "number"
},
"CHF": {
"description": "The purchase price of this video in CHF.",
"example": 2.99,
"type": "number"
},
"DKK": {
"description": "The purchase price of this video in DKK.",
"example": 2.99,
"type": "number"
},
"EUR": {
"description": "The purchase price of this video in EUR.",
"example": 2.99,
"type": "number"
},
"GBP": {
"description": "The purchase price of this video in GBP.",
"example": 2.99,
"type": "number"
},
"JPY": {
"description": "The purchase price of this video in JPY.",
"example": 2.99,
"type": "number"
},
"KRW": {
"description": "The purchase price of this video in KRW.",
"example": 2.99,
"type": "number"
},
"NOK": {
"description": "The purchase price of this video in NOK.",
"example": 2.99,
"type": "number"
},
"PLN": {
"description": "The purchase price of this video in PLN.",
"example": 2.99,
"type": "number"
},
"SEK": {
"description": "The purchase price of this video in SEK.",
"example": 2.99,
"type": "number"
},
"USD": {
"description": "The purchase price of this video in USD when `type` is `film`, or the purchase price of the entire collection in USD when `type` is `series`.",
"example": 2.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"content_rating": {
"description": "One or more ratings, either as a comma-separated list or as a JSON array depending on the request format.",
"enum": [
"drugs",
"language",
"nudity",
"safe",
"unrated",
"violence"
],
"type": "string"
},
"description": {
"description": "The description of the On Demand page.",
"example": "DARBY FOREVER follows the fantasies of Darby, a shopgirl at \"Bobbins & Notions\".",
"type": "string"
},
"domain_link": {
"description": "The custom domain of the On Demand page.",
"example": "https://example.com",
"type": "string"
},
"episodes": {
"properties": {
"buy": {
"properties": {
"active": {
"description": "Whether episodes can be bought.",
"example": "true",
"type": "boolean"
},
"download": {
"description": "Whether people who buy the episode can download it. To use this field, `type` must be `series`.",
"example": "true",
"type": "boolean"
},
"price": {
"properties": {
"USD": {
"description": "The purchase price per episode. *Required if `episodes.buy.active` is true.",
"example": 1.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"rent": {
"properties": {
"active": {
"description": "Whether episodes can be rented",
"example": "true",
"type": "boolean"
},
"period": {
"description": "The period in which this episode can be rented for.",
"enum": [
"1 week",
"1 year",
"24 hour",
"3 month",
"30 day",
"48 hour",
"6 month",
"72 hour"
],
"type": "string"
},
"price": {
"properties": {
"USD": {
"description": "The default price to rent an episode. This field is applicable only when `type` is `series`. *Required if `episodes.rent.active` is true.",
"example": 0.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"link": {
"description": "The custom string to use in this On Demand page's Vimeo URL.",
"example": "darbyforever",
"type": "string"
},
"name": {
"description": "The name of the On Demand page.",
"example": "Darby Forever",
"type": "string"
},
"rent": {
"properties": {
"active": {
"description": "Whether the video can be rented. *Required if `buy.active` is false.",
"example": "true",
"type": "boolean"
},
"period": {
"description": "The period in which this can be rented for.",
"enum": [
"1 week",
"1 year",
"24 hour",
"3 month",
"30 day",
"48 hour",
"6 month",
"72 hour"
],
"type": "string"
},
"price": {
"properties": {
"AUD": {
"description": "The rental price of this video in AUD.",
"example": 0.99,
"type": "number"
},
"CAD": {
"description": "The rental price of this video in CAD.",
"example": 0.99,
"type": "number"
},
"CHF": {
"description": "The rental price of this video in CHF.",
"example": 0.99,
"type": "number"
},
"DKK": {
"description": "The rental price of this video in DKK.",
"example": 0.99,
"type": "number"
},
"EUR": {
"description": "The rental price of this video in EUR.",
"example": 0.99,
"type": "number"
},
"GBP": {
"description": "The rental price of this video in GBP.",
"example": 0.99,
"type": "number"
},
"JPY": {
"description": "The rental price of this video in JPY.",
"example": 0.99,
"type": "number"
},
"KRW": {
"description": "The rental price of this video in KRW.",
"example": 0.99,
"type": "number"
},
"NOK": {
"description": "The rental price of this video in NOK.",
"example": 0.99,
"type": "number"
},
"PLN": {
"description": "The rental price of this video in PLN.",
"example": 0.99,
"type": "number"
},
"SEK": {
"description": "The rental price of this video in SEK.",
"example": 0.99,
"type": "number"
},
"USD": {
"description": "The rental price of this video in USD when `type` is `film`, or the rental price of the entire collection in USD when `type` is `series`.",
"example": 0.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"subscription": {
"properties": {
"monthly": {
"properties": {
"active": {
"description": "Whether monthly subscription is active. *Required if `rent.active` and `buy.active` are false.",
"example": "true",
"type": "boolean"
},
"price": {
"properties": {
"USD": {
"description": "The monthly subscription price in USD. *Required if `subscription.active` is true.",
"example": 9.99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": {
"description": "The type of On Demand page.",
"enum": [
"film",
"series"
],
"type": "string"
}
},
"required": [
"content_rating",
"description",
"name",
"type"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "The On Demand page was created."
}
},
"summary": "Create an On Demand page",
"tags": [
"On Demand\\Essentials"
]
}
},
"/users/{user_id}/ondemand/purchases": {
"get": {
"operationId": "check_if_vod_was_purchased",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/on-demand-page"
}
}
},
"description": "You have purchased the On Demand page."
},
"403": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The requested user isn't the same as the authenticated user."
},
"404": {
"content": {
"application/vnd.vimeo.ondemand.page+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such user or On Demand page exists."
}
},
"security": [
{
"oauth2": [
"purchased"
]
}
],
"summary": "Check if a user has made a purchase or rental from an On Demand page",
"tags": [
"On Demand\\Purchases and Rentals"
]
}
},
"/users/{user_id}/pictures": {
"get": {
"operationId": "get_pictures",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The pictures were returned."
}
},
"summary": "Get all the pictures that belong to a user",
"tags": [
"Users\\Pictures"
]
},
"post": {
"operationId": "create_picture",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The user picture was created."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a user picture",
"tags": [
"Users\\Pictures"
]
}
},
"/users/{user_id}/pictures/{portraitset_id}": {
"delete": {
"operationId": "delete_picture",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "portraitset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The picture was deleted."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a user picture",
"tags": [
"Users\\Pictures"
]
},
"get": {
"operationId": "get_picture",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "portraitset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The picture was returned."
}
},
"summary": "Get a specific user picture",
"tags": [
"Users\\Pictures"
]
},
"patch": {
"operationId": "edit_picture",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "portraitset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether the picture is the user's active portrait.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The picture was edited."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a user picture",
"tags": [
"Users\\Pictures"
]
}
},
"/users/{user_id}/portfolios": {
"get": {
"operationId": "get_portfolios",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.portfolio+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/portfolio"
},
"type": "array"
}
}
},
"description": "The portfolios were returned."
}
},
"summary": "Get all the portfolios that belong to a user",
"tags": [
"Portfolios\\Essentials"
]
}
},
"/users/{user_id}/portfolios/{portfolio_id}": {
"get": {
"operationId": "get_portfolio",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.portfolio+json": {
"schema": {
"$ref": "#/components/schemas/portfolio"
}
}
},
"description": "The portfolio was returned."
}
},
"summary": "Get a specific portfolio",
"tags": [
"Portfolios\\Essentials"
]
}
},
"/users/{user_id}/portfolios/{portfolio_id}/videos": {
"get": {
"operationId": "get_portfolio_videos",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page that contains the video URI.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.\n\nOption descriptions:\n * `default` - This will sort to the default sort set on the portfolio.\n",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"default",
"likes",
"manual",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos in a portfolio",
"tags": [
"Portfolios\\Videos"
]
}
},
"/users/{user_id}/portfolios/{portfolio_id}/videos/{video_id}": {
"delete": {
"operationId": "delete_video_from_portfolio",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The portfolio wasn't found, or the video wasn't found."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a video from a portfolio",
"tags": [
"Portfolios\\Videos"
]
},
"get": {
"operationId": "get_portfolio_video",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
}
},
"summary": "Get a specific video in a portfolio",
"tags": [
"Portfolios\\Videos"
]
},
"put": {
"operationId": "add_video_to_portfolio",
"parameters": [
{
"description": "The ID of the portfolio.",
"in": "path",
"name": "portfolio_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The portfolio wasn't found, or the video wasn't found."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a video to a portfolio",
"tags": [
"Portfolios\\Videos"
]
}
},
"/users/{user_id}/presets": {
"get": {
"operationId": "get_embed_presets",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/presets"
},
"type": "array"
}
}
},
"description": "The embed presets were returned."
}
},
"summary": "Get all the embed presets that a user has created",
"tags": [
"Embed Presets\\Essentials"
]
}
},
"/users/{user_id}/presets/{preset_id}": {
"get": {
"operationId": "get_embed_preset",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/presets"
}
}
},
"description": "The embed preset was returned."
}
},
"summary": "Get a specific embed preset",
"tags": [
"Embed Presets\\Essentials"
]
},
"patch": {
"operationId": "edit_embed_preset",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"properties": {
"outro": {
"description": "Disable the outro.",
"enum": [
"nothing"
],
"type": "string"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/presets"
}
}
},
"description": "The embed preset was edited."
},
"400": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The outro type is invalid."
},
"404": {
"content": {
"application/vnd.vimeo.preset+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The preset doesn't exist.\n* The authenticated user doesn't own the preset."
}
},
"summary": "Edit an embed preset",
"tags": [
"Embed Presets\\Essentials"
]
}
},
"/users/{user_id}/presets/{preset_id}/videos": {
"get": {
"operationId": "get_embed_preset_videos",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
}
},
"summary": "Get all the videos that have been added to an embed preset",
"tags": [
"Embed Presets\\Videos"
]
}
},
"/users/{user_id}/projects": {
"get": {
"description": "This method gets all the projects that belong to the specified user.",
"operationId": "get_projects",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"date",
"default",
"modified_time",
"name"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/project"
},
"type": "array"
}
}
},
"description": "The projects were returned."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the projects that belong to a user",
"tags": [
"Projects\\Essentials"
]
},
"post": {
"description": "This method creates a new project for the specified user.",
"operationId": "create_project",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"description": "The name of the project.",
"example": "Rough cuts",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/project"
}
}
},
"description": "The project was created."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: The input is empty.\n* Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't create projects."
}
},
"security": [
{
"oauth2": [
"create"
]
}
],
"summary": "Create a project",
"tags": [
"Projects\\Essentials"
]
}
},
"/users/{user_id}/projects/{project_id}": {
"delete": {
"description": "This method deletes a project and optionally also the videos that it contains.",
"operationId": "delete_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "Whether to delete all the videos in the project along with the project itself.",
"in": "query",
"name": "should_delete_clips",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
}
],
"responses": {
"204": {
"description": "The project was deleted."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't delete the project."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a project",
"tags": [
"Projects\\Essentials"
]
},
"get": {
"description": "This method gets a single project that belongs to the specified user.",
"operationId": "get_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/project"
}
}
},
"description": "The project was returned."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get a specific project",
"tags": [
"Projects\\Essentials"
]
},
"patch": {
"description": "This method edits an existing project.",
"operationId": "edit_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"description": "The name of the project.",
"example": "Rough cuts",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/project"
}
}
},
"description": "The project was edited."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2204: The input is invalid.\n* Error code 2205: The input is empty."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3200: The authenticated user can't edit the project."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a project",
"tags": [
"Projects\\Essentials"
]
}
},
"/users/{user_id}/projects/{project_id}/videos": {
"delete": {
"description": "This method removed multiple videos from the specified project.",
"operationId": "remove_videos_from_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "Whether to delete the videos when removing them from the project.",
"in": "query",
"name": "should_delete_clips",
"required": false,
"schema": {
"example": "false",
"type": "boolean"
}
},
{
"description": "A comma-separated list of the video URIs to remove.",
"in": "query",
"name": "uris",
"required": true,
"schema": {
"example": "/videos/258684937,/videos/273576296",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The videos were removed."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Remove a list of videos from a project",
"tags": [
"Projects\\Videos"
]
},
"get": {
"description": "This method gets all the videos that belong to the specified project.",
"operationId": "get_project_videos",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date",
"default",
"duration",
"last_user_action_event_date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project exists."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the videos in a project",
"tags": [
"Projects\\Videos"
]
},
"put": {
"description": "This method adds multiple videos to the specified project.",
"operationId": "add_videos_to_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "A comma-separated list of video URIs to add.",
"in": "query",
"name": "uris",
"required": true,
"schema": {
"example": "/videos/258684937,/videos/273576296",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The videos were added."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such project or video exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a list of videos to a project",
"tags": [
"Projects\\Videos"
]
}
},
"/users/{user_id}/projects/{project_id}/videos/{video_id}": {
"delete": {
"description": "This method removes a single video from the specified project.",
"operationId": "remove_video_from_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was removed."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2204: The input is invalid."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8000: The user credentials are invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such video exists in the project."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Remove a specific video from a project",
"tags": [
"Projects\\Videos"
]
},
"put": {
"description": "This method adds a single video to the specified project.",
"operationId": "add_video_to_project",
"parameters": [
{
"description": "The ID of the project.",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 5000: No such user, project, or video exists."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a specific video to a project",
"tags": [
"Projects\\Videos"
]
}
},
"/users/{user_id}/uploads/{upload}": {
"delete": {
"operationId": "complete_streaming_upload",
"parameters": [
{
"description": "The ID of the upload attempt.",
"in": "path",
"name": "upload",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The crypto signature of the completed upload.",
"in": "query",
"name": "signature",
"required": true,
"schema": {
"example": "cd89a20adde7a608f3331e71c37bdfa087bacbf3",
"type": "string"
}
},
{
"description": "The ID of the uploaded file.",
"in": "query",
"name": "video_file_id",
"required": true,
"schema": {
"example": 1234,
"type": "number"
}
}
],
"responses": {
"201": {
"description": "The streaming upload is complete."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2502: The format of the video file is invalid."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 5006: The video file doesn't exist.\n* Error code 5007: The signature doesn't exist.\n* Error code 8400: The signature is invalid."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4011: The upload server returns an HTTP status code other than 200."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Complete a user's streaming upload",
"tags": [
"Videos\\Upload"
]
},
"get": {
"operationId": "get_upload_attempt",
"parameters": [
{
"description": "The ID of the upload attempt.",
"in": "path",
"name": "upload",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.uploadattempt+json": {
"schema": {
"$ref": "#/components/schemas/upload-attempt"
}
}
},
"description": "The upload attempt was returned."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Get a user's upload attempt",
"tags": [
"Videos\\Upload"
]
}
},
"/users/{user_id}/videos": {
"get": {
"operationId": "get_videos",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The page that contains the video URI. Only available when not paired with `query`.",
"in": "query",
"name": "containing_uri",
"required": false,
"schema": {
"example": "/videos/258684937",
"type": "string"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"app_only",
"embeddable",
"featured",
"playable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "Whether to filter by all playable videos or by all videos that are not playable.",
"in": "query",
"name": "filter_playable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"default",
"duration",
"last_user_action_event_date",
"likes",
"modified_time",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"304": {
"description": "This user hasn't created any videos since the given `If-Modified-Since` header."
}
},
"summary": "Get all the videos that a user has uploaded",
"tags": [
"Videos\\Essentials"
]
},
"post": {
"description": "Begin the video upload process. For more information, see our [upload documentation](https://developer.vimeo.com/api/upload/videos).",
"operationId": "upload_video",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"properties": {
"content_rating": {
"description": "A list of values describing the content in this video. Find the full list in the [/contentratings](https://developer.vimeo.com/api/endpoints/videos#GET/contentratings) endpoint.",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "The description of the video.",
"example": "A celebration of 10 years of Staff Picks.",
"type": "string"
},
"embed": {
"properties": {
"buttons": {
"properties": {
"embed": {
"description": "Show or hide the Embed button.",
"example": "true",
"type": "boolean"
},
"fullscreen": {
"description": "Show or hide the Fullscreen button.",
"example": "true",
"type": "boolean"
},
"hd": {
"description": "Show or hide the HD button.",
"example": "true",
"type": "boolean"
},
"like": {
"description": "Show or hide the Like button.",
"example": "true",
"type": "boolean"
},
"scaling": {
"description": "Show or hide the Scaling button (shown only in Fullscreen mode).",
"example": "true",
"type": "boolean"
},
"share": {
"description": "Show or hide the Share button.",
"example": "true",
"type": "boolean"
},
"watchlater": {
"description": "Show or hide the Watch Later button.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"color": {
"description": "The main color of the embed player.",
"example": "#1ab7ea",
"type": "string"
},
"logos": {
"properties": {
"custom": {
"properties": {
"active": {
"description": "Show or hide your custom logo.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The URL that loads when the user clicks your custom logo.",
"example": "https://example.com",
"type": "string"
},
"sticky": {
"description": "Whether always to show the custom logo or to hide it after time with the rest of the UI.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"vimeo": {
"description": "Show or hide the Vimeo logo.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"playbar": {
"description": "Show or hide the playbar.",
"example": "true",
"type": "boolean"
},
"title": {
"properties": {
"name": {
"description": "Show or hide the video title, or enable the user to determine whether the video title appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
},
"owner": {
"description": "Show or hide the owner information, or enable the user to determine whether the owner information appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
},
"portrait": {
"description": "Show or hide the owner portrait, or enable the user to determine whether the owner portrait appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
}
},
"type": "object"
},
"volume": {
"description": "Show or hide the volume selector.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"license": {
"description": "The Creative Commons license.",
"enum": [
"by",
"by-nc",
"by-nc-nd",
"by-nc-sa",
"by-nd",
"by-sa",
"cc0"
],
"type": "string"
},
"locale": {
"description": "The video's default language. For a full list of valid languages, use the [/languages?filter=texttracks](https://developer.vimeo.com/api/endpoints/videos#GET/languages) endpoint.",
"example": "en_US",
"type": "string"
},
"name": {
"description": "The title of the video.",
"example": "Celebrating 10 Years of Staff Picks",
"type": "string"
},
"password": {
"description": "The password. When you set `privacy.view` to `password`, you must provide the password as an additional parameter.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"properties": {
"add": {
"description": "Whether a user can add the video to an album, channel, or group.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "The privacy level required to comment on the video.",
"enum": [
"anybody",
"contacts",
"nobody"
],
"type": "string"
},
"download": {
"description": "Whether a user can download the video. Not available to users with a Basic membership",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The video's embed settings. The `whitelist` value enables you to define all valid embed domains. See our [documentation](https://developer.vimeo.com/api/endpoints/videos#/{video_id}/privacy/domains) for details on adding and removing domains.",
"enum": [
"private",
"public",
"whitelist"
],
"type": "string"
},
"view": {
"description": "The video's privacy setting. When privacy is `users`, `application/json` is the only valid content type. Basic users can't set privacy to `unlisted`.",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"type": "string"
}
},
"type": "object"
},
"ratings": {
"properties": {
"mpaa": {
"properties": {
"reason": {
"description": "The reason for the video's MPAA rating.\n\nOption descriptions:\n * `at` - Adult themes\n * `bn` - Brief nudity\n * `n` - Nudity\n * `sl` - Strong language\n * `ss` - Sexual situations\n * `v` - Violence\n",
"enum": [
"at",
"bn",
"n",
"sl",
"ss",
"v"
],
"type": "string"
}
},
"type": "object"
},
"tv": {
"properties": {
"reason": {
"description": "The reason for the video's TV rating.\n\nOption descriptions:\n * `d` - Suggestive dialogue\n * `fv` - Fantasy violence\n * `l` - Language\n * `ss` - Sexual situations\n * `v` - Violence\n",
"enum": [
"d",
"fv",
"l",
"ss",
"v"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"review_page": {
"properties": {
"active": {
"description": "Enable or disable video review.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"spatial": {
"properties": {
"director_timeline": {
"description": "The 360 director timeline.",
"items": {
"properties": {
"pitch": {
"description": "The timeline pitch. This value must be between -90 and 90.",
"example": 70,
"type": "number"
},
"roll": {
"description": "The timeline roll.",
"type": "number"
},
"time_code": {
"description": "The 360 director timeline time code.",
"example": 5,
"type": "number"
},
"yaw": {
"description": "The timeline yaw. This value must be between 0 and 360.",
"example": 125,
"type": "number"
}
},
"required": [
"pitch",
"time_code",
"yaw"
],
"type": "object"
},
"type": "array"
},
"field_of_view": {
"description": "The 360 field of view: default 50, minimum 30, maximum 90.",
"example": 50,
"type": "number"
},
"projection": {
"description": "The 360 spatial projection.",
"enum": [
"cubical",
"cylindrical",
"dome",
"equirectangular",
"pyramid"
],
"type": "string"
},
"stereo_format": {
"description": "The 360 spatial stereo format.",
"enum": [
"left-right",
"mono",
"top-bottom"
],
"type": "string"
}
},
"type": "object"
},
"upload": {
"properties": {
"approach": {
"description": "The upload approach.",
"enum": [
"post",
"pull",
"streaming",
"tus"
],
"type": "string"
},
"link": {
"description": "The public URL at which the video is hosted. The URL must be valid for at least 24 hours. Use this parameter when `approach` is `pull`.",
"example": "https://example.com/video.mp4",
"type": "string"
},
"redirect_url": {
"description": "The app's redirect URL. Use this parameter when `approach` is `post`.",
"example": "https://example.com",
"type": "string"
},
"size": {
"description": "The size in bytes of the video to upload.",
"example": "13623861",
"type": "string"
}
},
"required": [
"approach"
],
"type": "object"
}
},
"required": [
"upload"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The upload procedure has begun."
},
"400": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2205: The body of the request isn't formatted properly.\n* Error code 2204: The request contains invalid parameters.\n* Error code 2204: The request contains invalid body parameters.\n* Error code 2230: The upload type is invalid.\n* Error code 3116: If a `type` payload parameter was supplied instead of `upload.approach`."
},
"401": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8002: No user is associated with the authentication token."
},
"403": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 4102: The user's allotted quota has been reached.\n* Error code 4101: The user's maximum disk space has been reached."
},
"500": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 4003: There is a problem initiating the upload."
}
},
"summary": "Upload a video",
"tags": [
"Videos\\Upload"
]
}
},
"/users/{user_id}/videos/{video_id}": {
"get": {
"operationId": "check_if_user_owns_video",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The user owns the video."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user doesn't own the video."
}
},
"summary": "Check if a user owns a video",
"tags": [
"Videos\\Essentials"
]
}
},
"/users/{user_id}/watchlater": {
"get": {
"operationId": "get_watch_later_queue",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"embeddable"
],
"type": "string"
}
},
{
"description": "Whether to filter the results by embeddable videos (`true`) or non-embeddable videos (`false`). Required only if **filter** is `embeddable`.",
"in": "query",
"name": "filter_embeddable",
"required": false,
"schema": {
"example": "true",
"type": "boolean"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The videos were returned."
},
"304": {
"description": "The user hasn't added any videos to their Watch Later queue since the given `If-Modified-Since` header."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Get all the videos in a user's Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
}
},
"/users/{user_id}/watchlater/{video_id}": {
"delete": {
"operationId": "delete_video_from_watch_later",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Remove a video from a user's Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
},
"get": {
"operationId": "check_watch_later_queue",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video appears in the user's Watch Later queue."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video doesn't appear in the user's Watch Later queue."
}
},
"security": [
{
"oauth2": [
"private"
]
}
],
"summary": "Check if a user has added a specific video to their Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
},
"put": {
"operationId": "add_video_to_watch_later",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was added."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a video to a user's Watch Later queue",
"tags": [
"Watch Later Queue\\Essentials"
]
}
},
"/videos": {
"get": {
"operationId": "search_videos",
"parameters": [
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The attribute by which to filter the results. `CC` and related filters target videos with the corresponding Creative Commons licenses. For more information, see our [Creative Commons](https://vimeo.com/creativecommons) page.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"CC",
"CC-BY",
"CC-BY-NC",
"CC-BY-NC-ND",
"CC-BY-NC-SA",
"CC-BY-ND",
"CC-BY-SA",
"CC0",
"categories",
"duration",
"in-progress",
"minimum_likes",
"trending",
"upload_date"
],
"type": "string"
}
},
{
"description": "A comma-separated list of video URLs to find.",
"in": "query",
"name": "links",
"required": false,
"schema": {
"example": "https://vimeo.com/122375452,https://vimeo.com/273576296",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "Search query.",
"in": "query",
"name": "query",
"required": true,
"schema": {
"example": "staff picks",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"comments",
"date",
"duration",
"likes",
"plays",
"relevant"
],
"type": "string"
}
},
{
"description": "The comma-separated list of videos to find.",
"in": "query",
"name": "uris",
"required": false,
"schema": {
"example": "/videos/122375452,/videos/273576296",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The search results were returned."
},
"400": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2101: Either the `uris` or `links` parameter has filtering or sorting arguments.\n* Error code 2204: There is a problem with the batch request."
},
"503": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* Search is disabled.\n* Error code 7300: There was an internal search error."
}
},
"summary": "Search for videos",
"tags": [
"Videos\\Essentials"
]
}
},
"/videos/{video_id}": {
"delete": {
"operationId": "delete_video",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user doesn't own the video and can't delete it."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a video",
"tags": [
"Videos\\Essentials"
]
},
"get": {
"operationId": "get_video",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was returned."
},
"404": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video exists."
}
},
"summary": "Get a specific video",
"tags": [
"Videos\\Essentials"
]
},
"patch": {
"operationId": "edit_video",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"properties": {
"content_rating": {
"description": "A list of values describing the content in this video. You can find the full list in the [`/contentratings`](https://developer.vimeo.com/api/endpoints/videos#GET/contentratings) endpoint.",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "The new description of the video.",
"example": "A celebration of 10 years of Staff Picks.",
"type": "string"
},
"embed": {
"properties": {
"buttons": {
"properties": {
"embed": {
"description": "Show or hide the Embed button.",
"example": "true",
"type": "boolean"
},
"fullscreen": {
"description": "Show or hide the Fullscreen button.",
"example": "true",
"type": "boolean"
},
"hd": {
"description": "Show or hide the HD button.",
"example": "true",
"type": "boolean"
},
"like": {
"description": "Show or hide the Like button.",
"example": "true",
"type": "boolean"
},
"scaling": {
"description": "Show or hide the Scaling button (shown only in Fullscreen mode).",
"example": "true",
"type": "boolean"
},
"share": {
"description": "Show or hide the Share button.",
"example": "true",
"type": "boolean"
},
"watchlater": {
"description": "Show or hide the Watch Later button.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"color": {
"description": "The main color of the embed player.",
"example": "#1ab7ea",
"type": "string"
},
"logos": {
"properties": {
"custom": {
"properties": {
"active": {
"description": "Show or hide your custom logo.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The URL that loads when the user clicks your custom logo.",
"example": "https://example.com",
"type": "string"
},
"sticky": {
"description": "Whether always to show the custom logo or to hide it after time with the rest of the UI.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"vimeo": {
"description": "Show or hide the Vimeo logo.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"playbar": {
"description": "Show or hide the playbar.",
"example": "true",
"type": "boolean"
},
"title": {
"properties": {
"name": {
"description": "Show or hide the video title, or enable the user to determine whether the video title appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
},
"owner": {
"description": "Show or hide the owner information, or enable the user to determine whether the owner information appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
},
"portrait": {
"description": "Show or hide the owner portrait, or enable the user to determine whether the owner portrait appears.",
"enum": [
"hide",
"show",
"user"
],
"type": "string"
}
},
"type": "object"
},
"volume": {
"description": "Show or hide the volume selector.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"license": {
"description": "The Creative Commons license.",
"enum": [
"by",
"by-nc",
"by-nc-nd",
"by-nc-sa",
"by-nd",
"by-sa",
"cc0"
],
"type": "string"
},
"locale": {
"description": "The video's default language. For a full list of valid languages, use the [/languages?filter=texttracks](https://developer.vimeo.com/api/endpoints/videos#GET/languages) endpoint.",
"example": "en-US",
"type": "string"
},
"name": {
"description": "The new title for the video.",
"example": "Celebrating 10 Years of Staff Picks",
"type": "string"
},
"password": {
"description": "The password. When you set `privacy.view` to `password`, you must provide the password as an additional parameter.",
"example": "hunter1",
"type": "string"
},
"privacy": {
"properties": {
"add": {
"description": "Whether a user can add the video to an album, channel, or group.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "The privacy level required to comment on the video.",
"enum": [
"anybody",
"contacts",
"nobody"
],
"type": "string"
},
"download": {
"description": "Whether a user can download the video. Not available to users with a Basic membership.",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The video's new embed settings. The `whitelist` value enables you to define all valid embed domains. See our [documentation](https://developer.vimeo.com/api/endpoints/videos#/{video_id}/privacy/domains) for details on adding and removing domains.",
"enum": [
"private",
"public",
"whitelist"
],
"type": "string"
},
"view": {
"description": "The video's new privacy setting. When privacy is `users`, `application/json` is the only valid content type. Basic users can't set privacy to `unlisted`.",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"type": "string"
}
},
"type": "object"
},
"ratings": {
"properties": {
"mpaa": {
"properties": {
"reason": {
"description": "The reason for the video's MPAA rating.\n\nOption descriptions:\n * `at` - Adult themes\n * `bn` - Brief nudity\n * `n` - Nudity\n * `sl` - Strong language\n * `ss` - Sexual situations\n * `v` - Violence\n",
"enum": [
"at",
"bn",
"n",
"sl",
"ss",
"v"
],
"type": "string"
}
},
"type": "object"
},
"tv": {
"properties": {
"reason": {
"description": "The reason for the video's TV rating.\n\nOption descriptions:\n * `d` - Suggestive dialogue\n * `fv` - Fantasy violence\n * `l` - Language\n * `ss` - Sexual situations\n * `v` - Violence\n",
"enum": [
"d",
"fv",
"l",
"ss",
"v"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"review_page": {
"properties": {
"active": {
"description": "Enable or disable video review.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"spatial": {
"properties": {
"director_timeline": {
"description": "The 360 director timeline.",
"items": {
"properties": {
"pitch": {
"description": "The timeline pitch. This value must be between -90 and 90.",
"example": 70,
"type": "number"
},
"roll": {
"description": "The timeline roll.",
"type": "number"
},
"time_code": {
"description": "The 360 director timeline time code.",
"example": 5,
"type": "number"
},
"yaw": {
"description": "The timeline yaw. This value must be between 0 and 360.",
"example": 125,
"type": "number"
}
},
"required": [
"pitch",
"time_code",
"yaw"
],
"type": "object"
},
"type": "array"
},
"field_of_view": {
"description": "The 360 field of view: default 50, minimum 30, maximum 90.",
"example": 50,
"type": "number"
},
"projection": {
"description": "The 360 spatial projection.",
"enum": [
"cubical",
"cylindrical",
"dome",
"equirectangular",
"pyramid"
],
"type": "string"
},
"stereo_format": {
"description": "The 360 spatial stereo format.",
"enum": [
"left-right",
"mono",
"top-bottom"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/video"
}
}
},
"description": "The video was edited."
},
"400": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"403": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user doesn't own the video.\n* The `privacy` field is `disable` and the authenticated user can't set extra embed options.\n* The `privacy` field is `contacts` and the authenticated user can't follow creators.\n* The authenticated user has an opted-out PRO account and `privacy.view` is `users`, `password`, `nobody`, or `public`."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a video",
"tags": [
"Videos\\Essentials"
]
}
},
"/videos/{video_id}/available_channels": {
"get": {
"operationId": "get_available_video_channels",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/channel"
},
"type": "array"
}
}
},
"description": "The channels were returned."
},
"403": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't add or remove this video from any channel."
},
"404": {
"content": {
"application/vnd.vimeo.channel+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user can't moderate channels."
}
},
"summary": "Get all the channels to which a user can add or remove a specific video",
"tags": [
"Channels\\Videos"
]
}
},
"/videos/{video_id}/categories": {
"get": {
"operationId": "get_video_categories",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
}
}
},
"description": "The categories were returned."
},
"404": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video exists."
}
},
"summary": "Get all the categories to which a video belongs",
"tags": [
"Categories\\Videos"
]
},
"put": {
"description": "With this method, you can suggest up to two categories and one subcategory for a video. Vimeo makes the final determination about whether the video\nbelongs in these categories.",
"operationId": "suggest_video_category",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"properties": {
"category": {
"description": "The array of the names of the categories that you're suggesting.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"category"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/category"
}
}
},
"description": "The categories were suggested."
},
"403": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "You don't own this video."
},
"404": {
"content": {
"application/vnd.vimeo.category+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video exists, or no such category exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Suggest categories for a video",
"tags": [
"Categories\\Videos"
]
}
},
"/videos/{video_id}/comments": {
"get": {
"operationId": "get_comments",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/comment"
},
"type": "array"
}
}
},
"description": "The comments were returned."
}
},
"summary": "Get all the comments on a video",
"tags": [
"Videos\\Comments"
]
},
"post": {
"operationId": "create_comment",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"properties": {
"text": {
"description": "The text of the comment.",
"example": "I love this!",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/comment"
}
}
},
"description": "The comment was added."
},
"400": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2207: The comment text is missing."
},
"401": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 8003: The user credentials are invalid."
},
"403": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 3413: Comments are disabled for this video.\n* Error code 3411: The authenticated user is unverified.\n* Error code 3412: The authenticated user can't comment.\n* Error code 3301: The comment was flagged as spam."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a comment to a video",
"tags": [
"Videos\\Comments"
]
}
},
"/videos/{video_id}/comments/{comment_id}": {
"delete": {
"operationId": "delete_comment",
"parameters": [
{
"description": "The ID of the comment.",
"in": "path",
"name": "comment_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The comment was deleted."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3415: The authenticated user didn't write this comment and can't delete it."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such video or comment exists.\n* Error code 5000: The deleted comment still exists."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a video comment",
"tags": [
"Videos\\Comments"
]
},
"get": {
"operationId": "get_comment",
"parameters": [
{
"description": "The ID of the comment.",
"in": "path",
"name": "comment_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/comment"
}
}
},
"description": "The comment was returned."
},
"404": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or comment exists."
}
},
"summary": "Get a specific video comment",
"tags": [
"Videos\\Comments"
]
},
"patch": {
"operationId": "edit_comment",
"parameters": [
{
"description": "The ID of the comment.",
"in": "path",
"name": "comment_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"properties": {
"text": {
"description": "The next text of the comment.",
"example": "I love this!",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/comment"
}
}
},
"description": "The comment was edited."
},
"400": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2207: The comment text is missing."
},
"403": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 3411: The authenticated user is unverified.\n* Error code 3412: The authenticated user can't post comments.\n* Error code 3414: The authenticated user didn't write the comment and can't edit it.\n* Error code 3301: The supplied comment was flagged as spam."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a video comment",
"tags": [
"Videos\\Comments"
]
}
},
"/videos/{video_id}/comments/{comment_id}/replies": {
"get": {
"operationId": "get_comment_replies",
"parameters": [
{
"description": "The ID of the comment.",
"in": "path",
"name": "comment_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/comment"
},
"type": "array"
}
}
},
"description": "The replies were returned."
},
"404": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or comment exists."
}
},
"summary": "Get all the replies to a video comment",
"tags": [
"Videos\\Comments"
]
},
"post": {
"operationId": "create_comment_reply",
"parameters": [
{
"description": "The ID of the comment.",
"in": "path",
"name": "comment_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"properties": {
"text": {
"description": "The reply to the comment.",
"example": "I love this!",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/comment"
}
}
},
"description": "The reply was added."
},
"400": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 2207: The comment text is missing."
},
"403": {
"content": {
"application/vnd.vimeo.comment+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 3413: Comments are disabled on this video.\n* Error code 3411: The authenticated user is unverified.\n* Error code 3412: The authenticated user can't comment.\n* Error code 3301: The comment was flagged as spam."
}
},
"security": [
{
"oauth2": [
"interact"
]
}
],
"summary": "Add a reply to a video comment",
"tags": [
"Videos\\Comments"
]
}
},
"/videos/{video_id}/credits": {
"get": {
"operationId": "get_video_credits",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The search query to use to filter the results.",
"in": "query",
"name": "query",
"required": false,
"schema": {
"example": "Stop motion",
"type": "string"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/credit"
},
"type": "array"
}
}
},
"description": "The users were returned."
}
},
"summary": "Get all the credited users in a video",
"tags": [
"Videos\\Credits"
]
},
"post": {
"operationId": "add_video_credit",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"properties": {
"email": {
"description": "The email address of the credited person.",
"example": "user@example.com",
"type": "string"
},
"name": {
"description": "The name of the credited person.",
"example": "Sam Doe",
"type": "string"
},
"role": {
"description": "The role of the credited person.",
"example": "Producer",
"type": "string"
},
"user_uri": {
"description": "The URI of the Vimeo user who should be given credit in this video.",
"example": "/users/152184",
"type": "string"
}
},
"required": [
"email",
"name",
"role",
"user_uri"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/credit"
}
}
},
"description": "The credit was added."
},
"400": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The credit was added.\n* A parameter is invalid.\n* The authenticated user has an unverified email address.\n* There is a user block between the video owner and the person receiving credit."
},
"403": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user doesn't own the video."
}
},
"summary": "Credit a user in a video",
"tags": [
"Videos\\Credits"
]
}
},
"/videos/{video_id}/credits/{credit_id}": {
"delete": {
"operationId": "delete_video_credit",
"parameters": [
{
"description": "The ID of the credit.",
"in": "path",
"name": "credit_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The credit was deleted."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The authenticated user is neither the creator of the credit nor the credited user."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Delete a credit for a user in a video",
"tags": [
"Videos\\Credits"
]
},
"get": {
"operationId": "get_video_credit",
"parameters": [
{
"description": "The ID of the credit.",
"in": "path",
"name": "credit_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/credit"
}
}
},
"description": "The credit was returned."
},
"404": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or credit exists."
}
},
"summary": "Get a specific credited user in a video",
"tags": [
"Videos\\Credits"
]
},
"patch": {
"operationId": "edit_video_credit",
"parameters": [
{
"description": "The ID of the credit.",
"in": "path",
"name": "credit_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"properties": {
"name": {
"description": "The name of the person being credited.",
"example": "Sam Doe",
"type": "string"
},
"role": {
"description": "The role of the person being credited.",
"example": "Producer",
"type": "string"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/credit"
}
}
},
"description": "The credit was edited."
},
"400": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "A parameter is invalid."
},
"404": {
"content": {
"application/vnd.vimeo.credit+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or credit exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a credit for a user in a video",
"tags": [
"Videos\\Credits"
]
}
},
"/videos/{video_id}/likes": {
"get": {
"operationId": "get_video_likes",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The sort direction of the results.",
"in": "query",
"name": "direction",
"required": false,
"schema": {
"enum": [
"asc",
"desc"
],
"example": "asc",
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
},
{
"description": "The way to sort the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"alphabetical",
"date"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users were returned."
}
},
"summary": "Get all the users who have liked a video",
"tags": [
"Likes\\Essentials"
]
}
},
"/videos/{video_id}/pictures": {
"get": {
"operationId": "get_video_thumbnails",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/picture"
},
"type": "array"
}
}
},
"description": "The thumbnails were returned."
}
},
"summary": "Get all the thumbnails of a video",
"tags": [
"Videos\\Thumbnails"
]
},
"post": {
"operationId": "create_video_thumbnail",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether the image created by the `time` field should be the default thumbnail for the video.",
"example": "true",
"type": "boolean"
},
"time": {
"description": "Creates an image of the video from the given time offset.",
"example": 300,
"type": "number"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The thumbnail was created."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a video thumbnail",
"tags": [
"Videos\\Thumbnails"
]
}
},
"/videos/{video_id}/pictures/{picture_id}": {
"delete": {
"operationId": "delete_video_thumbnail",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "picture_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The thumbnail was deleted."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Delete a video thumbnail",
"tags": [
"Videos\\Thumbnails"
]
},
"get": {
"operationId": "get_video_thumbnail",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "picture_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The thumbnail was returned."
}
},
"summary": "Get a video thumbnail",
"tags": [
"Videos\\Thumbnails"
]
},
"patch": {
"operationId": "edit_video_thumbnail",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "picture_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"properties": {
"active": {
"description": "Whether this thumbnail is the default.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The thumbnail was edited."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a video thumbnail",
"tags": [
"Videos\\Thumbnails"
]
}
},
"/videos/{video_id}/presets/{preset_id}": {
"delete": {
"operationId": "delete_video_embed_preset",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The embed preset was unassigned."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or embed preset exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove an embed preset from a video",
"tags": [
"Embed Presets\\Videos"
]
},
"get": {
"operationId": "get_video_embed_preset",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The embed presets exists."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video or embed preset exists."
}
},
"summary": "Check if an embed preset has been added to a video",
"tags": [
"Embed Presets\\Videos"
]
},
"put": {
"operationId": "add_video_embed_preset",
"parameters": [
{
"description": "The ID of the preset.",
"in": "path",
"name": "preset_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The embed preset was assigned."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add an embed preset to a video",
"tags": [
"Embed Presets\\Videos"
]
}
},
"/videos/{video_id}/privacy/domains": {
"get": {
"operationId": "get_video_privacy_domains",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.domain+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/domain"
},
"type": "array"
}
}
},
"description": "The domains were returned."
},
"403": {
"content": {
"application/vnd.vimeo.domain+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "There are no domains on which the video can be embedded."
}
},
"summary": "Get all the domains on which a video can be embedded",
"tags": [
"Videos\\Embed Privacy"
]
}
},
"/videos/{video_id}/privacy/domains/{domain}": {
"delete": {
"operationId": "delete_video_privacy_domain",
"parameters": [
{
"description": "The domain name.",
"in": "path",
"name": "domain",
"required": true,
"schema": {
"example": "example.com",
"type": "string"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video was disallowed from being embedded on the domain."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video isn't set to a user-defined access list."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such domain exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Restrict a video from being embedded on a domain",
"tags": [
"Videos\\Embed Privacy"
]
},
"put": {
"description": "If domain privacy is enabled for this video, this method permits the video to be embedded on the specified domain.",
"operationId": "add_video_privacy_domain",
"parameters": [
{
"description": "The domain name.",
"in": "path",
"name": "domain",
"required": true,
"schema": {
"example": "example.com",
"type": "string"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The video is now embeddable on the domain."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video doesn't have a user-defined access list."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Permit a video to be embedded on a domain",
"tags": [
"Videos\\Embed Privacy"
]
}
},
"/videos/{video_id}/privacy/users": {
"get": {
"operationId": "get_video_privacy_users",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users were returned."
},
"400": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No users can view the private video."
}
},
"summary": "Get all the users who can view a user's private videos by default",
"tags": [
"Videos\\Viewing Privacy"
]
},
"put": {
"description": "The body of this request should follow our\n[batch request format](https://developer.vimeo.com/api/common-formats#batch-requests). Each object must contain\na single `URI` field, and the value of this field must be the URI of the user who can view this video.",
"operationId": "add_video_privacy_users",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/user"
},
"type": "array"
}
}
},
"description": "The users can now view the private video."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Permit a list of users to view a private video",
"tags": [
"Videos\\Viewing Privacy"
]
}
},
"/videos/{video_id}/privacy/users/{user_id}": {
"delete": {
"operationId": "delete_video_privacy_user",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The user was disallowed from viewing the private video."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video isn't set to a user-defined access list."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such user exists."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Restrict a user from viewing a private video",
"tags": [
"Videos\\Viewing Privacy"
]
},
"put": {
"operationId": "add_video_privacy_user",
"parameters": [
{
"description": "The ID of the user.",
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"example": 152184,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/user"
}
}
},
"description": "The user can now view the private video."
},
"204": {
"description": "The user can already view this private video."
},
"403": {
"content": {
"application/vnd.vimeo.user+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The video doesn't have a user-defined access list."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Permit a specific user to view a private video",
"tags": [
"Videos\\Viewing Privacy"
]
}
},
"/videos/{video_id}/tags": {
"get": {
"operationId": "get_video_tags",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/tag"
},
"type": "array"
}
}
},
"description": "The tags were returned."
}
},
"summary": "Get all the tags of a video",
"tags": [
"Videos\\Tags"
]
},
"put": {
"operationId": "add_video_tags",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"properties": {
"name": {
"description": "The name of the tag to apply. See our documentation on [batch requests](https://developer.vimeo.com/api/common-formats#batch-requests) for more information.",
"example": "awesome",
"type": "string"
},
"page": {
"description": "The page number of the results to show.",
"example": 1,
"type": "number"
},
"per_page": {
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"example": 10,
"type": "number"
}
},
"required": [
"name"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/tag"
},
"type": "array"
}
}
},
"description": "The tags that were added."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The request body wasn't supplied.\n* A parameter is invalid.\n* The request body isn't a JSON-encoded list of tags."
},
"403": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user can't add tags to a video.\n* The number of tags would exceed 20."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a list of tags to a video",
"tags": [
"Videos\\Tags"
]
}
},
"/videos/{video_id}/tags/{word}": {
"delete": {
"operationId": "delete_video_tag",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The tag word.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "The tag was deleted."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* A parameter is invalid.\n* The tag is invalid."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Remove a tag from a video",
"tags": [
"Videos\\Tags"
]
},
"get": {
"operationId": "check_video_for_tag",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The tag word.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"204": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/tag"
}
}
},
"description": "The tag has been added."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* A parameter is invalid.\n* The tag is invalid."
},
"404": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such tag exists within the video."
}
},
"summary": "Check if a tag has been added to a video",
"tags": [
"Videos\\Tags"
]
},
"put": {
"operationId": "add_video_tag",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The tag word.",
"in": "path",
"name": "word",
"required": true,
"schema": {
"example": "awesome",
"type": "string"
}
}
],
"responses": {
"204": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/tag"
}
}
},
"description": "The tag was added."
},
"400": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The tag is invalid.\n* An unsupported parameter was supplied."
},
"403": {
"content": {
"application/vnd.vimeo.tag+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The number of tags on the video would exceed 20."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Add a specific tag to a video",
"tags": [
"Videos\\Tags"
]
}
},
"/videos/{video_id}/texttracks": {
"get": {
"operationId": "get_text_tracks",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/text-track"
},
"type": "array"
}
}
},
"description": "The text tracks were returned."
},
"404": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video exists."
}
},
"summary": "Get all the text tracks of a video",
"tags": [
"Videos\\Text Tracks"
]
},
"post": {
"description": "For additional information, see our [text track upload guide](https://developer.vimeo.com/api/upload/texttracks).",
"operationId": "create_text_track",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"properties": {
"active": {
"description": "Active text tracks appear in the player and are visible to other users. Only one text track per language can be active.",
"example": "true",
"type": "boolean"
},
"language": {
"description": "The language of the text track. For a complete list of valid languages, use the [/languages?filter=texttracks](https://developer.vimeo.com/api/endpoints/videos#GET/languages) endpoint.",
"example": "en-US",
"type": "string"
},
"name": {
"description": "The name of the text track.",
"example": "Commentary",
"type": "string"
},
"type": {
"description": "The type of the text track.",
"enum": [
"captions",
"chapters",
"descriptions",
"metadata",
"subtitles"
],
"type": "string"
}
},
"required": [
"language",
"name",
"type"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/text-track"
}
}
},
"description": "The text track was added."
},
"403": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user can't edit the text track.\n* Error code 2204: The request contains errors."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a text track to a video",
"tags": [
"Videos\\Text Tracks"
]
}
},
"/videos/{video_id}/texttracks/{texttrack_id}": {
"delete": {
"operationId": "delete_text_track",
"parameters": [
{
"description": "The ID of the text track.",
"in": "path",
"name": "texttrack_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"204": {
"description": "The text track was deleted."
},
"403": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 3430: You don't have permission to access this text track.\n* Error code 3431: This text track is disabled."
},
"404": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such video or text track exists.\n* The authenticated user can't delete the text track.\n* Error code 5014: The text track that you specified doesn't exist.\n* Error code 5015: The text track that you specified belongs to a different video."
}
},
"security": [
{
"oauth2": [
"delete"
]
}
],
"summary": "Delete a text track",
"tags": [
"Videos\\Text Tracks"
]
},
"get": {
"operationId": "get_text_track",
"parameters": [
{
"description": "The ID of the text track.",
"in": "path",
"name": "texttrack_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/text-track"
}
}
},
"description": "The text track was returned."
},
"403": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 3430: You don't have permission to access this text track.\n* Error code 3431: This text track is disabled."
},
"404": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such video or text track exists.\n* Error code 5014: The text track that you specified doesn't exist.\n* Error code 5015: The text track that you specified belongs to a different video."
}
},
"summary": "Get a specific text track",
"tags": [
"Videos\\Text Tracks"
]
},
"patch": {
"operationId": "edit_text_track",
"parameters": [
{
"description": "The ID of the text track.",
"in": "path",
"name": "texttrack_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"properties": {
"active": {
"description": "Whether the text track is active, meaning that it appears in the player. Only one text track per language, and type, can be active.",
"example": "true",
"type": "boolean"
},
"language": {
"description": "The language of the text track. For a full list of valid languages, use the [/languages?filter=texttracks](https://developer.vimeo.com/api/endpoints/videos#GET/languages) endpoint.",
"example": "en-US",
"type": "string"
},
"name": {
"description": "The name of the text track.",
"example": "Commentary",
"type": "string"
},
"type": {
"description": "The text track type.",
"enum": [
"captions",
"chapters",
"descriptions",
"metadata",
"subtitles"
],
"type": "string"
}
},
"type": "object"
}
}
},
"required": false
},
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/text-track"
}
}
},
"description": "The text track was edited."
},
"403": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* The authenticated user can't edit the text track.\n* Error code 2204: There are errors in the request.\n* Error code 3430: You don't have permission to access this text track.\n* Error code 3431: This text track is disabled."
},
"404": {
"content": {
"application/vnd.vimeo.video.texttrack+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "* No such video or text track exists.\n* Error code 5014: The text track that you specified doesn't exist.\n* Error code 5015: The text track that you specified belongs to a different video."
}
},
"security": [
{
"oauth2": [
"edit"
]
}
],
"summary": "Edit a text track",
"tags": [
"Videos\\Text Tracks"
]
}
},
"/videos/{video_id}/timelinethumbnails": {
"post": {
"operationId": "create_video_custom_logo",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"201": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "Standard request."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "If the user is attempting to upload pictures for another user's videos."
},
"404": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "No such video exists."
}
},
"security": [
{
"oauth2": [
"upload"
]
}
],
"summary": "Add a new custom logo to a video",
"tags": [
"Embed Presets\\Videos"
]
}
},
"/videos/{video_id}/timelinethumbnails/{thumbnail_id}": {
"get": {
"operationId": "get_video_custom_logo",
"parameters": [
{
"description": "The ID of the picture.",
"in": "path",
"name": "thumbnail_id",
"required": true,
"schema": {
"example": 12345,
"type": "number"
}
},
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/picture"
}
}
},
"description": "The custom logo was returned."
},
"403": {
"content": {
"application/vnd.vimeo.picture+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "If the user isn't permitted to view this custom logo."
}
},
"summary": "Get a custom video logo",
"tags": [
"Embed Presets\\Videos"
]
}
},
"/videos/{video_id}/versions": {
"post": {
"operationId": "create_video_version",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
}
],
"requestBody": {
"content": {
"application/vnd.vimeo.video.version+json": {
"schema": {
"properties": {
"file_name": {
"description": "The name of the version",
"example": "untitled.mp4",
"type": "string"
},
"upload": {
"properties": {
"approach": {
"description": "Upload approach",
"enum": [
"post",
"pull",
"streaming",
"tus"
],
"type": "string"
},
"link": {
"description": "If your upload approach is pull, Vimeo will download the video hosted at this public URL. This URL must be valid for at least 24 hours.",
"example": "https://example.com",
"type": "string"
},
"redirect_url": {
"description": "The app's redirect URL. Use this parameter when `approach` is `post`.",
"example": "https://example.com",
"type": "string"
},
"size": {
"description": "Upload size",
"example": "13623861",
"type": "string"
}
},
"required": [
"approach"
],
"type": "object"
}
},
"required": [
"file_name",
"upload"
],
"type": "object"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/vnd.vimeo.video.version+json": {
"schema": {
"$ref": "#/components/schemas/video-versions"
}
}
},
"description": "Standard request."
},
"400": {
"content": {
"application/vnd.vimeo.video.version+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 2204: If the request input contains invalid upload data.\n* Error code 2204: If the request input contains invalid versions data."
},
"403": {
"content": {
"application/vnd.vimeo.video.version+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "Error code 3427: If a user isn't permitted to edit the video"
},
"404": {
"content": {
"application/vnd.vimeo.video.version+json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
},
"description": "* Error code 5011: If an upload associated with the version isn't found.\n* Error code 5012: If a video associated with the upload isn't found.\n* 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."
}
},
"summary": "Add a version to a video",
"tags": [
"Videos\\Versions"
]
}
},
"/videos/{video_id}/videos": {
"get": {
"operationId": "get_related_videos",
"parameters": [
{
"description": "The ID of the video.",
"in": "path",
"name": "video_id",
"required": true,
"schema": {
"example": 258684937,
"type": "number"
}
},
{
"description": "The attribute by which to filter the results.",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"enum": [
"related"
],
"type": "string"
}
},
{
"description": "The page number of the results to show.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"example": 1,
"type": "number"
}
},
{
"description": "The number of items to show on each page of results, up to a maximum of 100.",
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"example": 10,
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"items": {
"$ref": "#/components/schemas/video"
},
"type": "array"
}
}
},
"description": "The related videos were returned."
},
"400": {
"content": {
"application/vnd.vimeo.video+json": {
"schema": {
"$ref": "#/components/schemas/legacy-error"
}
}
},
"description": "The value of `filter` isn' `related`."
}
},
"summary": "Get all the related videos of a video",
"tags": [
"Videos\\Recommendations"
]
}
}
},
"components": {
"schemas": {
"activity-3-1": {
"properties": {
"category": {
"allOf": [
{
"$ref": "#/components/schemas/category"
}
],
"description": "The category that this event occurred for. This will be preset for only \"category\" activity types."
},
"channel": {
"allOf": [
{
"$ref": "#/components/schemas/channel"
}
],
"description": "The channel that this event occurred for. This will be present for only \"channel\" activity types."
},
"clip": {
"allOf": [
{
"$ref": "#/components/schemas/video"
}
],
"description": "Video associated with ths activity."
},
"group": {
"allOf": [
{
"$ref": "#/components/schemas/group"
}
],
"description": "The group that this event occurred for. This will be present for only \"group\" activity types."
},
"metadata": {
"description": "The activity's metadata.",
"properties": {
"connections": {
"description": "A list of resource URIs related to the activity.",
"properties": {
"related": {
"description": "Related content for this activity.",
"nullable": true,
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/activities?offset=20",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
}
},
"required": [
"related"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"tag": {
"allOf": [
{
"$ref": "#/components/schemas/tag"
}
],
"description": "The tag that this event occurred for. This will be present for only \"tag\" activity types."
},
"time": {
"description": "Time that the event occurred.",
"example": "2017-05-17T17:46:09+00:00",
"type": "string"
},
"type": {
"description": "Activity type",
"enum": [
"appearance",
"category",
"channel",
"facebook_feed",
"group",
"like",
"ondemand",
"share",
"tag",
"twitter_timeline",
"upload"
],
"example": "appearance",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The user that this event occurred for. This will be present for \"like\", \"appearance\", and \"share\" activity types."
}
},
"required": [
"clip",
"metadata",
"time",
"type"
],
"title": "Activity 3.1",
"type": "object"
},
"album": {
"properties": {
"allow_continuous_play": {
"description": "Whether an album should allow continuous play.",
"example": "true",
"type": "boolean"
},
"allow_downloads": {
"description": "Whether an album should allow downloads.",
"example": "true",
"type": "boolean"
},
"allow_share": {
"description": "Whether an album should allow sharing.",
"example": "true",
"type": "boolean"
},
"brand_color": {
"description": "Hexadecimal color code for the decorative color. For example, album videos use this color for player buttons.",
"example": "ff66ee",
"nullable": true,
"type": "string"
},
"created_time": {
"description": "The time in ISO 8601 format that the album was created.",
"example": "2015-12-17T21:32:44+00:00",
"type": "string"
},
"custom_logo": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The custom logo for this album.",
"nullable": true
},
"description": {
"description": "A brief description of the album's content.",
"example": "Vimeo holiday videos!",
"nullable": true,
"type": "string"
},
"domain": {
"description": "The custom domain a user has selected for their album.",
"example": "mycustomdomain.com",
"nullable": true,
"type": "string"
},
"duration": {
"description": "The total duration in seconds of all the videos in the album.",
"example": 1163,
"type": "number"
},
"embed": {
"description": "Embed data for the album.",
"properties": {
"html": {
"description": "The responsive HTML code to embed the playlist on a website. This is present only when `privacy.view` isn't password and when the album has embeddable videos.",
"nullable": true,
"type": "string"
}
},
"required": [
"html"
],
"type": "object"
},
"embed_brand_color": {
"description": "Whether to show the album's custom brand color in the player of the album's embedded playlist.",
"example": "true",
"nullable": true,
"type": "boolean"
},
"embed_custom_logo": {
"description": "Whether to show the album's custom logo in the player of the album's embedded playlist.",
"example": "true",
"nullable": true,
"type": "boolean"
},
"hide_nav": {
"description": "Whether to hide the Vimeo navigation when viewing the album.",
"example": "true",
"type": "boolean"
},
"hide_vimeo_logo": {
"description": "Whether to hide the Vimeo logo in the player of the album's embedded playlist.",
"example": "true",
"nullable": true,
"type": "boolean"
},
"layout": {
"description": "The album's layout preference",
"enum": [
"grid",
"player"
],
"example": "grid",
"type": "string"
},
"link": {
"description": "The URL to access the album.",
"example": "https://vimeo.com/album/Vimeo Holiday Videos!",
"type": "string"
},
"metadata": {
"description": "Metadata about the album.",
"properties": {
"connections": {
"description": "A collection of information that is connected to this resource.",
"properties": {
"videos": {
"description": "Information about the videos that belong to this album.",
"properties": {
"options": {
"description": "An array of the HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 6,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/albums/3706071/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"videos"
],
"type": "object"
},
"interactions": {
"description": "A list of resource URIs related to the album.",
"nullable": true,
"properties": {
"add_custom_thumbnails": {
"description": "An action indicating that the authenticated user is an admin of the album and may therefore add custom thumbnails. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/users/123456/albums/654321/custom_thumbnails",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"add_logos": {
"description": "An action indicating that the authenticated user is an admin of the album and may therefore add custom logos. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/users/123456/albums/654321/logos",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"add_videos": {
"description": "An action indicating that the authenticated user is an admin of the album and may therefore add videos. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods allowed on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/users/123456/albums/654321/videos",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
}
},
"required": [
"add_custom_thumbnails",
"add_logos",
"add_videos"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the album was last modified.",
"example": "2018-02-06T21:24:17+00:00",
"type": "string"
},
"name": {
"description": "The album's display name.",
"example": "Vimeo Holiday Videos!",
"type": "string"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active image for the album; defaults to the thumbnail of the last video added to the album."
},
"privacy": {
"description": "The privacy settings of the album.",
"properties": {
"password": {
"description": "The privacy-enabled password to see this album. Present only when `privacy.view` is `password`.",
"example": "hunter1",
"type": "string"
},
"view": {
"description": "Who can view the album:\n\nOption descriptions:\n * `anybody` - Anyone can view the album.\n * `embed_only` - Only owner can see album, can be embedded off-site\n * `password` - Only those with the password can view the album.\n",
"enum": [
"anybody",
"embed_only",
"password"
],
"example": "anybody",
"type": "string"
}
},
"required": [
"view"
],
"type": "object"
},
"resource_key": {
"description": "The album resource key.",
"example": "e5595241643259c658ed6c85ca82985a6341edc7",
"type": "string"
},
"review_mode": {
"description": "Whether album videos should use the review mode URL.",
"example": "true",
"type": "boolean"
},
"sort": {
"description": "Sort type of the album.",
"enum": [
"added_first",
"added_last",
"alphabetical",
"arranged",
"comments",
"likes",
"newest",
"oldest",
"plays"
],
"example": "added_first",
"type": "string"
},
"theme": {
"description": "The album's color theme preference",
"enum": [
"dark",
"standard"
],
"example": "dark",
"type": "string"
},
"uri": {
"description": "The album's URI.",
"example": "/albums/3706071",
"type": "string"
},
"url": {
"description": "The custom Vimeo URL a user has selected for their album.",
"example": "my-custom-url",
"nullable": true,
"type": "string"
},
"use_custom_domain": {
"description": "Whether the user has opted in to use a custom domain for their album.",
"example": "false",
"type": "boolean"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the album."
},
"web_brand_color": {
"description": "Whether an album should show the brand color in the web layout.",
"example": "true",
"type": "boolean"
},
"web_custom_logo": {
"description": "Whether an album's custom logo should be shown in the web layout.",
"example": "true",
"type": "boolean"
}
},
"required": [
"allow_continuous_play",
"allow_downloads",
"allow_share",
"brand_color",
"created_time",
"custom_logo",
"description",
"domain",
"duration",
"embed",
"embed_brand_color",
"embed_custom_logo",
"hide_nav",
"hide_vimeo_logo",
"layout",
"link",
"metadata",
"modified_time",
"name",
"pictures",
"privacy",
"resource_key",
"review_mode",
"sort",
"theme",
"uri",
"url",
"use_custom_domain",
"user",
"web_brand_color",
"web_custom_logo"
],
"title": "Album",
"type": "object"
},
"api-app": {
"properties": {
"name": {
"description": "The name of the API app.",
"example": "Vimeo Android",
"type": "string"
},
"uri": {
"description": "The canonical URI of the API app.",
"example": "/apps/12345",
"type": "string"
}
},
"required": [
"name",
"uri"
],
"title": "API App",
"type": "object"
},
"auth": {
"properties": {
"access_token": {
"description": "The access token string.",
"example": "01019a4a62aec63db077317ab7bb429db75652401e",
"type": "string"
},
"app": {
"allOf": [
{
"$ref": "#/components/schemas/api-app"
}
],
"description": "The API application associated with the token."
},
"expires_on": {
"description": "The date and time that the token expires.",
"example": "1495048954",
"type": "string"
},
"refresh_token": {
"description": "The refresh token string.",
"example": "3d3bc8a9cb7debfd01b270e419b2d265983362f9",
"type": "string"
},
"scope": {
"description": "The scope or scopes that the token supports.",
"example": "private create edit upload public",
"type": "string"
},
"token_type": {
"description": "The token type:\n\nOption descriptions:\n * `bearer` - The token is of the `bearer` type.\n",
"enum": [
"bearer"
],
"example": "bearer",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The user associated with the token."
}
},
"required": [
"access_token",
"app",
"scope",
"token_type"
],
"title": "Auth",
"type": "object"
},
"auth-error": {
"properties": {
"error": {
"description": "The name of the error.",
"example": "server_error",
"type": "string"
},
"error_description": {
"description": "The description of the error.",
"example": "An error has occurred on Vimeo's servers. Please try again.",
"type": "string"
}
},
"required": [
"error",
"error_description"
],
"title": "Auth Error",
"type": "object"
},
"category": {
"properties": {
"icon": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active icon for the category."
},
"last_video_featured_time": {
"description": "The last time, in ISO 8601 format, that a video was featured.",
"example": "2017-05-17T17:46:09+00:00",
"type": "string"
},
"link": {
"description": "The URL to access the category in a browser.",
"example": "https://vimeo.com/categories/animation",
"type": "string"
},
"metadata": {
"description": "Metadata about the category.",
"properties": {
"connections": {
"description": "A collection of information that is connected to this resource.",
"properties": {
"channels": {
"description": "Information about the channels related to this category.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of channels on this connection.",
"example": 90,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/categories/animation/channels",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"groups": {
"description": "Information about the groups related to this category.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of groups on this connection.",
"example": 15,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/categories/animation/groups",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"users": {
"description": "Information about the users related to this category.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection.",
"example": 140,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/categories/animation/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"videos": {
"description": "Information about the videos related to this category.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 960,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/categories/animation/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"channels",
"groups",
"users",
"videos"
],
"type": "object"
},
"interactions": {
"description": "The permissible actions related to the category.",
"properties": {
"follow": {
"description": "An action indicating if the authenticated user has followed this category.",
"properties": {
"added": {
"description": "Whether the authenticated user has followed this category.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format that the user followed this category, or the null value if the user hasn't followed this category.",
"example": "2017-05-17T17:46:09+00:00",
"nullable": true,
"type": "string"
},
"uri": {
"description": "The URI for following or unfollowing this category: PUT to this URI to follow the category, or DELETE to this URI to unfollow the category.",
"example": "/users/152184/categories/animation",
"type": "string"
}
},
"required": [
"added",
"added_time",
"uri"
],
"type": "object"
}
},
"required": [
"follow"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"name": {
"description": "The display name that identifies the category.",
"example": "Animation",
"type": "string"
},
"parent": {
"description": "The container of this category's parent category, if the current category is a subcategory.",
"nullable": true,
"properties": {
"link": {
"description": "The URL to access the parent category in a browser.",
"example": "https://vimeo.com/categories/animation",
"type": "string"
},
"name": {
"description": "The display name that identifies the parent category.",
"example": "Animation",
"type": "string"
},
"uri": {
"description": "The unique identifier to access the parent of this category resource.",
"example": "/categories/animation",
"type": "string"
}
},
"required": [
"link",
"name",
"uri"
],
"type": "object"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active picture for this category; defaults to vertical color bars."
},
"resource_key": {
"description": "The resource key of the category.",
"example": "e5595241643259c658ed6c85ca82985a6341edc7",
"type": "string"
},
"subcategories": {
"description": "All the subcategories that belong to this category, if the current category is a top-level parent.",
"items": {
"properties": {
"link": {
"description": "The URL to access the subcategory in a browser.",
"example": "https://vimeo.com/categories/animation/2d/videos",
"type": "string"
},
"name": {
"description": "The display name that identifies the subcategory.",
"example": "2D",
"type": "string"
},
"uri": {
"description": "The unique identifier to access the subcategory resource.",
"example": "/categories/animation/subcategories/2d",
"type": "string"
}
},
"required": [
"link",
"name",
"uri"
],
"type": "object"
},
"type": "array"
},
"top_level": {
"description": "Whether the category isn't a subcategory of another category.",
"example": "true",
"type": "boolean"
},
"uri": {
"description": "The unique identifier to access the category resource.",
"example": "/categories/animation",
"type": "string"
}
},
"required": [
"last_video_featured_time",
"link",
"metadata",
"name",
"parent",
"pictures",
"resource_key",
"top_level",
"uri"
],
"title": "Category",
"type": "object"
},
"channel": {
"properties": {
"categories": {
"description": "The categories to which this channel belongs as specified by the channel moderators.",
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
},
"created_time": {
"description": "The time in ISO 8601 format when the channel was created.",
"example": "2007-10-23T17:00:43+00:00",
"type": "string"
},
"description": {
"description": "A brief explanation of the channel's content.",
"example": "We really love videos, and these are the videos we really, really love.",
"nullable": true,
"type": "string"
},
"header": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The banner that appears by default at the top of the channel page."
},
"link": {
"description": "The URL to access the channel in a browser.",
"example": "https://vimeo.com/channels/staffpicks",
"type": "string"
},
"metadata": {
"description": "Metadata about the channel.",
"properties": {
"connections": {
"description": "A collection of information that is connected to this resource.",
"properties": {
"privacy_users": {
"description": "Information provided to channel moderators about which users they have specifically permitted to access a private channel. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection. This data requires a bearer token with the `private` scope.",
"example": 36,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/channels/927/privacy/users",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"users": {
"description": "Information about the users following or moderating this channel.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection.",
"example": 794634,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/channels/927/users",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"videos": {
"description": "Information about the videos that belong to this channel.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 12448,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/channels/927/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"privacy_users",
"users",
"videos"
],
"type": "object"
},
"interactions": {
"description": "A list of resource URIs related to the channel.",
"nullable": true,
"properties": {
"add_moderators": {
"description": "An action indicating that the authenticated user is the owner of the channel and may therefore add other users as channel moderators. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/channels/1234/moderators",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"add_to": {
"description": "When a channel appears in the context of adding or removing a video from it (`/videos/{video_id}/available_channels`), include information about adding or removing the video. This data requires a bearer token with the `private` scope.",
"nullable": true,
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/channels/1234/videos/5678",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"follow": {
"description": "An action indicating if the authenticated user has followed this channel. This data requires a bearer token with the `private` scope.",
"properties": {
"added": {
"description": "Whether the authenticated user has followed this channel. This data requires a bearer token with the `private` scope.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format that the user followed this channel, or the null value if the user hasn't followed the channel. This data requires a bearer token with the `private` scope.",
"example": "2017-05-22T17:50:11+00:00",
"nullable": true,
"type": "string"
},
"type": {
"description": "Whether the authenticated user is a moderator or subscriber. This data requires a bearer token with the `private` scope.\n\nOption descriptions:\n * `moderator` - The authenticated user is a moderator.\n * `subscriber` - The authenticated user is a subscriber.\n",
"enum": [
"moderator",
"subscriber"
],
"example": "moderator",
"nullable": true,
"type": "string"
},
"uri": {
"description": "The URI for following or unfollowing this channel. PUT to this URI to follow the channel, or DELETE to this URI to unfollow the channel. This data requires a bearer token with the `private` scope.",
"example": "/users/1234/channels/927",
"type": "string"
}
},
"required": [
"added",
"added_time",
"type",
"uri"
],
"type": "object"
},
"moderate_videos": {
"description": "An action indicating that the authenticated user is a moderator of the channel and may therefore add or remove videos from the channel. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods allowed on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/channels/1234/videos",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
}
},
"required": [
"add_moderators",
"add_to",
"follow",
"moderate_videos"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the album was last modified.",
"example": "2018-03-21T22:52:29+00:00",
"type": "string"
},
"name": {
"description": "The display name that identifies the channel.",
"example": "Vimeo Staff Picks",
"type": "string"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active image for the channel; defaults to the thumbnail of the last video added to the channel."
},
"privacy": {
"description": "The privacy settings of the channel.",
"properties": {
"view": {
"description": "Who can view the channel:\n\nOption descriptions:\n * `anybody` - Anyone can view the channel.\n * `moderators` - Only moderators can view the channel.\n * `users` - Only registered users can view the channel.\n",
"enum": [
"anybody",
"moderators",
"users"
],
"example": "anybody",
"type": "string"
}
},
"required": [
"view"
],
"type": "object"
},
"resource_key": {
"description": "The channel resource key.",
"example": "e5595241643259c658ed6c85ca82985a6341edc7",
"type": "string"
},
"tags": {
"description": "An array of all tags assigned to this channel.",
"items": {
"$ref": "#/components/schemas/tag"
},
"type": "array"
},
"uri": {
"description": "The unique identifier to access the channel resource.",
"example": "/channels/927",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The Vimeo user who owns the channel."
}
},
"required": [
"categories",
"created_time",
"description",
"header",
"link",
"metadata",
"modified_time",
"name",
"pictures",
"privacy",
"resource_key",
"tags",
"uri",
"user"
],
"title": "Channel",
"type": "object"
},
"comment": {
"properties": {
"created_on": {
"description": "The time in ISO 8601 format when the comment was posted.",
"example": "2018-03-05T21:04:47+00:00",
"type": "string"
},
"metadata": {
"properties": {
"connections": {
"properties": {
"replies": {
"description": "Information about this comment's replies.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of replies on this connection.",
"example": 42,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/comments/12345/replies",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"replies"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"resource_key": {
"description": "The resource key string for the comment.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"text": {
"description": "The content of the comment.",
"example": "I love this!",
"type": "string"
},
"type": {
"description": "The Vimeo content to which the comment relates:\n\nOption descriptions:\n * `video` - The comment is about a video.\n",
"enum": [
"video"
],
"example": "video",
"type": "string"
},
"uri": {
"description": "The unique identifier to access the comment resource.",
"example": "/videos/258684937/comments/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The user who posted the comment.",
"nullable": true
}
},
"required": [
"created_on",
"metadata",
"resource_key",
"text",
"type",
"uri",
"user"
],
"title": "Comment",
"type": "object"
},
"content-rating": {
"properties": {
"code": {
"description": "The code that uniquely identifies this content rating:\n\nOption descriptions:\n * `drugs` - Drug or alcohol use.\n * `language` - Profanity or sexually suggestive content.\n * `nudity` - Nudity.\n * `safe` - Suitable for all audiences.\n * `unrated` - No rating.\n * `violence` - Violent or graphic content.\n",
"enum": [
"drugs",
"language",
"nudity",
"safe",
"unrated",
"violence"
],
"example": "violence",
"type": "string"
},
"name": {
"description": "The description of this content rating.",
"example": "Violence",
"type": "string"
},
"uri": {
"description": "The canonical relative URI of the content rating.",
"example": "/contentrating/violence",
"nullable": true,
"type": "string"
}
},
"required": [
"code",
"name",
"uri"
],
"title": "Content Rating",
"type": "object"
},
"creative-commons": {
"properties": {
"code": {
"description": "The code that uniquely identifies this Creative Commons license:\n\nOption descriptions:\n * `by` - Attribution\n * `by-nc` - Attribution Non-Commercial\n * `by-nc-nd` - Attribution Non-Commercial No Derivatives\n * `by-nc-sa` - Attribution Non-Commercial Share Alike\n * `by-nd` - Attribution No Derivatives\n * `by-sa` - Attribution Share Alike\n * `cc0` - Public Domain Dedication\n",
"enum": [
"by",
"by-nc",
"by-nc-nd",
"by-nc-sa",
"by-nd",
"by-sa",
"cc0"
],
"example": "by-sa",
"type": "string"
},
"name": {
"description": "The description of this Creative Commons license.",
"example": "Attribution Share Alike",
"type": "string"
},
"uri": {
"description": "The canonical relative URI of the Creative Commons license.",
"example": "/creativecommons/by-sa",
"nullable": true,
"type": "string"
}
},
"required": [
"code",
"name",
"uri"
],
"title": "Creative Commons",
"type": "object"
},
"credit": {
"properties": {
"name": {
"description": "The name of the person credited.",
"example": "Sam Doe",
"type": "string"
},
"role": {
"description": "The character that this person portrayed, or the job that this person performed.",
"example": "Themselves",
"type": "string"
},
"uri": {
"description": "The unique identifier to access the credits resource.",
"example": "/videos/258684937/credits/1234",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The Vimeo user associated with this credit."
},
"video": {
"allOf": [
{
"$ref": "#/components/schemas/video"
}
],
"description": "The video associated with this credit."
}
},
"required": [
"name",
"role",
"uri"
],
"title": "Credit",
"type": "object"
},
"domain": {
"properties": {
"allow_hd": {
"description": "Whether to permit HD embeds on this domain.",
"example": "true",
"type": "boolean"
},
"domain": {
"description": "The domain name.",
"example": "example.com",
"type": "string"
},
"uri": {
"description": "The URI of the domain.",
"example": "/videos/258684937/privacy/domains/example.com",
"type": "string"
}
},
"required": [
"allow_hd",
"domain",
"uri"
],
"title": "Domain",
"type": "object"
},
"embed-settings": {
"properties": {
"buttons": {
"description": "A collection of information about the buttons that appear on the interface of the embeddable player.",
"properties": {
"embed": {
"description": "Whether the Embed button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"fullscreen": {
"description": "Whether the Fullscreen button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"hd": {
"description": "Whether the HD button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"like": {
"description": "Whether the Like button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"scaling": {
"description": "Whether the Scaling button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"share": {
"description": "Whether the Share button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"watchlater": {
"description": "Whether the Watch Later button appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
}
},
"required": [
"embed",
"fullscreen",
"hd",
"like",
"scaling",
"share",
"watchlater"
],
"type": "object"
},
"color": {
"description": "The primary player color, which controls the color of the progress bar, buttons, and more.",
"example": "#0a0808",
"type": "string"
},
"logos": {
"description": "A collection of information about the logo in the corner of the embeddable player.",
"properties": {
"custom": {
"description": "A collection of information relating to custom logos in the embeddable player.",
"properties": {
"active": {
"description": "Whether the custom logo appears in the embeddable player.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The URL that loads upon clicking the custom logo.",
"example": "http://example.com",
"type": "string"
},
"sticky": {
"description": "Whether the custom logo appears even when the player interface is hidden.",
"example": "true",
"type": "boolean"
}
},
"required": [
"active",
"link",
"sticky"
],
"type": "object"
},
"vimeo": {
"description": "Whether the Vimeo logo appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
}
},
"required": [
"custom",
"vimeo"
],
"type": "object"
},
"playbar": {
"description": "Whether the playbar appears in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"speed": {
"description": "Whether the speed controls appear in the embeddable player for this video.",
"example": "true",
"type": "boolean"
},
"title": {
"description": "A collection of information relating to the embeddable player's title bar.",
"properties": {
"name": {
"description": "How the embeddable player handles the video title:\n\nOption descriptions:\n * `hide` - The title is hidden.\n * `show` - The title is shown.\n",
"enum": [
"hide",
"show",
"user"
],
"example": "hide",
"type": "string"
},
"owner": {
"description": "How the embeddable player handles the video owner's information:\n\nOption descriptions:\n * `hide` - The owner's information is hidden.\n * `show` - The owner's information is shown.\n",
"enum": [
"hide",
"show",
"user"
],
"example": "hide",
"type": "string"
},
"portrait": {
"description": "How the embeddable player handles the video owner's portrait:\n\nOption descriptions:\n * `hide` - The owner's portrait is hidden\n * `show` - The owner's portrait is shown.\n",
"enum": [
"hide",
"show",
"user"
],
"example": "hide",
"type": "string"
}
},
"required": [
"name",
"owner",
"portrait"
],
"type": "object"
},
"uri": {
"description": "The URI of the embed preset.",
"example": "/videos/258684937/presets/12345",
"type": "string"
},
"volume": {
"description": "Whether the volume controls appear in the embeddable player for this video.",
"example": "true",
"type": "boolean"
}
},
"required": [
"buttons",
"color",
"logos",
"playbar",
"speed",
"title",
"volume"
],
"title": "Embed Settings",
"type": "object"
},
"endpoint": {
"properties": {
"methods": {
"description": "All HTTP methods permitted on this endpoint.",
"items": {
"type": "string"
},
"type": "array"
},
"path": {
"description": "The path section of the URL, which, when appended to the API host `https:///api.vimeo.com`, builds a full API endpoint.",
"example": "/me",
"type": "string"
}
},
"required": [
"methods",
"path"
],
"title": "Endpoint",
"type": "object"
},
"error": {
"properties": {
"developer_message": {
"description": "The error message that developers receive.",
"example": "The specified resource does not exist.",
"type": "string"
},
"error": {
"description": "The error message that non-developer users receive.",
"example": "Something strange occurred. Please try again.",
"type": "string"
},
"error_code": {
"description": "The error code.",
"example": 5000,
"type": "number"
},
"link": {
"description": "A link to more information about the error.",
"type": "string"
}
},
"required": [
"developer_message",
"error",
"error_code",
"link"
],
"title": "Error",
"type": "object"
},
"group": {
"properties": {
"created_time": {
"description": "The time in ISO 8601 format when the group was created.",
"example": "2008-07-05T14:52:43+00:00",
"type": "string"
},
"description": {
"description": "The group's description.",
"example": "Want to participate in our weekly Challenges? Join the Group to receive messages and new Challenges!",
"nullable": true,
"type": "string"
},
"link": {
"description": "The link to the group.",
"example": "https://vimeo.com/groups/weekendchallenge",
"type": "string"
},
"metadata": {
"description": "Metadata about the group.",
"properties": {
"connections": {
"description": "A collection of information that is connected to this resource.",
"properties": {
"users": {
"description": "Information about the members or moderators of this group.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection.",
"example": 25798,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/groups/1108/users",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"videos": {
"description": "Information about the videos contained within this group.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 7252,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/groups/1108/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"users",
"videos"
],
"type": "object"
},
"interactions": {
"description": "User actions that have involved the group. This data requires a bearer token with the `private` scope.",
"properties": {
"join": {
"description": "An action indicating that someone has joined the group. This data requires a bearer token with the `private` scope.",
"properties": {
"added": {
"description": "Whether the authenticated user has followed this group. This data requires a bearer token with the `private` scope.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the user joined this group. This data requires a bearer token with the `private` scope.",
"nullable": true,
"type": "string"
},
"title": {
"description": "The user's title, or the null value if not applicable. This data requires a bearer token with the `private` scope.",
"example": "Vimeo Staff",
"nullable": true,
"type": "string"
},
"type": {
"description": "Whether the authenticated user is a moderator or subscriber. This data requires a bearer token with the `private` scope.\n\nOption descriptions:\n * `member` - The authenticated user is a member.\n * `moderator` - The authenticated user is a moderator.\n",
"enum": [
"member",
"moderator"
],
"example": "member",
"nullable": true,
"type": "string"
},
"uri": {
"description": "The URI for following. PUT to this URI to follow, or DELETE to this URI to unfollow. This data requires a bearer token with the `private` scope.",
"example": "/users/152184/groups/1108",
"type": "string"
}
},
"required": [
"added",
"added_time",
"title",
"type",
"uri"
],
"type": "object"
}
},
"required": [
"join"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the group was last modified.",
"example": "2018-09-16T15:41:45+00:00",
"type": "string"
},
"name": {
"description": "The group's display name.",
"example": "Vimeo Weekend Challenge",
"type": "string"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active picture for this group."
},
"privacy": {
"description": "The group's privacy settings.",
"properties": {
"comment": {
"description": "Who can comment on the group:\n\nOption descriptions:\n * `all` - Anyone can comment on the group.\n * `members` - Only members can comment on the group.\n",
"enum": [
"all",
"members"
],
"example": "all",
"type": "string"
},
"invite": {
"description": "Who can invite new members to the group:\n\nOption descriptions:\n * `all` - Anyone can invite new members to join.\n * `members` - Only group members can invite new members to join.\n",
"enum": [
"all",
"members"
],
"example": "all",
"type": "string"
},
"join": {
"description": "Who can join the group:\n\nOption descriptions:\n * `anybody` - Anyone can join the group.\n * `members` - Only people with a Vimeo account can join the group.\n",
"enum": [
"anybody",
"members"
],
"example": "anybody",
"type": "string"
},
"videos": {
"description": "Who can add videos to the group:\n\nOption descriptions:\n * `all` - Anyone can add videos to the group.\n * `members` - Only group members can add videos to the group.\n",
"enum": [
"all",
"members"
],
"example": "all",
"type": "string"
},
"view": {
"description": "Who can view the group:\n\nOption descriptions:\n * `anybody` - Anyone can view the group.\n * `members` - Only group members can view the group.\n",
"enum": [
"anybody",
"members"
],
"example": "anybody",
"type": "string"
}
},
"required": [
"comment",
"invite",
"join",
"videos",
"view"
],
"type": "object"
},
"resource_key": {
"description": "The resource key of the group.",
"example": "dc724af18fbdd4e59189f5fe768a5f8311527050",
"type": "string"
},
"uri": {
"description": "The canonical relative URI of this group.",
"example": "/groups/1108",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the group.",
"nullable": true
}
},
"required": [
"created_time",
"description",
"link",
"metadata",
"modified_time",
"name",
"pictures",
"privacy",
"resource_key",
"uri"
],
"title": "Group",
"type": "object"
},
"language": {
"properties": {
"code": {
"description": "The code that represents this language.",
"example": "en-US",
"type": "string"
},
"name": {
"description": "The name of the language.",
"example": "English (United States)",
"type": "string"
}
},
"required": [
"code",
"name"
],
"title": "Language",
"type": "object"
},
"legacy-error": {
"properties": {
"error": {
"description": "User-friendly error message",
"example": "Something strange occurred. Please try again.",
"type": "string"
}
},
"required": [
"error"
],
"title": "Legacy Error",
"type": "object"
},
"on-demand-genre": {
"properties": {
"canonical": {
"description": "The canonical name or URL slug of the genre.",
"example": "horror",
"type": "string"
},
"interactions": {
"properties": {
"page": {
"description": "Interactions for On Demand pages that are in this genre.",
"properties": {
"added": {
"description": "Whether this On Demand genre was added.",
"example": "true",
"type": "boolean"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The URI to access the On Demand page.",
"example": "/ondemand/genres/horror/pages/12345",
"type": "string"
}
},
"required": [
"added",
"options",
"uri"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"link": {
"description": "The Vimeo URL for this genre.",
"example": "http://vimeo.com/ondemand/browse/horror",
"type": "string"
},
"metadata": {
"properties": {
"connections": {
"description": "A collection of information connected to this resource.",
"properties": {
"pages": {
"description": "Information about the On Demand pages related to this group.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/genres/horror/pages",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
}
},
"required": [
"pages"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"name": {
"description": "The descriptive name of the genre.",
"example": "Horror",
"type": "string"
},
"uri": {
"description": "The relative URI of the On Demand genre.",
"example": "/ondemand/genres/horror",
"type": "string"
}
},
"required": [
"canonical",
"interactions",
"link",
"metadata",
"name",
"uri"
],
"title": "On Demand Genre",
"type": "object"
},
"on-demand-page": {
"properties": {
"background": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The background image for the On Demand page on Vimeo.",
"nullable": true
},
"colors": {
"description": "The primary and secondary colors used for rendering this On Demand page.",
"properties": {
"primary": {
"description": "The hexadecimal color code for the page's primary color.",
"example": "#0a0808",
"type": "string"
},
"secondary": {
"description": "The hexadecimal color code for the page's secondary color.",
"example": "#ba4a17",
"type": "string"
}
},
"required": [
"primary",
"secondary"
],
"type": "object"
},
"content_rating": {
"description": "An array of the page's content ratings.",
"items": {
"type": "string"
},
"type": "array"
},
"created_time": {
"description": "The time in ISO 8601 format when the page was created.",
"example": "2017-05-15T13:42:25+00:00",
"type": "string"
},
"description": {
"description": "The description of this On Demand page.",
"example": "DARBY FOREVER follows the fantasies of Darby, a shopgirl at \"Bobbins & Notions\"",
"nullable": true,
"type": "string"
},
"domain_link": {
"description": "The link to this page on its own domain.",
"example": "https://example.com",
"nullable": true,
"type": "string"
},
"episodes": {
"description": "Information about this On Demand page's episodes, if the page is for a series.",
"properties": {
"buy": {
"properties": {
"active": {
"description": "Whether all the videos on this On Demand page can be purchased as a whole.",
"example": "true",
"type": "boolean"
},
"price": {
"description": "The default price to buy an episode.",
"example": 9.99,
"nullable": true,
"type": "number"
}
},
"required": [
"active",
"price"
],
"type": "object"
},
"rent": {
"properties": {
"active": {
"description": "Whether all the videos on this On Demand page can be rented as a whole.",
"example": "true",
"type": "boolean"
},
"period": {
"description": "The rental period for the video:\n\nOption descriptions:\n * `1 day` - The rental period is one day.\n * `1 month` - The rental period is one month.\n * `1 week` - The rental period is one week.\n * `1 year` - The rental period is one year.\n * `2 day` - The rental period is two days.\n * `24 hour` - The rental period is 24 hours.\n * `3 day` - The rental period is three days.\n * `3 month` - The rental period is three months.\n * `30 day` - The rental period is 30 days.\n * `48 hour` - The rental period is 48 hours.\n * `6 month` - The rental period is six months.\n * `60 day` - The rental period is 60 days.\n * `7 day` - The rental period is 7 days.\n * `72 hour` - The rental period is 72 hours.\n",
"enum": [
"1 day",
"1 month",
"1 week",
"1 year",
"2 day",
"24 hour",
"3 day",
"3 month",
"30 day",
"48 hour",
"6 month",
"60 day",
"7 day",
"72 hour"
],
"example": "1 day",
"nullable": true,
"type": "string"
},
"price": {
"description": "The default price to rent an episode.",
"example": 2.99,
"nullable": true,
"type": "number"
}
},
"required": [
"active",
"period",
"price"
],
"type": "object"
}
},
"required": [
"buy",
"rent"
],
"type": "object"
},
"film": {
"allOf": [
{
"$ref": "#/components/schemas/video"
}
],
"description": "This On Demand page's film, if it is a film."
},
"genres": {
"description": "All the genres assigned to this page.",
"items": {
"$ref": "#/components/schemas/on-demand-genre"
},
"type": "array"
},
"link": {
"description": "The link to the page on Vimeo.",
"example": "https://vimeo.com/ondemand/darbyforever",
"type": "string"
},
"metadata": {
"description": "Metadata about the On Demand page.",
"properties": {
"connections": {
"description": "A collection of information that is connected to this resource, including videos, genres, and pictures connections.",
"properties": {
"metadata": {
"properties": {
"connections": {
"properties": {
"comments": {
"description": "Information about the comments associated with this page.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of comments on this connection.",
"example": 4,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/comments",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"genres": {
"description": "Information about the genres associated with this page.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of genres on this connection.",
"example": 9,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/genres",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"likes": {
"description": "Information about the likes associated with this page.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of likes on this connection.",
"example": 15,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/likes",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"pictures": {
"description": "Information about the pictures associated with this page.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of pictures on this connection.",
"example": 3,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/pictures",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"seasons": {
"description": "Information about the seasons associated with this page.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of seasons on this connection.",
"example": 3,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/seasons",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"videos": {
"description": "Information about the videos associated with this page.",
"properties": {
"extra_total": {
"description": "The total number of extra videos.",
"example": 14,
"type": "number"
},
"main_total": {
"description": "The total number of main videos.",
"example": 36,
"type": "number"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 50,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/videos",
"type": "string"
},
"viewable_total": {
"description": "The total number of viewable videos.",
"example": 50,
"type": "number"
}
},
"required": [
"extra_total",
"main_total",
"options",
"total",
"uri",
"viewable_total"
],
"type": "object"
}
},
"required": [
"comments",
"genres",
"likes",
"pictures",
"seasons",
"videos"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
}
},
"required": [
"metadata"
],
"type": "object"
},
"interactions": {
"allOf": [
{
"$ref": "#/components/schemas/purchase-interaction"
}
],
"description": "The user's available purchase interactions."
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"modified_time": {
"description": "he time in ISO 8601 format when the page was last modified.",
"example": "2017-05-15T13:42:25+00:00",
"type": "string"
},
"name": {
"description": "A descriptive title of this On Demand page.",
"example": "Darby Forever",
"type": "string"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active poster for this On Demand page.",
"nullable": true
},
"preorder": {
"properties": {
"active": {
"description": "Whether this page is available for preorder.",
"example": "true",
"type": "boolean"
},
"cancel_time": {
"description": "The time in ISO 8601 format when the preorder was cancelled.",
"example": "2017-05-16T13:13:46+00:00",
"type": "string"
},
"publish_time": {
"description": "The time in ISO 8601 format when the preorder was released to the public.",
"example": "2017-05-15T13:12:52+00:00",
"type": "string"
},
"time": {
"description": "The time in ISO 8601 format when the preorder started.",
"example": "2017-05-15T13:13:31+00:00",
"type": "string"
}
},
"required": [
"active",
"cancel_time",
"publish_time",
"time"
],
"type": "object"
},
"published": {
"properties": {
"enabled": {
"description": "Whether this On Demand page has been published.",
"example": "true",
"type": "boolean"
},
"time": {
"description": "The time in IS 8601 format when this page was published.",
"example": "2017-05-15T13:12:52+00:00",
"type": "string"
}
},
"required": [
"enabled",
"time"
],
"type": "object"
},
"rating": {
"description": "The rating of this page.",
"example": 7,
"nullable": true,
"type": "number"
},
"resource_key": {
"description": "The VOD resource key.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"sku": {
"description": "The creator-designated SKU for this On Demand page.",
"example": "VIME0001",
"nullable": true,
"type": "string"
},
"subscription": {
"description": "Information about subscribing to this On Demand page, if enabled.",
"nullable": true,
"properties": {
"active": {
"description": "Whether this product is active.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The link to this product on Vimeo.",
"example": "https://vimeo.com/ondemand/darbyforever",
"nullable": true,
"type": "string"
},
"period": {
"description": "The product's rental period.",
"type": "string"
},
"price": {
"description": "The accepted currencies and respective pricing for this product.",
"type": "object"
}
},
"required": [
"active",
"link",
"price"
],
"type": "object"
},
"theme": {
"description": "The graphical theme for this On Demand page.",
"example": "vader",
"type": "string"
},
"thumbnail": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The thumbnail image for the On Demand page on Vimeo.",
"nullable": true
},
"trailer": {
"allOf": [
{
"$ref": "#/components/schemas/video"
}
],
"description": "The trailer for this On Demand page.",
"nullable": true
},
"type": {
"description": "Whether this On Demand page is for a film or a series.\n\nOption descriptions:\n * `film` - The On Demand page is for a film.\n * `series` - The On Demand page is for a series.\n",
"enum": [
"film",
"series"
],
"example": "film",
"type": "string"
},
"uri": {
"description": "The relative URI of the On Demand page.",
"example": "/ondemand/pages/61326",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The user who created this On Demand page.",
"nullable": true
}
},
"required": [
"background",
"colors",
"content_rating",
"description",
"domain_link",
"episodes",
"genres",
"link",
"metadata",
"name",
"pictures",
"preorder",
"published",
"rating",
"resource_key",
"subscription",
"theme",
"thumbnail",
"trailer",
"type",
"uri",
"user"
],
"title": "On Demand Page",
"type": "object"
},
"on-demand-promotion": {
"properties": {
"access_type": {
"description": "The type of access that this promotion grants:\n\nOption descriptions:\n * `default` - Grants discounts on existing product offerings.\n * `vip` - Grants free access either to VOD content before it is released or to access types that aren't part of the existing product offerings.\n",
"enum": [
"default",
"vip"
],
"example": "default",
"type": "string"
},
"discount_type": {
"description": "The type of discount for which this promotion can be used.\n\nOption descriptions:\n * `dollars` - The discount is a certain fixed amount.\n * `free` - The discount is the full purchase price. VIP access promotions always use this discount type.\n * `percent` - The discount is a certain percentage of the full price.\n",
"enum": [
"dollars",
"free",
"percent"
],
"example": "free",
"type": "string"
},
"download": {
"description": "Whether this promotion grants download access to On Demand content.",
"example": "true",
"type": "boolean"
},
"label": {
"description": "The prefix string for batch codes, or the null value for single codes.",
"example": "8jgaieumbzstujhn8k304iwwezawkvwm",
"nullable": true,
"type": "string"
},
"metadata": {
"description": "The video's metadata.",
"properties": {
"connections": {
"description": "A list of resource URIs related to the On Demand promotion.",
"properties": {
"codes": {
"description": "Information about the codes associated with this promotion.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of uses on this connection.",
"example": 1,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/promotion/12345/codes",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"codes"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"percent_off": {
"description": "The percentage amount that is deducted from the product price.",
"example": 100,
"type": "number"
},
"product_type": {
"description": "The type of product to which this promotion can be applied. Only `buy` and `rent` are available for the VIP access type:\n\nOption descriptions:\n * `any` - The promotion can be applied to any product.\n * `buy` - The promotion can be applied to a buyable single video.\n * `buy_episode` - The promotion can be applied to a buyable single episode.\n * `rent` - The promotion can be applied to a rentable single video.\n * `rent_episode` - The promotion can be applied to a rentable single episode.\n * `subscribe` - The promotion can be applied to a subscription.\n",
"enum": [
"any",
"buy",
"buy_episode",
"rent",
"rent_episode",
"subscribe"
],
"example": "any",
"type": "string"
},
"stream_period": {
"description": "The amount of time that the user has access to the VOD content after redeeming a promo code.\n\nOption descriptions:\n * `1_week` - Access lasts for one week.\n * `1_year` - Access lasts for one year.\n * `24_hour` - Access lasts for 24 hours.\n * `30_days` - Access lasts for 30 days.\n * `3_month` - Access lasts for 3 months.\n * `48_hour` - Access lasts for 48 hours.\n * `6_month` - Access lasts for 6 months.\n * `72_hour` - Access lasts for 72 hours.\n",
"enum": [
"1_week",
"1_year",
"24_hour",
"30_days",
"3_month",
"48_hour",
"6_month",
"72_hour"
],
"example": "1_week",
"nullable": true,
"type": "string"
},
"total": {
"description": "The total amount of times that this promotion can be used.",
"example": 1,
"type": "number"
},
"type": {
"description": "The way in which this promotion can generate promo codes:\n\nOption descriptions:\n * `batch` - Provides many unique promo codes that can only be used once each.\n * `batch_prefix` - Similar to `batch`, except that all codes have a similar prefix string. This mode is deprecated, yet it may still appear for some users.\n * `single` - Provides a single promo code with many uses.\n",
"enum": [
"batch",
"batch_prefix",
"single"
],
"example": "batch",
"type": "string"
},
"uri": {
"description": "The promotion's canonical relative URI.",
"example": "/ondemand/pages/61326/promotions/12345",
"type": "string"
}
},
"required": [
"access_type",
"discount_type",
"download",
"label",
"metadata",
"percent_off",
"product_type",
"stream_period",
"total",
"type",
"uri"
],
"title": "On Demand Promotion",
"type": "object"
},
"on-demand-promotion-code": {
"properties": {
"code": {
"description": "A promotion code that can be redeemed on Vimeo.",
"example": "8jgaieumbzstujhn8k304iwwezawkvwm",
"type": "string"
},
"link": {
"description": "A link to redeem the promotion code instantly.",
"example": "https://vimeo.com/r/0trBLg/OGpnYWlldW",
"type": "string"
},
"max_uses": {
"description": "The total amount of times this code can be used.",
"example": 1,
"type": "number"
},
"uses": {
"description": "The number of times that this code has been used.",
"example": 0,
"type": "number"
}
},
"required": [
"code",
"link",
"max_uses",
"uses"
],
"title": "On Demand Promotion Code",
"type": "object"
},
"on-demand-region": {
"properties": {
"country_code": {
"description": "The ISO 3166-1 alpha-2 code for this country.",
"example": "US",
"type": "string"
},
"country_name": {
"description": "The descriptive name of this country.",
"example": "United States",
"type": "string"
},
"uri": {
"description": "The region container's relative URI.",
"example": "/ondemand/pages/61326/regions/US",
"type": "string"
}
},
"required": [
"country_code",
"country_name",
"uri"
],
"title": "On Demand Region",
"type": "object"
},
"on-demand-season": {
"properties": {
"description": {
"description": "The description for this season.",
"example": "Season 1",
"type": "string"
},
"metadata": {
"properties": {
"connections": {
"properties": {
"videos": {
"description": "The Videos connection.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 13,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection ∂data.",
"example": "/ondemand/pages/61326/season/12345/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"videos"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"name": {
"description": "The descriptive name of the season.",
"example": "Season 1",
"type": "string"
},
"position": {
"description": "The position of the season relative to other seasons in the series.",
"example": 1,
"type": "number"
},
"resource_key": {
"description": "The unique identifier for this On Demand season.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"type": {
"description": "The type of season.",
"example": "main",
"type": "string"
},
"uri": {
"description": "The season container's relative URI.",
"example": "/ondemand/pages/61326/seasons/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The creator of this On Demand page.",
"nullable": true
}
},
"required": [
"description",
"metadata",
"name",
"position",
"resource_key",
"type",
"uri",
"user"
],
"title": "On Demand Season",
"type": "object"
},
"on-demand-video": {
"properties": {
"buy": {
"description": "Information about purchasing this video.",
"nullable": true,
"properties": {
"active": {
"description": "Whether this On Demand video can be purchased.",
"example": "true",
"type": "boolean"
},
"price": {
"description": "A map of currency type to price.",
"type": "object"
},
"purchased": {
"description": "Whether this On Demand video has been purchased.",
"example": "true",
"type": "boolean"
}
},
"required": [
"active",
"price"
],
"type": "object"
},
"description": {
"description": "Description of the On Demand video.",
"example": "DARBY FOREVER follows the fantasies of Darby, a shopgirl at \"Bobbins & Notions\".",
"type": "string"
},
"duration": {
"description": "The duration of the On Demand video.",
"example": "1197",
"type": "string"
},
"episode": {
"description": "The episode number of the On Demand video.",
"example": 1,
"type": "number"
},
"interactions": {
"description": "An object containing information about how the authenticated user can interact with this On Demand page.",
"properties": {
"page": {
"description": "Information about how the authenticated user can interact with the connection to the video's On Demand page.",
"properties": {
"added": {
"description": "Whether this On Demand page was added.",
"example": "true",
"type": "boolean"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The URI to access the On Demand page.",
"example": "/ondemand/pages/61326",
"type": "string"
}
},
"required": [
"added",
"options",
"uri"
],
"type": "object"
}
},
"required": [
"page"
],
"type": "object"
},
"link": {
"description": "The link to this video on Vimeo.",
"example": "https://vimeo.com/ondemand/darbyforever/12345",
"type": "string"
},
"metadata": {
"description": "Metadata information about this video.",
"properties": {
"connections": {
"properties": {
"season": {
"description": "Information about this season.",
"properties": {
"name": {
"description": "The name of the season on this connection.",
"example": "Season 1",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/seasons/12345",
"type": "string"
}
},
"required": [
"name",
"options",
"uri"
],
"type": "object"
}
},
"required": [
"season"
],
"type": "object"
},
"interactions": {
"properties": {
"likes": {
"description": "Information about the user's Like interactions with this video.",
"properties": {
"added": {
"description": "Whether the user has liked this video.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the user liked this video.",
"example": "2017-05-12T21:42:42+00:00",
"type": "string"
},
"uri": {
"description": "The URI for the user to like this video.",
"example": "/users/152184/likes/12345",
"type": "string"
}
},
"required": [
"added",
"added_time",
"uri"
],
"type": "object"
},
"watchlater": {
"description": "Information about the user's Watch Later interactions with this video.",
"properties": {
"added": {
"description": "Whether the user has added this video to their Watch Later queue.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the user added this video to their Watch Later queue.",
"example": "2017-05-12T21:42:42+00:00",
"type": "string"
},
"uri": {
"description": "The URI for the user to add this video to their Watch Later queue.",
"example": "/users/152184/watchlater/12345",
"type": "string"
}
},
"required": [
"added",
"added_time",
"uri"
],
"type": "object"
}
},
"required": [
"likes",
"watchlater"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"name": {
"description": "The title of the On Demand video.",
"example": "Darby Forever",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active picture for this video."
},
"play_progress": {
"description": "The user's most recent play position in seconds for this video.",
"example": 30,
"type": "number"
},
"position": {
"description": "Describes the manual position of this video relative to the other videos owned by this On Demand page.",
"example": 1,
"type": "number"
},
"release_date": {
"description": "The time in ISO 8601 format when the On Demand video was created or published.",
"example": "2017-05-12T21:06:42+00:00",
"type": "string"
},
"release_year": {
"description": "The year that this On Demand video was released.",
"example": 2016,
"nullable": true,
"type": "number"
},
"rent": {
"description": "Information about renting this video.",
"nullable": true,
"properties": {
"active": {
"description": "Whether this On Demand video can be rented.",
"example": "true",
"type": "boolean"
},
"price": {
"description": "A map of currency type to price.",
"type": "object"
},
"purchased": {
"description": "Whether this On Demand video has been rented.",
"example": "true",
"type": "boolean"
}
},
"required": [
"active",
"price"
],
"type": "object"
},
"type": {
"description": "The type of the On Demand video:\n\nOption descriptions:\n * `extra` - The On Demand video is an extra feature.\n * `main` - The On Demand video is a main feature.\n * `trailer` - The On Demand video is a trailer.\n",
"enum": [
"extra",
"main",
"trailer"
],
"example": "main",
"type": "string"
},
"uri": {
"description": "The video container's relative URI.",
"example": "/ondemand/pages/61326/videos/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the video."
}
},
"required": [
"buy",
"interactions",
"link",
"metadata",
"play_progress",
"release_year",
"rent",
"type",
"uri"
],
"title": "On Demand Video",
"type": "object"
},
"picture": {
"properties": {
"active": {
"description": "Whether this picture is the active picture for its parent resource.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The upload URL for the picture. This field appears when you create the picture resource for the first time.",
"type": "string"
},
"resource_key": {
"description": "The picture's resource key string.",
"example": "dc724af18fbdd4e59189f5fe768a5f8311527050",
"type": "string"
},
"sizes": {
"description": "An array containing reference information about all available image files.",
"items": {
"properties": {
"height": {
"description": "The height of the image.",
"example": 720,
"nullable": true,
"type": "number"
},
"link": {
"description": "The direct link to the image.",
"example": "https://i.vimeocdn.com/video/581495283_1280x720.jpg?r=pad",
"type": "string"
},
"link_with_play_button": {
"description": "The direct link to the image with a play button overlay.",
"example": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F581495283_1280x720.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png",
"type": "string"
},
"width": {
"description": "The width of the image.",
"example": 1280,
"type": "number"
}
},
"required": [
"height",
"link",
"width"
],
"type": "object"
},
"type": "array"
},
"type": {
"description": "The type of the picture:\n\nOption descriptions:\n * `caution` - An image that is appropriate for all ages.\n * `custom` - A custom image for the video.\n * `default` - The default image for the video.\n",
"enum": [
"caution",
"custom",
"default"
],
"example": "caution",
"type": "string"
},
"uri": {
"description": "The picture's URI.",
"example": "/users/152184/pictures/12345",
"type": "string"
}
},
"required": [
"active",
"resource_key",
"sizes",
"type",
"uri"
],
"title": "Picture",
"type": "object"
},
"play": {
"properties": {
"progressive": {
"description": "Progressive files.",
"items": {
"properties": {
"created_time": {
"description": "The time in ISO 8601 format when this video file was created.",
"example": "2017-05-16T17:21:51+00:00",
"type": "string"
},
"fps": {
"description": "The FPS of the video file.",
"example": 30,
"type": "number"
},
"height": {
"description": "The height in pixels of the video.",
"example": 720,
"nullable": true,
"type": "number"
},
"link": {
"description": "The direct link to this video file.",
"type": "string"
},
"link_expiration_time": {
"description": "The time in ISO 8601 format when the link to this video file expires.",
"example": "2017-05-16T17:21:51+00:00",
"type": "string"
},
"log": {
"description": "The URLs for logging events.",
"type": "object"
},
"md5": {
"description": "The MD5 hash of the video file.",
"example": "1bc29b36f623ba82aaf6724fd3b16718",
"type": "string"
},
"size": {
"description": "The file size in bytes of this video.",
"example": 5000000,
"nullable": true,
"type": "number"
},
"type": {
"description": "The type of the video file:\n\nOption descriptions:\n * `source` - The video is a source file.\n * `video/mp4` - The video is in MP4 format.\n * `video/webm` - The video is in WebM format.\n * `vp6/x-video` - The video is in VP6 format.\n",
"enum": [
"source",
"video/mp4",
"video/webm",
"vp6/x-video"
],
"example": "source",
"nullable": true,
"type": "string"
},
"width": {
"description": "The width in pixels of the video.",
"example": 1280,
"nullable": true,
"type": "number"
}
},
"required": [
"created_time",
"fps",
"height",
"link",
"link_expiration_time",
"md5",
"size",
"type",
"width"
],
"type": "object"
},
"type": "array"
},
"status": {
"description": "The play status of the video:\n\nOption descriptions:\n * `playable` - The video is playable.\n * `purchase_required` - The video must be purchased.\n * `restricted` - Playback for the video is restricted.\n * `unavailable` - The video is unavailable.\n",
"enum": [
"playable",
"purchase_required",
"restricted",
"unavailable"
],
"example": "playable",
"type": "string"
}
},
"required": [
"status"
],
"title": "Play",
"type": "object"
},
"portfolio": {
"properties": {
"created_time": {
"description": "The time in ISO 8601 format when the portfolio was created.",
"example": "2017-05-16T19:56:07+00:00",
"type": "string"
},
"description": {
"description": "The portfolio's description.",
"example": "The Vimeo Staff original productions.",
"nullable": true,
"type": "string"
},
"link": {
"description": "The link to the portfolio.",
"example": "https://vimeopro.com/staff/originals",
"type": "string"
},
"metadata": {
"description": "Metadata about the album.",
"properties": {
"connections": {
"description": "A list of resource URIs related to the album.",
"properties": {
"videos": {
"description": "Information about the videos contained within this portfolio.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 18,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/portfolios/12345/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"videos"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the portfolio's data was last modified.",
"example": "2017-05-17T19:56:07+00:00",
"type": "string"
},
"name": {
"description": "The display name of the portfolio.",
"example": "Vimeo Originals!",
"type": "string"
},
"sort": {
"description": "The default video sort order for the portfolio:\n\nOption descriptions:\n * `alphabetical` - The default sort order is alphabetical by name.\n * `clips` - The default sort order is video creation date.\n * `modified` - The default sort order is the order in which the videos were modified.\n * `recent` - The default sort order is the order in which the videos were added.\n",
"enum": [
"alphabetical",
"clips",
"modified",
"recent"
],
"example": "alphabetical",
"type": "string"
},
"uri": {
"description": "The canonical relative URI of the portfolio.",
"example": "/users/152184/portfolios/12345",
"type": "string"
}
},
"required": [
"created_time",
"description",
"link",
"metadata",
"modified_time",
"name",
"sort",
"uri"
],
"title": "Portfolio",
"type": "object"
},
"presets": {
"properties": {
"metadata": {
"description": "Metadata about the album.",
"properties": {
"connections": {
"description": "A list of resource URIs related to the album.",
"properties": {
"videos": {
"description": "Information about the videos in this preset.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 13,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/presets/12345/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"videos"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"name": {
"description": "The display name of the presets group.",
"example": "Minimalism",
"type": "string"
},
"settings": {
"description": "The contents of the presets group.",
"properties": {
"buttons": {
"properties": {
"embed": {
"description": "Whether the preset includes Embed button settings.",
"example": "true",
"type": "boolean"
},
"hd": {
"description": "Whether the preset includes HD button settings.",
"example": "true",
"type": "boolean"
},
"like": {
"description": "Whether the preset includes Like button settings.",
"example": "true",
"type": "boolean"
},
"share": {
"description": "Whether the present includes Share button settings.",
"example": "true",
"type": "boolean"
},
"vote": {
"description": "Whether the preset includes Vote button settings.",
"example": "true",
"type": "boolean"
},
"watchlater": {
"description": "Whether the preset includes Watch Later button settings.",
"example": "true",
"type": "boolean"
}
},
"required": [
"embed",
"hd",
"like",
"share",
"vote",
"watchlater"
],
"type": "object"
},
"logos": {
"properties": {
"custom": {
"description": "Whether the preset includes custom logo settings.",
"example": "true",
"type": "boolean"
},
"sticky_custom": {
"description": "Whether the present includes sticky custom logo settings.",
"example": "true",
"type": "boolean"
},
"vimeo": {
"description": "Whether the preset includes Vimeo logo settings.",
"example": "true",
"type": "boolean"
}
},
"required": [
"custom",
"sticky_custom",
"vimeo"
],
"type": "object"
},
"outro": {
"properties": {
"clips": {
"description": "A comma-separated list of video URIs. Present only if the type is `uploaded_clips`.",
"example": "/videos/258684937,/videos/273576296",
"nullable": true,
"type": "string"
},
"link": {
"description": "The outro link settings. Present only if the type is `link`.",
"nullable": true,
"properties": {
"name": {
"description": "The name of the outro link.",
"example": "Example Outro",
"type": "string"
},
"url": {
"description": "The URL of the outro link.",
"example": "https://example.com",
"type": "string"
}
},
"type": "object"
},
"text": {
"description": "The outro text. Present only if the type is `text`.",
"example": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"nullable": true,
"type": "string"
},
"type": {
"description": "The preset outro type:",
"enum": [
"link",
"no idea",
"text",
"uploaded_clips",
"uploaded_videos"
],
"example": "link",
"type": "string"
},
"videos": {
"description": "A comma-separated list of video URIs. Present only if type is `no idea`.",
"example": "/videos/258684937,/videos/273576296",
"nullable": true,
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"buttons",
"logos",
"outro"
],
"type": "object"
},
"uri": {
"description": "The canonical relative URI of the presets object.",
"example": "/users/152184/presets/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the preset.",
"nullable": true
}
},
"required": [
"metadata",
"name",
"settings",
"uri",
"user"
],
"title": "Presets",
"type": "object"
},
"project": {
"properties": {
"created_time": {
"description": "The time in ISO 8601 format when the project was created.",
"example": "2017-05-23T14:36:22+00:00",
"type": "string"
},
"metadata": {
"description": "The project's metadata.",
"properties": {
"connections": {
"description": "A list of resource URIs related to the project.",
"properties": {
"videos": {
"description": "A standard connection object indicating how to get all the videos in this project.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 12,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/projects/12345/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"videos"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the project was last modified.",
"example": "2017-05-23T14:36:22+00:00",
"type": "string"
},
"name": {
"description": "The name of the folder.",
"example": "Rough cuts",
"type": "string"
},
"resource_key": {
"description": "The resource key string of the project.",
"example": "dc724af18fbdd4e59189f5fe768a5f8311527050",
"type": "string"
},
"uri": {
"description": "The URI of the project.",
"example": "/me/projects/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the project."
}
},
"required": [
"created_time",
"metadata",
"modified_time",
"name",
"resource_key",
"uri",
"user"
],
"title": "Project",
"type": "object"
},
"purchase-interaction": {
"properties": {
"buy": {
"description": "Information on purchasing this video.",
"nullable": true,
"properties": {
"drm": {
"description": "Whether the On Demand video for purchase has DRM.",
"example": "true",
"type": "boolean"
}
},
"type": "object"
},
"rent": {
"description": "Information on renting this video.",
"nullable": true,
"type": "object"
},
"subscribe": {
"description": "Information on subscribing to this video.",
"nullable": true,
"properties": {
"drm": {
"description": "Whether the On Demand subscription has DRM.",
"example": "true",
"type": "boolean"
},
"expires_time": {
"description": "The time in ISO 8601 format when the On Demand video will expire.",
"example": "2018-03-05T21:04:47+00:00",
"nullable": true,
"type": "string"
},
"link": {
"description": "The URL to purchase this On Demand subscription on Vimeo.",
"example": "https://vimeo.com/ondemand/darbyforever",
"nullable": true,
"type": "string"
},
"purchase_time": {
"description": "The time in ISO 8601 format when the On Demand was purchased.",
"example": "2018-03-05T21:04:47+00:00",
"nullable": true,
"type": "string"
},
"stream": {
"description": "The user's streaming access to this On Demand subscription:\n\nOption descriptions:\n * `available` - The On Demand subscription is available for streaming.\n * `purchased` - The On Demand subscription has been purchased.\n * `restricted` - Streaming for the On Demand subscription is restricted.\n * `unavailable` - The On Demand subscription is unavailable.\n",
"enum": [
"available",
"purchased",
"restricted",
"unavailable"
],
"example": "available",
"type": "string"
},
"uri": {
"description": "The On Demand subscription's product URI.",
"example": "/ondemand/pages/61326/products/12345",
"nullable": true,
"type": "string"
}
},
"type": "object"
}
},
"title": "Purchase Interaction",
"type": "object"
},
"tag": {
"properties": {
"canonical": {
"description": "The normalized canonical tag name.",
"example": "awesome",
"type": "string"
},
"metadata": {
"description": "Metadata about the group.",
"properties": {
"connections": {
"description": "A collection of information that is connected to this resource.",
"properties": {
"videos": {
"description": "Information about the videos related to this tag.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 34371,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/tags/awesome/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"videos"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"name": {
"description": "The tag value.",
"example": "awesome",
"type": "string"
},
"resource_key": {
"description": "The tag's resource key string.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"uri": {
"description": "The canonical relative URI of the tag.",
"example": "/videos/258684937/tags/awesome",
"type": "string"
}
},
"required": [
"canonical",
"metadata",
"name",
"resource_key",
"uri"
],
"title": "Tag",
"type": "object"
},
"text-track": {
"properties": {
"active": {
"description": "Whether this text track is active.",
"example": "true",
"type": "boolean"
},
"hls_link": {
"description": "The read-only URL of the text track file, intended for use with HLS playback.",
"type": "string"
},
"hls_link_expires_time": {
"description": "The time in ISO 8601 format when the read-only HLS playback text track file expires.",
"example": "1494888499",
"type": "string"
},
"language": {
"description": "The language code for this text track. To see a full list, request\n`/languages?filter=texttrack`.",
"example": "en-US",
"nullable": true,
"type": "string"
},
"link": {
"description": "The read-only URL of the text track file. You can upload to this link when you create it for the first time.",
"type": "string"
},
"link_expires_time": {
"description": "The time in ISO 8601 format when the text track link expires.",
"example": "1494888499",
"type": "string"
},
"name": {
"description": "The descriptive name of this text track.",
"example": "English Subtitles",
"nullable": true,
"type": "string"
},
"type": {
"description": "The type of the text track:\n\nOption descriptions:\n * `captions` - The text track is for captions.\n * `subtitles` - The text track is for subtitles.\n",
"enum": [
"captions",
"subtitles"
],
"example": "captions",
"nullable": true,
"type": "string"
},
"uri": {
"description": "The relative URI of the text track.",
"example": "/videos/258684937/texttracks/12345",
"type": "string"
}
},
"required": [
"active",
"hls_link",
"hls_link_expires_time",
"language",
"link",
"link_expires_time",
"name",
"type",
"uri"
],
"title": "Text Track",
"type": "object"
},
"upload-attempt": {
"properties": {
"clip": {
"allOf": [
{
"$ref": "#/components/schemas/video"
}
],
"description": "The video to upload."
},
"complete_uri": {
"description": "The completion URI of the upload.",
"example": "/users/152184/uploads/12345?video_file_id=5678&upgrade=true&signature=r394y347ffefeff434",
"type": "string"
},
"form": {
"description": "The HTML upload form.",
"type": "string"
},
"ticket_id": {
"description": "The ticket identifier string for the upload.",
"example": "3da5dac09",
"type": "string"
},
"upload_link": {
"description": "The upload URL.",
"example": "https://123456.cloud.vimeo.com/upload?ticket_id=1234asdf",
"type": "string"
},
"uri": {
"description": "The upload URI.",
"example": "/users/152184/uploads/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the uploaded video."
}
},
"required": [
"ticket_id",
"upload_link",
"uri",
"user"
],
"title": "Upload Attempt",
"type": "object"
},
"user": {
"properties": {
"account": {
"description": "The user's account type:\n\nOption descriptions:\n * `basic` - The user has a Vimeo Basic subscription.\n * `business` - The user has a Vimeo Business subscription.\n * `live_business` - The user has a Vimeo Business Live subscription.\n * `live_premium` - The user has a Vimeo Premium subscription.\n * `live_pro` - The user has a Vimeo PRO Live subscription.\n * `plus` - The user has a Vimeo Plus subscription.\n * `pro` - The user has a Vimeo Pro subscription.\n * `pro_unlimited` - The user has a Vimeo PRO Unlimited subscription.\n * `producer` - The user has a Vimeo Producer subscription.\n",
"enum": [
"basic",
"business",
"live_business",
"live_premium",
"live_pro",
"plus",
"pro",
"pro_unlimited",
"producer"
],
"example": "basic",
"type": "string"
},
"bio": {
"description": "The user's bio.",
"example": "This is where you will find videos and news updates from the staff.",
"nullable": true,
"type": "string"
},
"content_filter": {
"description": "The user's content filters:\n\nOption descriptions:\n * `drugs` - Drugs or alcohol use.\n * `language` - Profanity or sexually suggestive content.\n * `nudity` - Nudity.\n * `safe` - Suitable for all audiences.\n * `unrated` - No rating.\n * `violence` - Violent or graphic content.\n",
"enum": [
"drugs",
"language",
"nudity",
"safe",
"unrated",
"violence"
],
"example": "drugs",
"items": {
"type": "string"
},
"type": "array"
},
"created_time": {
"description": "The time in ISO 8601 format when the user account was created.",
"example": "2007-01-18T16:40:11+00:00",
"type": "string"
},
"email": {
"description": "The user's email address. This data requires a bearer token with the `email` scope.",
"example": "user@example.com",
"type": "string"
},
"link": {
"description": "The absolute URL of this user's profile page.",
"example": "https://vimeo.com/staff",
"type": "string"
},
"location": {
"description": "The user's location.",
"example": "New York City",
"nullable": true,
"type": "string"
},
"metadata": {
"description": "The user's metadata.",
"properties": {
"connections": {
"description": "The list of resource URIs related to the user.",
"properties": {
"albums": {
"description": "Information about the albums created by this user.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of albums on this connection.",
"example": 3,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/albums",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"appearances": {
"description": "Information about the appearances of this user in other videos.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of appearances on this connection.",
"example": 6,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/appearances",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"block": {
"description": "Information on the users that the current user has blocked. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of blocked users on this connection. This data requires a bearer token with the `private` scope.",
"example": 73,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/me/block",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"categories": {
"description": "Information about this user's followed categories.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of categories on this connection.",
"example": 5,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/categories",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"channels": {
"description": "Information about this user's subscribed channels.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of channels on this connection.",
"example": 4,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/channels",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"feed": {
"description": "Information about this user's feed.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/feed",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"folders": {
"description": "Information about this user's folders.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of folders on this connection.",
"example": 9,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/me/folders",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"followers": {
"description": "Information about the user's followers.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of followers on this connection.",
"example": 12,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/followers",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"following": {
"description": "Information about the users that the current user is following.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection.",
"example": 47,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/following",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"groups": {
"description": "Information about the groups created by this user.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of groups on this connection.",
"example": 2,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/groups",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"likes": {
"description": "Information about the videos that this user has liked.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of likes on this connection.",
"example": 300,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/likes",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"moderated_channels": {
"description": "Information about the channels that this user moderates.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of channels on this connection.",
"example": 1,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/channels?filter=moderated",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"pictures": {
"description": "Information about this user's portraits.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of pictures on this connection.",
"example": 3,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/pictures",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"portfolios": {
"description": "Information about this user's portfolios.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of portfolios on this connection.",
"example": 5,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/portfolios",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"recommended_channels": {
"description": "A collection of recommended channels for the current user to follow. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of channels on this connection. This data requires a bearer token with the `private` scope.",
"example": 4,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/me/recommendations/channels",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"recommended_users": {
"description": "A Collection of recommended users for the current user to follow. This data requires a bearer token with the `private` scope.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection. This data requires a bearer token with the `private` scope.",
"example": 6,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/me/recommendations/users",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"shared": {
"description": "Information about the videos that have been shared with this user.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 15,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/shared/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"videos": {
"description": "Information about the videos uploaded by this user.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 36,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"watched_videos": {
"description": "Information about the videos that this user has watched.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 322,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/me/watched/videos",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"watchlater": {
"description": "Information about the videos that this user wants to watch later.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 14,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/watchlater",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"albums",
"appearances",
"block",
"categories",
"channels",
"feed",
"folders",
"followers",
"following",
"groups",
"likes",
"moderated_channels",
"pictures",
"portfolios",
"recommended_channels",
"recommended_users",
"shared",
"videos",
"watched_videos",
"watchlater"
],
"type": "object"
},
"interactions": {
"properties": {
"add_privacy_user": {
"properties": {
"options": {
"description": "An array of the HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.",
"example": "/channels/152184/privacy/users",
"type": "string"
}
},
"type": "object"
},
"block": {
"description": "Information related to the block status of this user.",
"properties": {
"added": {
"description": "Whether a user is blocking the current user.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the block occurred, or the null value if no block exists.",
"example": "2017-05-16T15:05:43+00:00",
"nullable": true,
"type": "string"
},
"options": {
"description": "An array of the HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The URI to block or unblock the user.",
"example": "/me/block/3766357",
"type": "string"
}
},
"required": [
"added",
"added_time",
"options",
"uri"
],
"type": "object"
},
"follow": {
"description": "Information related to the followed status of this user.",
"properties": {
"added": {
"description": "Whether a user is following the current user.",
"example": "true",
"type": "boolean"
},
"options": {
"description": "An array of the HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The URI to follow the user.",
"example": "/users/152184/following/3766357",
"type": "string"
}
},
"required": [
"added",
"options",
"uri"
],
"type": "object"
},
"report": {
"description": "Information regarding where and how to report a user.",
"properties": {
"options": {
"description": "An array of the HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"reason": {
"description": "List of valid reasons for reporting a video.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/users/152184/report",
"type": "string"
}
},
"required": [
"options",
"reason",
"uri"
],
"type": "object"
}
},
"required": [
"block",
"follow",
"report"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"name": {
"description": "The user's display name.",
"example": "Vimeo Staff",
"type": "string"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active portrait of this user."
},
"preferences": {
"properties": {
"videos": {
"properties": {
"privacy": {
"properties": {
"add": {
"description": "Whether other users can add the user's videos.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "The user's privacy preference for comments:\n\nOption descriptions:\n * `anybody` - Anyone can comment on the user's videos.\n * `contacts` - Only contacts can comment on the user's videos.\n * `nobody` - No one can comment on the user's videos.\n",
"enum": [
"anybody",
"contacts",
"nobody"
],
"example": "anybody",
"type": "string"
},
"download": {
"description": "Whether other users can download the user's videos.",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The user's privacy preference for embeds:\n\nOption descriptions:\n * `private` - Only the user can embed their own videos.\n * `public` - Anyone can embed the user's videos.\n * `whitelist` - Only those on the whitelist can embed the user's videos.\n",
"enum": [
"private",
"public",
"whitelist"
],
"example": "private",
"type": "string"
},
"view": {
"description": "The user's privacy preference for views:\n\nOption descriptions:\n * `anybody` - Anyone can view the user's videos.\n * `contacts` - Only contacts can view the user's videos.\n * `disable` - Views are disabled for the user's videos.\n * `nobody` - No one except the user can view the user's videos.\n * `password` - Only those with the password can view the user's videos.\n * `unlisted` - Anybody can view the user's videos if they have a link.\n * `users` - Only other Vimeo members can view the user's videos.\n",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"example": "anybody",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"resource_key": {
"description": "The user's resource key string.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"upload_quota": {
"description": "Appears only when the user has upload access and is looking at their own user record.",
"properties": {
"lifetime": {
"description": "Information about the user's lifetime upload usage.",
"properties": {
"free": {
"description": "The number of bytes remaining in your lifetime maximum.",
"example": 5000000,
"nullable": true,
"type": "number"
},
"max": {
"description": "The total number of bytes that you can upload across the lifetime of your account.",
"example": 5368709120,
"nullable": true,
"type": "number"
},
"used": {
"description": "The number of bytes that you've already uploaded against your lifetime limit.",
"example": 5368704120,
"nullable": true,
"type": "number"
}
},
"required": [
"free",
"max",
"used"
],
"type": "object"
},
"periodic": {
"description": "Information about the user's usage for the current period.",
"properties": {
"free": {
"description": "The number of bytes remaining in your upload quota for the current period.",
"example": 5000000,
"nullable": true,
"type": "number"
},
"max": {
"description": "The total number of bytes that you can upload per period.",
"example": 5368709120,
"nullable": true,
"type": "number"
},
"reset_date": {
"description": "The time in ISO 8601 format when your upload quota resets.",
"example": "2029-03-13T02:35:13-04:00",
"nullable": true,
"type": "string"
},
"used": {
"description": "The number of bytes that you've already uploaded against your quota in the current period.",
"example": 5368704120,
"nullable": true,
"type": "number"
}
},
"required": [
"free",
"max",
"reset_date",
"used"
],
"type": "object"
},
"space": {
"description": "Information about the user's upload space remaining for the current period.",
"properties": {
"free": {
"description": "The number of bytes remaining in your upload quota.",
"example": 5000000,
"type": "number"
},
"max": {
"description": "The maximum number of bytes allotted to your upload quota.",
"example": 5368709120,
"nullable": true,
"type": "number"
},
"showing": {
"description": "Whether the values of the upload_quota.space fields are for the lifetime quota or the periodic quota.",
"enum": [
"lifetime",
"periodic"
],
"example": "lifetime",
"type": "string"
},
"used": {
"description": "The number of bytes that you've already uploaded against your quota.",
"example": 5368704120,
"type": "number"
}
},
"required": [
"free",
"max",
"showing",
"used"
],
"type": "object"
}
},
"required": [
"lifetime",
"periodic",
"space"
],
"type": "object"
},
"uri": {
"description": "The user's canonical relative URI.",
"example": "/users/152184",
"type": "string"
},
"websites": {
"description": "The user's websites.",
"items": {
"properties": {
"description": {
"description": "The website's description.",
"example": "Follow us on Twitter!",
"nullable": true,
"type": "string"
},
"link": {
"description": "The URL of the website.",
"example": "https://twitter.com/vimeo",
"type": "string"
},
"name": {
"description": "The name of the website.",
"example": "Twitter",
"nullable": true,
"type": "string"
}
},
"required": [
"description",
"link",
"name"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"account",
"bio",
"created_time",
"link",
"location",
"metadata",
"name",
"pictures",
"resource_key",
"upload_quota",
"uri",
"websites"
],
"title": "User",
"type": "object"
},
"video": {
"properties": {
"categories": {
"description": "The categories to which this video belongs.",
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
},
"content_rating": {
"description": "The content ratings of this video.",
"items": {
"type": "string"
},
"type": "array"
},
"context": {
"description": "The context of the video's subscription, if this video is part of a subscription.",
"properties": {
"action": {
"description": "The contextual action:\n\nOption descriptions:\n * `Added to` - An Added To action.\n * `Appearance by` - An Appearance By action.\n * `Liked by` - A Liked By action.\n * `Uploaded by` - An Unloaded By action.\n",
"enum": [
"Added to",
"Appearance by",
"Liked by",
"Uploaded by"
],
"example": "Added to",
"type": "string"
},
"resource": {
"description": "The contextual resource: a user, group, or channel representation, or an object of a tag.",
"nullable": true,
"type": "object"
},
"resource_type": {
"description": "The contextual resource type.",
"example": "clip",
"type": "string"
}
},
"required": [
"action",
"resource",
"resource_type"
],
"type": "object"
},
"created_time": {
"description": "The time in ISO 8601 format when the video was created.",
"example": "2018-03-05T21:04:47+00:00",
"type": "string"
},
"description": {
"description": "A brief explanation of the video's content.",
"example": "A celebration of 10 years of Staff Picks.",
"nullable": true,
"type": "string"
},
"duration": {
"description": "The video's duration in seconds.",
"example": 81,
"type": "number"
},
"embed": {
"allOf": [
{
"$ref": "#/components/schemas/embed-settings"
}
],
"description": "Information about embedding this video."
},
"height": {
"description": "The video's height in pixels.",
"example": 1080,
"type": "number"
},
"language": {
"description": "The video's primary language.",
"example": "en-US",
"nullable": true,
"type": "string"
},
"last_user_action_event_date": {
"description": "The time in ISO 8601 format when the user last modified the video.",
"example": "2018-03-21T23:08:22+00:00",
"nullable": true,
"type": "string"
},
"license": {
"description": "The [Creative Commons](http://creativecommons.org/licenses/) license used for the video:\n\nOption descriptions:\n * `by` - Attribution\n * `by-nc` - Attribution Non-Commercial\n * `by-nc-nd` - Attribution Non-Commercial No Derivatives\n * `by-nc-sa` - Attribution Non-Commercial Share Alike\n * `by-nd` - Attribution No Derivatives\n * `by-sa` - Attribution Share Alike\n * `cc0` - Public Domain Dedication\n",
"enum": [
"by",
"by-nc",
"by-nc-nd",
"by-nc-sa",
"by-nd",
"by-sa",
"cc0"
],
"example": "by",
"type": "string"
},
"link": {
"description": "The link to the video.",
"example": "https://vimeo.com/258684937",
"type": "string"
},
"metadata": {
"description": "The video's metadata.",
"properties": {
"connections": {
"description": "A list of resource URIs related to the video.",
"properties": {
"comments": {
"description": "Information about the comments on this video.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of comments on this connection.",
"example": 14,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/comments",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"credits": {
"description": "Information about the users credited in this video.",
"nullable": true,
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection.",
"example": 4,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/credits",
"type": "string"
}
},
"type": "object"
},
"likes": {
"description": "Information about the users who have liked this video.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of likes on this connection.",
"example": 230,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/likes",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"ondemand": {
"description": "Information about this video's ondemand data.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"resource_key": {
"description": "The On Demand connection resource key.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326",
"type": "string"
}
},
"required": [
"options",
"resource_key",
"uri"
],
"type": "object"
},
"pictures": {
"description": "Information about this video's thumbnails.",
"properties": {
"options": {
"description": "An array of HTTP methods allowed on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "Total number of thumbnails on this connection.",
"example": 1,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/pictures",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"playback": {
"description": "The DRM playback status connection for this video.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/playback",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"recommendations": {
"description": "The recommendations for this video.",
"nullable": true,
"properties": {
"options": {
"description": "An array of HTTP methods allowed on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/recommendations",
"type": "string"
}
},
"type": "object"
},
"related": {
"description": "Related content for this video.",
"nullable": true,
"properties": {
"options": {
"description": "An array of HTTP methods allowed on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937?offset=10",
"type": "string"
}
},
"type": "object"
},
"season": {
"description": "Information about the video's season.",
"properties": {
"name": {
"description": "The name of this season.",
"example": "Season 1",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/season/12345",
"type": "string"
}
},
"required": [
"name",
"options",
"uri"
],
"type": "object"
},
"texttracks": {
"description": "Information about this video's text tracks.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of text tracks on this connection.",
"example": 2,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/texttracks",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"trailer": {
"description": "Information about this video's VOD trailer.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"resource_key": {
"description": "The trailer connection resource key.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/ondemand/pages/61326/videos/12345",
"type": "string"
}
},
"required": [
"options",
"resource_key",
"uri"
],
"type": "object"
},
"users_with_access": {
"description": "Information about the user privacy of this video, if the video privacy is `users`.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of users on this connection.",
"example": 8,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/privacy/users",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
},
"versions": {
"description": "Information about the versions of this video.",
"properties": {
"current_uri": {
"description": "The URI of the current version of the video.",
"example": "/videos/258684937/versions/12345",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of versions on this connection.",
"example": 3,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937/versions",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"comments",
"credits",
"likes",
"ondemand",
"pictures",
"playback",
"recommendations",
"related",
"season",
"texttracks",
"trailer",
"users_with_access",
"versions"
],
"type": "object"
},
"interactions": {
"description": "A list of resource URIs related to the video.",
"properties": {
"buy": {
"description": "The Buy interaction for a On Demand video.",
"nullable": true,
"properties": {
"currency": {
"description": "The currency code for the current user's region.",
"example": "USD",
"nullable": true,
"type": "string"
},
"display_price": {
"description": "Formatted price to display to buy an On Demand video.",
"example": "5.99",
"nullable": true,
"type": "string"
},
"download": {
"description": "The user's download access to this On Demand video:\n\nOption descriptions:\n * `available` - The video is available for download.\n * `purchased` - The user has purchased the video.\n * `restricted` - The user isn't permitted to download the video.\n * `unavailable` - The video isn't available for download.\n",
"enum": [
"available",
"purchased",
"restricted",
"unavailable"
],
"example": "available",
"type": "string"
},
"drm": {
"description": "Whether the video has DRM.",
"example": "true",
"type": "boolean"
},
"link": {
"description": "The URL to buy the On Demand video on Vimeo.",
"example": "https://vimeo.com/ondemand/darbyforever",
"nullable": true,
"type": "string"
},
"price": {
"description": "The numeric value of the price for buying the On Demand video.",
"example": 5.99,
"nullable": true,
"type": "number"
},
"purchase_time": {
"description": "The time in ISO 8601 format when the On Demand video was purchased.",
"example": "2018-03-05T21:04:47+00:00",
"nullable": true,
"type": "string"
},
"stream": {
"description": "The user's streaming access to this On Demand video:\n\nOption descriptions:\n * `available` - The video is available for streaming.\n * `purchased` - The user has purchased the video.\n * `restricted` - The user isn't permitted to stream the video.\n * `unavailable` - The video isn't available for streaming\n",
"enum": [
"available",
"purchased",
"restricted",
"unavailable"
],
"example": "available",
"type": "string"
},
"uri": {
"description": "The product URI to purchase the On Demand video.",
"example": "/ondemand/pages/61326/products/12345",
"nullable": true,
"type": "string"
}
},
"required": [
"currency",
"display_price",
"download",
"drm",
"link",
"price",
"purchase_time",
"stream",
"uri"
],
"type": "object"
},
"channel": {
"description": "When a video is referenced by a channel URI, if the user is a moderator of the channel, include information about removing the video from the channel.",
"nullable": true,
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"type": "string"
}
},
"required": [
"options",
"uri"
],
"type": "object"
},
"like": {
"description": "Information about whether the authenticated user has liked this video.",
"properties": {
"added": {
"description": "Whether the user has liked the video.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the user liked the video.",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"type": "string"
}
},
"required": [
"added",
"added_time",
"options",
"uri"
],
"type": "object"
},
"rent": {
"description": "The Rent interaction for an On Demand video.",
"nullable": true,
"properties": {
"currency": {
"description": "The currency code for the current user's region.",
"example": "USD",
"nullable": true,
"type": "string"
},
"display_price": {
"description": "Formatted price to display to rent an On Demand video.",
"example": "5.99",
"nullable": true,
"type": "string"
},
"drm": {
"description": "Whether the video has DRM.",
"example": "true",
"type": "boolean"
},
"expires_time": {
"description": "The time in ISO 8601 format when the rental period for the video expires.",
"example": "2018-03-05T21:04:47+00:00",
"nullable": true,
"type": "string"
},
"link": {
"description": "The URL to rent the On Demand video on Vimeo.",
"example": "https://vimeo.com/ondemand/darbyforever",
"nullable": true,
"type": "string"
},
"price": {
"description": "The numeric value of the price for buying the On Demand video.",
"example": 5.99,
"nullable": true,
"type": "number"
},
"purchase_time": {
"description": "The time in ISO 8601 format when the On Demand video was rented.",
"example": "2018-09-16T09:02:40+00:00",
"nullable": true,
"type": "string"
},
"stream": {
"description": "The user's streaming access to this On Demand video:\n\nOption descriptions:\n * `available` - The video is available for streaming.\n * `purchased` - The user has purchased the video.\n * `restricted` - The user isn't permitted to stream the video.\n * `unavailable` - The video isn't available for streaming.\n",
"enum": [
"available",
"purchased",
"restricted",
"unavailable"
],
"example": "available",
"type": "string"
},
"uri": {
"description": "The product URI to rent the On Demand video.",
"example": "/ondemand/pages/61326/products/12345",
"nullable": true,
"type": "string"
}
},
"required": [
"currency",
"display_price",
"drm",
"expires_time",
"link",
"price",
"purchase_time",
"stream",
"uri"
],
"type": "object"
},
"report": {
"description": "Information about where and how to report a video.",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"reason": {
"description": "A list of valid reasons for reporting a video.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"type": "string"
}
},
"required": [
"options",
"reason",
"uri"
],
"type": "object"
},
"subscribe": {
"description": "Subscription information for an On Demand video.",
"nullable": true,
"properties": {
"drm": {
"description": "Whether the video has DRM.",
"example": "true",
"type": "boolean"
},
"expires_time": {
"description": "The time in ISO 8601 format when the subscription expires.",
"example": "2018-03-05T21:04:47+00:00",
"type": "string"
},
"purchase_time": {
"description": "The tine in ISO 8601 format when the subscription was purchased.",
"example": "2018-03-02T21:04:47+00:00",
"type": "string"
},
"stream": {
"description": "The stream type.",
"example": "purchased",
"type": "string"
}
},
"type": "object"
},
"watched": {
"description": "Information about removing this video from the user's list of watched videos.",
"properties": {
"added": {
"description": "Whether the user has watched the video.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the user watched the video.",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"type": "string"
}
},
"required": [
"added",
"added_time",
"options",
"uri"
],
"type": "object"
},
"watchlater": {
"description": "Information about whether this video appears on the authenticated user's Watch Later list.",
"properties": {
"added": {
"description": "Whether the user has added the video to their Watch later list.",
"example": "true",
"type": "boolean"
},
"added_time": {
"description": "The time in ISO 8601 format when the user added the video to their Watch Later list.",
"type": "string"
},
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"type": "string"
}
},
"required": [
"added",
"added_time",
"options",
"uri"
],
"type": "object"
}
},
"required": [
"buy",
"channel",
"like",
"rent",
"report",
"watched",
"watchlater"
],
"type": "object"
}
},
"required": [
"connections",
"interactions"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the video metadata was last modified.",
"example": "2018-09-16T09:02:40+00:00",
"type": "string"
},
"name": {
"description": "The video's title.",
"example": "Celebrating 10 Years of Staff Picks",
"type": "string"
},
"parent_folder": {
"allOf": [
{
"$ref": "#/components/schemas/project"
}
],
"description": "Information about the folder that contains this video.",
"nullable": true
},
"password": {
"description": "The privacy-enabled password to watch this video. Only users can see their own video passwords. This data requires a bearer token with the `private` scope.",
"example": "hunter1",
"type": "string"
},
"pictures": {
"allOf": [
{
"$ref": "#/components/schemas/picture"
}
],
"description": "The active picture for this video."
},
"privacy": {
"description": "The video's privacy setting.",
"properties": {
"add": {
"description": "Whether the video can be added to collections.",
"example": "true",
"type": "boolean"
},
"comments": {
"description": "Who can comment on the video:\n\nOption descriptions:\n * `anybody` - Anyone can comment on the video.\n * `contacts` - Only contacts can comment on the video.\n * `nobody` - No one can comment on the video.\n",
"enum": [
"anybody",
"contacts",
"nobody"
],
"example": "anybody",
"type": "string"
},
"download": {
"description": "The video's download permission setting.",
"example": "true",
"type": "boolean"
},
"embed": {
"description": "The video's embed permission setting:\n\nOption descriptions:\n * `private` - The video is private.\n * `public` - Anyone can embed the video.\n",
"enum": [
"private",
"public"
],
"example": "private",
"type": "string"
},
"view": {
"description": "The general privacy setting for the video:\n\nOption descriptions:\n * `anybody` - Anyone can view the video.\n * `contacts` - Only contacts can view the video.\n * `disable` - Hide from vimeo\n * `nobody` - No one besides the owner can view the video.\n * `password` - Anyone with the video's password can view the video.\n * `unlisted` - Not searchable from vimeo.com\n * `users` - Only people with a Vimeo account can view the video.\n",
"enum": [
"anybody",
"contacts",
"disable",
"nobody",
"password",
"unlisted",
"users"
],
"example": "anybody",
"type": "string"
}
},
"required": [
"add",
"comments",
"download",
"embed",
"view"
],
"type": "object"
},
"release_time": {
"description": "The time in ISO 8601 format when the video was released.",
"example": "2018-03-05T21:04:47+00:00",
"type": "string"
},
"resource_key": {
"description": "The resource key string of the video.",
"example": "bac1033deba2310ebba2caec33c23e4beea67aba",
"type": "string"
},
"spatial": {
"description": "360 spatial data.",
"properties": {
"director_timeline": {
"description": "360 director timeline.",
"items": {
"properties": {
"pitch": {
"description": "The director timeline pitch, from -90 (minimum) to 90 (maximum).",
"example": 70,
"type": "number"
},
"roll": {
"description": "The director timeline roll.",
"example": 0,
"type": "number"
},
"time_code": {
"description": "The director timeline time code.",
"example": 300,
"type": "number"
},
"yaw": {
"description": "The director timeline yaw, from 0 (minimum) to 360 (maximum).",
"example": 125,
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"field_of_view": {
"description": "The 360 field of view, from 30 (minimum) to 90 (maximum). The default is 50.",
"example": 50,
"nullable": true,
"type": "number"
},
"projection": {
"description": "The 360 spatial projection:\n\nOption descriptions:\n * `cubical` - The spatial projection is cubical.\n * `cylindrical` - The spatial projection is cylindrical.\n * `dome` - The spatial projection is dome-shaped.\n * `equirectangular` - The spatial projection is equirectangular.\n * `pyramid` - The spatial projection is pyramid-shaped.\n",
"enum": [
"cubical",
"cylindrical",
"dome",
"equirectangular",
"pyramid"
],
"example": "cubical",
"nullable": true,
"type": "string"
},
"stereo_format": {
"description": "The 360 stereo format:\n\nOption descriptions:\n * `left-right` - The stereo format is left-right.\n * `mono` - The audio is monaural.\n * `top-bottom` - The stereo format is top-bottom.\n",
"enum": [
"left-right",
"mono",
"top-bottom"
],
"example": "left-right",
"nullable": true,
"type": "string"
}
},
"required": [
"director_timeline",
"field_of_view",
"projection",
"stereo_format"
],
"type": "object"
},
"stats": {
"description": "A collection of stats associated with this video.",
"properties": {
"plays": {
"description": "The current total number of times that the video has been played.",
"example": 20,
"nullable": true,
"type": "number"
}
},
"required": [
"plays"
],
"type": "object"
},
"status": {
"description": "The status code for the availability of the video. This field is deprecated in favor of `upload` and `transcode`.\n\nOption descriptions:\n * `available` - The video is available.\n * `quota_exceeded` - The user's quota is exceeded with this video.\n * `total_cap_exceeded` - The user has exceeded their total cap with this video.\n * `transcode_starting` - Transcoding is beginning for the video.\n * `transcoding` - Transcoding is underway for the video.\n * `transcoding_error` - There was an error in transcoding the video.\n * `unavailable` - The video is unavailable.\n * `uploading` - The video is being uploaded.\n * `uploading_error` - There was an error in uploading the video.\n",
"enum": [
"available",
"quota_exceeded",
"total_cap_exceeded",
"transcode_starting",
"transcoding",
"transcoding_error",
"unavailable",
"uploading",
"uploading_error"
],
"example": "available",
"nullable": true,
"type": "string"
},
"tags": {
"description": "An array of all tags assigned to this video.",
"items": {
"$ref": "#/components/schemas/tag"
},
"type": "array"
},
"transcode": {
"description": "The transcode information for a video upload.",
"nullable": true,
"properties": {
"status": {
"description": "Status code for this video's availability.",
"enum": [
"complete",
"error",
"in_progress"
],
"example": "complete",
"type": "string"
}
},
"type": "object"
},
"upload": {
"description": "The upload information for this video.",
"nullable": true,
"properties": {
"approach": {
"description": "The approach for uploading the video.",
"enum": [
"post",
"pull",
"streaming",
"tus"
],
"example": "post",
"type": "string"
},
"complete_uri": {
"description": "The URI for completing the upload.",
"type": "string"
},
"form": {
"description": "The HTML form for uploading a video through the post approach.",
"type": "string"
},
"link": {
"description": "The link of the video to capture through the pull approach.",
"type": "string"
},
"redirect_url": {
"description": "The redirect URL for the upload app.",
"type": "string"
},
"size": {
"description": "The file size in bytes of the uploaded video.",
"example": 60000,
"type": "number"
},
"status": {
"description": "The status code for the availability of the uploaded video:\n\nOption descriptions:\n * `complete` - The upload is complete.\n * `error` - The upload ended with an error.\n * `in_progress` - The upload is underway.\n",
"enum": [
"complete",
"error",
"in_progress"
],
"example": "complete",
"type": "string"
},
"upload_link": {
"description": "The link for sending video file data.",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"uri": {
"description": "The video's canonical relative URI.",
"example": "/videos/258684937",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The video owner.",
"nullable": true
},
"width": {
"description": "The video's width in pixels.",
"example": 1920,
"type": "number"
}
},
"required": [
"categories",
"content_rating",
"context",
"created_time",
"description",
"duration",
"embed",
"height",
"language",
"license",
"link",
"metadata",
"modified_time",
"name",
"pictures",
"privacy",
"release_time",
"resource_key",
"spatial",
"stats",
"status",
"tags",
"transcode",
"upload",
"uri",
"user",
"width"
],
"title": "Video",
"type": "object"
},
"video-versions": {
"properties": {
"active": {
"description": "Whether this video version is the currently active one.",
"example": "true",
"type": "boolean"
},
"app": {
"allOf": [
{
"$ref": "#/components/schemas/api-app"
}
],
"description": "The API app associated with the video version."
},
"created_time": {
"description": "The time in ISO 8601 for when the video version was created.",
"example": "2018-03-05T21:04:47+00:00",
"type": "string"
},
"duration": {
"description": "The duration of the video version in seconds.",
"example": 81,
"nullable": true,
"type": "number"
},
"filename": {
"description": "The file name of the video version.",
"example": "rev2.mp4",
"type": "string"
},
"filesize": {
"description": "The size in byes of the video version file.",
"example": 4025322521,
"nullable": true,
"type": "number"
},
"metadata": {
"description": "The video version's metadata.",
"properties": {
"connections": {
"properties": {
"video": {
"description": "Data from video associated with version",
"properties": {
"options": {
"description": "An array of HTTP methods permitted on this URI.",
"items": {
"type": "string"
},
"type": "array"
},
"total": {
"description": "The total number of videos on this connection.",
"example": 5,
"type": "number"
},
"uri": {
"description": "The API URI that resolves to the connection data.",
"example": "/videos/258684937",
"type": "string"
}
},
"required": [
"options",
"total",
"uri"
],
"type": "object"
}
},
"required": [
"video"
],
"type": "object"
}
},
"required": [
"connections"
],
"type": "object"
},
"modified_time": {
"description": "The time in ISO 8601 format when the video version was last modified.",
"example": "2018-09-16T09:02:40+00:00",
"type": "string"
},
"play": {
"allOf": [
{
"$ref": "#/components/schemas/play"
}
],
"description": "The Play representation."
},
"upload": {
"description": "The upload information for this version.",
"nullable": true,
"properties": {
"approach": {
"description": "The approach for uploading the video.",
"enum": [
"post",
"pull",
"streaming",
"tus"
],
"example": "post",
"type": "string"
},
"complete_uri": {
"description": "The URI for completing the upload.",
"type": "string"
},
"form": {
"description": "The HTML form for uploading a video through the post approach.",
"type": "string"
},
"link": {
"description": "The link of the video to capture through the pull approach.",
"type": "string"
},
"redirect_url": {
"description": "The redirect URL for the upload app.",
"type": "string"
},
"size": {
"description": "The file size in bytes of the uploaded video.",
"example": 60000,
"type": "number"
},
"status": {
"description": "The status code for the availability of the uploaded video:\n\nOption descriptions:\n * `complete` - The upload is complete.\n * `error` - The upload ended with an error.\n * `in_progress` - The upload is underway.\n",
"enum": [
"complete",
"error",
"in_progress"
],
"example": "complete",
"type": "string"
},
"upload_link": {
"description": "The link for sending video file data.",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"upload_date": {
"description": "The time in ISO 8601 format when the video version was uploaded.",
"example": "2018-09-16T09:02:40+00:00",
"nullable": true,
"type": "string"
},
"uri": {
"description": "The version's canonical relative URI.",
"example": "/videos/258684937/versions/12345",
"type": "string"
},
"user": {
"allOf": [
{
"$ref": "#/components/schemas/user"
}
],
"description": "The owner of the video version.",
"nullable": true
}
},
"required": [
"active",
"app",
"created_time",
"duration",
"filename",
"filesize",
"metadata",
"modified_time",
"play",
"upload",
"upload_date",
"uri",
"user"
],
"title": "Video Versions",
"type": "object"
}
},
"securitySchemes": {
"bearer": {
"bearerFormat": "bearer",
"scheme": "bearer",
"type": "http"
},
"oauth2": {
"flows": {
"authorizationCode": {
"authorizationUrl": "/oauth/authorize",
"scopes": {
"create": "Create new albums, channels, and so on",
"delete": "Delete videos, albums, channels, and so on",
"edit": "Edit existing videos, albums, channels, and so on",
"email": "Access to email addresses",
"interact": "Interact with Vimeo resources on a member's behalf, such as liking a video or following another member",
"private": "Access private member data",
"promo_codes": "Add, remove, and review Vimeo On Demand promotions",
"public": "Access public member data",
"purchase": "Purchase content",
"purchased": "Access a member's Vimeo On Demand purchase history",
"stats": "Access video stats",
"upload": "Upload videos",
"video_files": "Access video files belonging to members with a PRO subscription or higher"
},
"tokenUrl": "/oauth/access_token"
},
"clientCredentials": {
"scopes": {
"create": "Create new albums, channels, and so on",
"delete": "Delete videos, albums, channels, and so on",
"edit": "Edit existing videos, albums, channels, and so on",
"email": "Access to email addresses",
"interact": "Interact with Vimeo resources on a member's behalf, such as liking a video or following another member",
"private": "Access private member data",
"promo_codes": "Add, remove, and review Vimeo On Demand promotions",
"public": "Access public member data",
"purchase": "Purchase content",
"purchased": "Access a member's Vimeo On Demand purchase history",
"stats": "Access video stats",
"upload": "Upload videos",
"video_files": "Access video files belonging to members with a PRO subscription or higher"
},
"tokenUrl": "/oauth/authorize/client"
}
},
"type": "oauth2"
}
}
}
}