---
title: "Credit a user in a video"
method: POST
path: "/videos/{video_id}/credits"
tags: ["Videos\\Credits"]
---

# Credit a user in a video

`POST /videos/{video_id}/credits`

## Request

- Base URL: `https://api.vimeo.com`
- URL: `https://api.vimeo.com/videos/{video_id}/credits`
- Auth: OAuth 2
  - Authorization code: `/oauth/authorize`, token URL `/oauth/access_token`
  - Client credentials, token URL `/oauth/authorize/client`
  - Scopes: `create`, `delete`, `edit`, `email`, `interact`, `private`, `promo_codes`, `public`, `purchase`, `purchased`, `stats`, `upload`, `video_files`
- TypeScript: <https://skmtc.dev/vimeo/apis/vimeo-api/docs/videos/:video_id/credits/post.ts> (a function with typed inputs; its response is checked against the schema)

This method adds a user credit to a video.

## Path parameters

- `video_id` number, required

## Request body

- object
  - `email` string, required: The email address of the credited person.
  - `name` string, required: The name of the credited person.
  - `role` string, required: The role of the credited person.
  - `user_uri` string, required: The Vimeo URI of the credited person.

## Response `201`

The credit was added.

- Credit
  - `name` string, required: The name of the person credited.
  - `role` string, required: The character that this person portrayed, or the job that this person performed.
  - `uri` string, required: The unique identifier to access the credits resource.
  - `user` User
    - `account` 'basic' | 'business' | 'live_business' | 'live_premium' | 'live_pro' | 'plus' | 'pro' | 'pro_unlimited' | 'producer', required: The user's account type: Option descriptions: * `basic` - The user has a Vimeo Basic subscription. * `business` - The user has a Vimeo Business subscription. * `live_business` - The user has a Vimeo Business Live subscription. * `live_premium` - The user has a Vimeo Premium subscription. * `live_pro` - The user has a Vimeo PRO Live subscription. * `plus` - The user has a Vimeo Plus subscription. * `pro` - The user has a Vimeo Pro subscription. * `pro_unlimited` - The user has a Vimeo PRO Unlimited subscription. * `producer` - The user has a Vimeo Producer subscription.
    - `bio` string, nullable, required: The user's bio.
    - `content_filter` string[]: The user's content filters: Option descriptions: * `drugs` - Drugs or alcohol use. * `language` - Profanity or sexually suggestive content. * `nudity` - Nudity. * `safe` - Suitable for all audiences. * `unrated` - No rating. * `violence` - Violent or graphic content.
    - `created_time` string, required: The time in ISO 8601 format when the user account was created.
    - `email` string: The user's email address. This data requires a bearer token with the `email` scope.
    - `link` string, required: The absolute URL of this user's profile page.
    - `location` string, nullable, required: The user's location.
    - `metadata` object, required: The user's metadata.
      - `connections` object, required: The list of resource URIs related to the user.
        - `albums` object, required: Information about the albums created by this user.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of albums on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `appearances` object, required: Information about the appearances of this user in other videos.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of appearances on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `block` object, required: Information on the users that the current user has blocked. This data requires a bearer token with the `private` scope.
          - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
          - `total` number, required: The total number of blocked users on this connection. This data requires a bearer token with the `private` scope.
          - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
        - `categories` object, required: Information about this user's followed categories.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of categories on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `channels` object, required: Information about this user's subscribed channels.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of channels on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `feed` object, required: Information about this user's feed.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `folders` object, required: Information about this user's folders.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of folders on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `followers` object, required: Information about the user's followers.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of followers on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `following` object, required: Information about the users that the current user is following.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of users on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `groups` object, required: Information about the groups created by this user.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of groups on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `likes` object, required: Information about the videos that this user has liked.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of likes on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `moderated_channels` object, required: Information about the channels that this user moderates.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of channels on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `pictures` object, required: Information about this user's portraits.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of pictures on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `portfolios` object, required: Information about this user's portfolios.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of portfolios on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `recommended_channels` object, required: A collection of recommended channels for the current user to follow. This data requires a bearer token with the `private` scope.
          - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
          - `total` number, required: The total number of channels on this connection. This data requires a bearer token with the `private` scope.
          - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
        - `recommended_users` object, required: A Collection of recommended users for the current user to follow. This data requires a bearer token with the `private` scope.
          - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
          - `total` number, required: The total number of users on this connection. This data requires a bearer token with the `private` scope.
          - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
        - `shared` object, required: Information about the videos that have been shared with this user.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of videos on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `videos` object, required: Information about the videos uploaded by this user.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of videos on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `watched_videos` object, required: Information about the videos that this user has watched.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of videos on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `watchlater` object, required: Information about the videos that this user wants to watch later.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of videos on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
      - `interactions` object, required
        - `add_privacy_user` object
          - `options` string[]: An array of the HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
          - `uri` string: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
        - `block` object, required: Information related to the block status of this user.
          - `added` boolean, required: Whether a user is blocking the current user.
          - `added_time` string, nullable, required: The time in ISO 8601 format when the block occurred, or the null value if no block exists.
          - `options` string[], required: An array of the HTTP methods permitted on this URI.
          - `uri` string, required: The URI to block or unblock the user.
        - `follow` object, required: Information related to the followed status of this user.
          - `added` boolean, required: Whether a user is following the current user.
          - `options` string[], required: An array of the HTTP methods permitted on this URI.
          - `uri` string, required: The URI to follow the user.
        - `report` object, required: Information regarding where and how to report a user.
          - `options` string[], required: An array of the HTTP methods permitted on this URI.
          - `reason` string[], required: List of valid reasons for reporting a video.
          - `uri` string, required: The API URI that resolves to the connection data.
    - `name` string, required: The user's display name.
    - `pictures` Picture, required
      - `active` boolean, required: Whether this picture is the active picture for its parent resource.
      - `link` string: The upload URL for the picture. This field appears when you create the picture resource for the first time.
      - `resource_key` string, required: The picture's resource key string.
      - `sizes` object[], required: An array containing reference information about all available image files.
        - `height` number, nullable, required: The height of the image.
        - `link` string, required: The direct link to the image.
        - `link_with_play_button` string: The direct link to the image with a play button overlay.
        - `width` number, required: The width of the image.
      - `type` 'caution' | 'custom' | 'default', required: The type of the picture: Option descriptions: * `caution` - An image that is appropriate for all ages. * `custom` - A custom image for the video. * `default` - The default image for the video.
      - `uri` string, required: The picture's URI.
    - `preferences` object
      - `videos` object
        - `privacy` object
          - `add` boolean: Whether other users can add the user's videos.
          - `comments` 'anybody' | 'contacts' | 'nobody': The user's privacy preference for comments: Option descriptions: * `anybody` - Anyone can comment on the user's videos. * `contacts` - Only contacts can comment on the user's videos. * `nobody` - No one can comment on the user's videos.
          - `download` boolean: Whether other users can download the user's videos.
          - `embed` 'private' | 'public' | 'whitelist': The user's privacy preference for embeds: Option descriptions: * `private` - Only the user can embed their own videos. * `public` - Anyone can embed the user's videos. * `whitelist` - Only those on the whitelist can embed the user's videos.
          - `view` 'anybody' | 'contacts' | 'disable' | 'nobody' | 'password' | 'unlisted' | 'users': The user's privacy preference for views: Option descriptions: * `anybody` - Anyone can view the user's videos. * `contacts` - Only contacts can view the user's videos. * `disable` - Views are disabled for the user's videos. * `nobody` - No one except the user can view the user's videos. * `password` - Only those with the password can view the user's videos. * `unlisted` - Anybody can view the user's videos if they have a link. * `users` - Only other Vimeo members can view the user's videos.
    - `resource_key` string, required: The user's resource key string.
    - `upload_quota` object, required: Appears only when the user has upload access and is looking at their own user record.
      - `lifetime` object, required: Information about the user's lifetime upload usage.
        - `free` number, nullable, required: The number of bytes remaining in your lifetime maximum.
        - `max` number, nullable, required: The total number of bytes that you can upload across the lifetime of your account.
        - `used` number, nullable, required: The number of bytes that you've already uploaded against your lifetime limit.
      - `periodic` object, required: Information about the user's usage for the current period.
        - `free` number, nullable, required: The number of bytes remaining in your upload quota for the current period.
        - `max` number, nullable, required: The total number of bytes that you can upload per period.
        - `reset_date` string, nullable, required: The time in ISO 8601 format when your upload quota resets.
        - `used` number, nullable, required: The number of bytes that you've already uploaded against your quota in the current period.
      - `space` object, required: Information about the user's upload space remaining for the current period.
        - `free` number, required: The number of bytes remaining in your upload quota.
        - `max` number, nullable, required: The maximum number of bytes allotted to your upload quota.
        - `showing` 'lifetime' | 'periodic', required: Whether the values of the upload_quota.space fields are for the lifetime quota or the periodic quota.
        - `used` number, required: The number of bytes that you've already uploaded against your quota.
    - `uri` string, required: The user's canonical relative URI.
    - `websites` object[], required: The user's websites.
      - `description` string, nullable, required: The website's description.
      - `link` string, required: The URL of the website.
      - `name` string, nullable, required: The name of the website.
  - `video` Video
    - `categories` Category[], required: The categories to which this video belongs.
      - `icon` Picture
        - `active` boolean, required: Whether this picture is the active picture for its parent resource.
        - `link` string: The upload URL for the picture. This field appears when you create the picture resource for the first time.
        - `resource_key` string, required: The picture's resource key string.
        - `sizes` object[], required: An array containing reference information about all available image files.
          - `height` number, nullable, required: The height of the image.
          - `link` string, required: The direct link to the image.
          - `link_with_play_button` string: The direct link to the image with a play button overlay.
          - `width` number, required: The width of the image.
        - `type` 'caution' | 'custom' | 'default', required: The type of the picture: Option descriptions: * `caution` - An image that is appropriate for all ages. * `custom` - A custom image for the video. * `default` - The default image for the video.
        - `uri` string, required: The picture's URI.
      - `last_video_featured_time` string, required: The last time, in ISO 8601 format, that a video was featured.
      - `link` string, required: The URL to access the category in a browser.
      - `metadata` object, required: Metadata about the category.
        - `connections` object, required: A collection of information that is connected to this resource.
          - `channels` object, required: Information about the channels related to this category.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of channels on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `groups` object, required: Information about the groups related to this category.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of groups on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `users` object, required: Information about the users related to this category.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of users on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `videos` object, required: Information about the videos related to this category.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
        - `interactions` object, required: The permissible actions related to the category.
          - `follow` object, required: An action indicating if the authenticated user has followed this category.
            - `added` boolean, required: Whether the authenticated user has followed this category.
            - `added_time` string, nullable, required: The time in ISO 8601 format that the user followed this category, or the null value if the user hasn't followed this category.
            - `uri` string, required: 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.
      - `name` string, required: The display name that identifies the category.
      - `parent` object, nullable, required: The container of this category's parent category, if the current category is a subcategory.
        - `link` string, required: The URL to access the parent category in a browser.
        - `name` string, required: The display name that identifies the parent category.
        - `uri` string, required: The unique identifier to access the parent of this category resource.
      - `pictures` Picture, required
        - `active` boolean, required: Whether this picture is the active picture for its parent resource.
        - `link` string: The upload URL for the picture. This field appears when you create the picture resource for the first time.
        - `resource_key` string, required: The picture's resource key string.
        - `sizes` object[], required: An array containing reference information about all available image files.
          - `height` number, nullable, required: The height of the image.
          - `link` string, required: The direct link to the image.
          - `link_with_play_button` string: The direct link to the image with a play button overlay.
          - `width` number, required: The width of the image.
        - `type` 'caution' | 'custom' | 'default', required: The type of the picture: Option descriptions: * `caution` - An image that is appropriate for all ages. * `custom` - A custom image for the video. * `default` - The default image for the video.
        - `uri` string, required: The picture's URI.
      - `resource_key` string, required: The resource key of the category.
      - `subcategories` object[]: All the subcategories that belong to this category, if the current category is a top-level parent.
        - `link` string, required: The URL to access the subcategory in a browser.
        - `name` string, required: The display name that identifies the subcategory.
        - `uri` string, required: The unique identifier to access the subcategory resource.
      - `top_level` boolean, required: Whether the category isn't a subcategory of another category.
      - `uri` string, required: The unique identifier to access the category resource.
    - `content_rating` string[], required: The content ratings of this video.
    - `context` object, required: The context of the video's subscription, if this video is part of a subscription.
      - `action` 'Added to' | 'Appearance by' | 'Liked by' | 'Uploaded by', required: The contextual action: Option descriptions: * `Added to` - An Added To action. * `Appearance by` - An Appearance By action. * `Liked by` - A Liked By action. * `Uploaded by` - An Unloaded By action.
      - `resource` object, nullable, required: The contextual resource: a user, group, or channel representation, or an object of a tag.
      - `resource_type` string, required: The contextual resource type.
    - `created_time` string, required: The time in ISO 8601 format when the video was created.
    - `description` string, nullable, required: A brief explanation of the video's content.
    - `duration` number, required: The video's duration in seconds.
    - `embed` EmbedSettings, required
      - `buttons` object, required: A collection of information about the buttons that appear on the interface of the embeddable player.
        - `embed` boolean, required: Whether the Embed button appears in the embeddable player for this video.
        - `fullscreen` boolean, required: Whether the Fullscreen button appears in the embeddable player for this video.
        - `hd` boolean, required: Whether the HD button appears in the embeddable player for this video.
        - `like` boolean, required: Whether the Like button appears in the embeddable player for this video.
        - `scaling` boolean, required: Whether the Scaling button appears in the embeddable player for this video.
        - `share` boolean, required: Whether the Share button appears in the embeddable player for this video.
        - `watchlater` boolean, required: Whether the Watch Later button appears in the embeddable player for this video.
      - `color` string, required: The primary player color, which controls the color of the progress bar, buttons, and more.
      - `logos` object, required: A collection of information about the logo in the corner of the embeddable player.
        - `custom` object, required: A collection of information relating to custom logos in the embeddable player.
          - `active` boolean, required: Whether the custom logo appears in the embeddable player.
          - `link` string, required: The URL that loads upon clicking the custom logo.
          - `sticky` boolean, required: Whether the custom logo appears even when the player interface is hidden.
        - `vimeo` boolean, required: Whether the Vimeo logo appears in the embeddable player for this video.
      - `playbar` boolean, required: Whether the playbar appears in the embeddable player for this video.
      - `speed` boolean, required: Whether the speed controls appear in the embeddable player for this video.
      - `title` object, required: A collection of information relating to the embeddable player's title bar.
        - `name` 'hide' | 'show' | 'user', required: How the embeddable player handles the video title: Option descriptions: * `hide` - The title is hidden. * `show` - The title is shown.
        - `owner` 'hide' | 'show' | 'user', required: How the embeddable player handles the video owner's information: Option descriptions: * `hide` - The owner's information is hidden. * `show` - The owner's information is shown.
        - `portrait` 'hide' | 'show' | 'user', required: How the embeddable player handles the video owner's portrait: Option descriptions: * `hide` - The owner's portrait is hidden * `show` - The owner's portrait is shown.
      - `uri` string: The URI of the embed preset.
      - `volume` boolean, required: Whether the volume controls appear in the embeddable player for this video.
    - `height` number, required: The video's height in pixels.
    - `language` string, nullable, required: The video's primary language.
    - `last_user_action_event_date` string, nullable: The time in ISO 8601 format when the user last modified the video.
    - `license` 'by' | 'by-nc' | 'by-nc-nd' | 'by-nc-sa' | 'by-nd' | 'by-sa' | 'cc0', required: The [Creative Commons](http://creativecommons.org/licenses/) license used for the video: Option descriptions: * `by` - Attribution * `by-nc` - Attribution Non-Commercial * `by-nc-nd` - Attribution Non-Commercial No Derivatives * `by-nc-sa` - Attribution Non-Commercial Share Alike * `by-nd` - Attribution No Derivatives * `by-sa` - Attribution Share Alike * `cc0` - Public Domain Dedication
    - `link` string, required: The link to the video.
    - `metadata` object, required: The video's metadata.
      - `connections` object, required: A list of resource URIs related to the video.
        - `available_albums` object, required: Information about the albums to which this video may be added. This data requires a bearer token with the `private` scope.
          - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
          - `total` number, required: The total number of albums on this connection. This data requires a bearer token with the `private` scope.
          - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
        - `available_channels` object, required: Information about the channels to which this video may be added. This data requires a bearer token with the `private` scope.
          - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
          - `total` number, required: The total number of channels on this connection. This data requires a bearer token with the `private` scope.
          - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
        - `comments` object, required: Information about the comments on this video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of comments on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `credits` object, nullable, required: Information about the users credited in this video.
          - `options` string[]: An array of HTTP methods permitted on this URI.
          - `total` number: The total number of users on this connection.
          - `uri` string: The API URI that resolves to the connection data.
        - `likes` object, required: Information about the users who have liked this video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of likes on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `ondemand` object, required: Information about this video's ondemand data.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `resource_key` string, required: The On Demand connection resource key.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `pictures` object, required: Information about this video's thumbnails.
          - `options` string[], required: An array of HTTP methods allowed on this URI.
          - `total` number, required: Total number of thumbnails on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `playback` object, required: The DRM playback status connection for this video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `recommendations` object, nullable, required: The recommendations for this video.
          - `options` string[]: An array of HTTP methods allowed on this URI.
          - `uri` string: The API URI that resolves to the connection data.
        - `related` object, nullable, required: Related content for this video.
          - `options` string[]: An array of HTTP methods allowed on this URI.
          - `uri` string: The API URI that resolves to the connection data.
        - `season` object, required: Information about the video's season.
          - `name` string, required: The name of this season.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `texttracks` object, required: Information about this video's text tracks.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of text tracks on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `trailer` object, required: Information about this video's VOD trailer.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `resource_key` string, required: The trailer connection resource key.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `users_with_access` object, required: Information about the user privacy of this video, if the video privacy is `users`.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `total` number, required: The total number of users on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `versions` object, required: Information about the versions of this video.
          - `current_uri` string: The URI of the current version of the video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `resource_key` string: The resource key string of the current version of the video.
          - `total` number, required: The total number of versions on this connection.
          - `uri` string, required: The API URI that resolves to the connection data.
      - `interactions` object, required: A list of resource URIs related to the video.
        - `buy` object, nullable, required: The Buy interaction for a On Demand video.
          - `currency` string, nullable, required: The currency code for the current user's region.
          - `display_price` string, nullable, required: Formatted price to display to buy an On Demand video.
          - `download` 'available' | 'purchased' | 'restricted' | 'unavailable', required: The user's download access to this On Demand video: Option descriptions: * `available` - The video is available for download. * `purchased` - The user has purchased the video. * `restricted` - The user isn't permitted to download the video. * `unavailable` - The video isn't available for download.
          - `drm` boolean, required: Whether the video has DRM.
          - `link` string, nullable, required: The URL to buy the On Demand video on Vimeo.
          - `price` number, nullable, required: The numeric value of the price for buying the On Demand video.
          - `purchase_time` string, nullable, required: The time in ISO 8601 format when the On Demand video was purchased.
          - `stream` 'available' | 'purchased' | 'restricted' | 'unavailable', required: The user's streaming access to this On Demand video: Option descriptions: * `available` - The video is available for streaming. * `purchased` - The user has purchased the video. * `restricted` - The user isn't permitted to stream the video. * `unavailable` - The video isn't available for streaming
          - `uri` string, nullable, required: The product URI to purchase the On Demand video.
        - `channel` object, nullable, required: 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.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `like` object, required: Information about whether the authenticated user has liked this video.
          - `added` boolean, required: Whether the user has liked the video.
          - `added_time` string, required: The time in ISO 8601 format when the user liked the video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `rent` object, nullable, required: The Rent interaction for an On Demand video.
          - `currency` string, nullable, required: The currency code for the current user's region.
          - `display_price` string, nullable, required: Formatted price to display to rent an On Demand video.
          - `drm` boolean, required: Whether the video has DRM.
          - `expires_time` string, nullable, required: The time in ISO 8601 format when the rental period for the video expires.
          - `link` string, nullable, required: The URL to rent the On Demand video on Vimeo.
          - `price` number, nullable, required: The numeric value of the price for buying the On Demand video.
          - `purchase_time` string, nullable, required: The time in ISO 8601 format when the On Demand video was rented.
          - `stream` 'available' | 'purchased' | 'restricted' | 'unavailable', required: The user's streaming access to this On Demand video: Option descriptions: * `available` - The video is available for streaming. * `purchased` - The user has purchased the video. * `restricted` - The user isn't permitted to stream the video. * `unavailable` - The video isn't available for streaming.
          - `uri` string, nullable, required: The product URI to rent the On Demand video.
        - `report` object, required: Information about where and how to report a video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `reason` string[], required: A list of valid reasons for reporting a video.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `subscribe` object, nullable: Subscription information for an On Demand video.
          - `drm` boolean: Whether the video has DRM.
          - `expires_time` string: The time in ISO 8601 format when the subscription expires.
          - `purchase_time` string: The tine in ISO 8601 format when the subscription was purchased.
          - `stream` string: The stream type.
        - `watched` object, required: Information about removing this video from the user's list of watched videos.
          - `added` boolean, required: Whether the user has watched the video.
          - `added_time` string, required: The time in ISO 8601 format when the user watched the video.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
        - `watchlater` object, required: Information about whether this video appears on the authenticated user's Watch Later list.
          - `added` boolean, required: Whether the user has added the video to their Watch later list.
          - `added_time` string, required: The time in ISO 8601 format when the user added the video to their Watch Later list.
          - `options` string[], required: An array of HTTP methods permitted on this URI.
          - `uri` string, required: The API URI that resolves to the connection data.
    - `modified_time` string, required: The time in ISO 8601 format when the video metadata was last modified.
    - `name` string, required: The video's title.
    - `parent_folder` Project
      - `created_time` string, required: The time in ISO 8601 format when the project was created.
      - `metadata` object, required: The project's metadata.
        - `connections` object, required: A list of resource URIs related to the project.
          - `videos` object, required: A standard connection object indicating how to get all the videos in this project.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
      - `modified_time` string, required: The time in ISO 8601 format when the project was last modified.
      - `name` string, required: The name of the folder.
      - `resource_key` string, required: The resource key string of the project.
      - `uri` string, required: The URI of the project.
      - `user` User, required
        - `account` 'basic' | 'business' | 'live_business' | 'live_premium' | 'live_pro' | 'plus' | 'pro' | 'pro_unlimited' | 'producer', required: The user's account type: Option descriptions: * `basic` - The user has a Vimeo Basic subscription. * `business` - The user has a Vimeo Business subscription. * `live_business` - The user has a Vimeo Business Live subscription. * `live_premium` - The user has a Vimeo Premium subscription. * `live_pro` - The user has a Vimeo PRO Live subscription. * `plus` - The user has a Vimeo Plus subscription. * `pro` - The user has a Vimeo Pro subscription. * `pro_unlimited` - The user has a Vimeo PRO Unlimited subscription. * `producer` - The user has a Vimeo Producer subscription.
        - `bio` string, nullable, required: The user's bio.
        - `content_filter` string[]: The user's content filters: Option descriptions: * `drugs` - Drugs or alcohol use. * `language` - Profanity or sexually suggestive content. * `nudity` - Nudity. * `safe` - Suitable for all audiences. * `unrated` - No rating. * `violence` - Violent or graphic content.
        - `created_time` string, required: The time in ISO 8601 format when the user account was created.
        - `email` string: The user's email address. This data requires a bearer token with the `email` scope.
        - `link` string, required: The absolute URL of this user's profile page.
        - `location` string, nullable, required: The user's location.
        - `metadata` object, required: The user's metadata.
          - `connections` object, required: The list of resource URIs related to the user.
            - `albums` object, required: Information about the albums created by this user.
              - …
            - `appearances` object, required: Information about the appearances of this user in other videos.
              - …
            - `block` object, required: Information on the users that the current user has blocked. This data requires a bearer token with the `private` scope.
              - …
            - `categories` object, required: Information about this user's followed categories.
              - …
            - `channels` object, required: Information about this user's subscribed channels.
              - …
            - `feed` object, required: Information about this user's feed.
              - …
            - `folders` object, required: Information about this user's folders.
              - …
            - `followers` object, required: Information about the user's followers.
              - …
            - `following` object, required: Information about the users that the current user is following.
              - …
            - `groups` object, required: Information about the groups created by this user.
              - …
            - `likes` object, required: Information about the videos that this user has liked.
              - …
            - `moderated_channels` object, required: Information about the channels that this user moderates.
              - …
            - `pictures` object, required: Information about this user's portraits.
              - …
            - `portfolios` object, required: Information about this user's portfolios.
              - …
            - `recommended_channels` object, required: A collection of recommended channels for the current user to follow. This data requires a bearer token with the `private` scope.
              - …
            - `recommended_users` object, required: A Collection of recommended users for the current user to follow. This data requires a bearer token with the `private` scope.
              - …
            - `shared` object, required: Information about the videos that have been shared with this user.
              - …
            - `videos` object, required: Information about the videos uploaded by this user.
              - …
            - `watched_videos` object, required: Information about the videos that this user has watched.
              - …
            - `watchlater` object, required: Information about the videos that this user wants to watch later.
              - …
          - `interactions` object, required
            - `add_privacy_user` object
              - …
            - `block` object, required: Information related to the block status of this user.
              - …
            - `follow` object, required: Information related to the followed status of this user.
              - …
            - `report` object, required: Information regarding where and how to report a user.
              - …
        - `name` string, required: The user's display name.
        - `pictures` Picture, required
          - `active` boolean, required: Whether this picture is the active picture for its parent resource.
          - `link` string: The upload URL for the picture. This field appears when you create the picture resource for the first time.
          - `resource_key` string, required: The picture's resource key string.
          - `sizes` object[], required: An array containing reference information about all available image files.
            - `height` number, nullable, required: The height of the image.
            - `link` string, required: The direct link to the image.
            - `link_with_play_button` string: The direct link to the image with a play button overlay.
            - `width` number, required: The width of the image.
          - `type` 'caution' | 'custom' | 'default', required: The type of the picture: Option descriptions: * `caution` - An image that is appropriate for all ages. * `custom` - A custom image for the video. * `default` - The default image for the video.
          - `uri` string, required: The picture's URI.
        - `preferences` object
          - `videos` object
            - `privacy` object
              - …
        - `resource_key` string, required: The user's resource key string.
        - `upload_quota` object, required: Appears only when the user has upload access and is looking at their own user record.
          - `lifetime` object, required: Information about the user's lifetime upload usage.
            - `free` number, nullable, required: The number of bytes remaining in your lifetime maximum.
            - `max` number, nullable, required: The total number of bytes that you can upload across the lifetime of your account.
            - `used` number, nullable, required: The number of bytes that you've already uploaded against your lifetime limit.
          - `periodic` object, required: Information about the user's usage for the current period.
            - `free` number, nullable, required: The number of bytes remaining in your upload quota for the current period.
            - `max` number, nullable, required: The total number of bytes that you can upload per period.
            - `reset_date` string, nullable, required: The time in ISO 8601 format when your upload quota resets.
            - `used` number, nullable, required: The number of bytes that you've already uploaded against your quota in the current period.
          - `space` object, required: Information about the user's upload space remaining for the current period.
            - `free` number, required: The number of bytes remaining in your upload quota.
            - `max` number, nullable, required: The maximum number of bytes allotted to your upload quota.
            - `showing` 'lifetime' | 'periodic', required: Whether the values of the upload_quota.space fields are for the lifetime quota or the periodic quota.
            - `used` number, required: The number of bytes that you've already uploaded against your quota.
        - `uri` string, required: The user's canonical relative URI.
        - `websites` object[], required: The user's websites.
          - `description` string, nullable, required: The website's description.
          - `link` string, required: The URL of the website.
          - `name` string, nullable, required: The name of the website.
    - `password` string: 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.
    - `pictures` Picture, required
      - `active` boolean, required: Whether this picture is the active picture for its parent resource.
      - `link` string: The upload URL for the picture. This field appears when you create the picture resource for the first time.
      - `resource_key` string, required: The picture's resource key string.
      - `sizes` object[], required: An array containing reference information about all available image files.
        - `height` number, nullable, required: The height of the image.
        - `link` string, required: The direct link to the image.
        - `link_with_play_button` string: The direct link to the image with a play button overlay.
        - `width` number, required: The width of the image.
      - `type` 'caution' | 'custom' | 'default', required: The type of the picture: Option descriptions: * `caution` - An image that is appropriate for all ages. * `custom` - A custom image for the video. * `default` - The default image for the video.
      - `uri` string, required: The picture's URI.
    - `privacy` object, required: The video's privacy setting.
      - `add` boolean, required: Whether the video can be added to collections.
      - `comments` 'anybody' | 'contacts' | 'nobody', required: Who can comment on the video: Option descriptions: * `anybody` - Anyone can comment on the video. * `contacts` - Only contacts can comment on the video. * `nobody` - No one can comment on the video.
      - `download` boolean, required: The video's download permission setting.
      - `embed` 'private' | 'public', required: The video's embed permission setting: Option descriptions: * `private` - The video is private. * `public` - Anyone can embed the video.
      - `view` 'anybody' | 'contacts' | 'disable' | 'nobody' | 'password' | 'unlisted' | 'users', required: The general privacy setting for the video: Option descriptions: * `anybody` - Anyone can view the video. * `contacts` - Only contacts can view the video. * `disable` - Hide from vimeo * `nobody` - No one besides the owner can view the video. * `password` - Anyone with the video's password can view the video. * `unlisted` - Not searchable from vimeo.com * `users` - Only people with a Vimeo account can view the video.
    - `release_time` string, required: The time in ISO 8601 format when the video was released.
    - `resource_key` string, required: The resource key string of the video.
    - `spatial` object, required: 360 spatial data.
      - `director_timeline` object[], required: 360 director timeline.
        - `pitch` number: The director timeline pitch, from -90 (minimum) to 90 (maximum).
        - `roll` number: The director timeline roll.
        - `time_code` number: The director timeline time code.
        - `yaw` number: The director timeline yaw, from 0 (minimum) to 360 (maximum).
      - `field_of_view` number, nullable, required: The 360 field of view, from 30 (minimum) to 90 (maximum). The default is 50.
      - `projection` 'cubical' | 'cylindrical' | 'dome' | 'equirectangular' | 'pyramid', nullable, required: The 360 spatial projection: Option descriptions: * `cubical` - The spatial projection is cubical. * `cylindrical` - The spatial projection is cylindrical. * `dome` - The spatial projection is dome-shaped. * `equirectangular` - The spatial projection is equirectangular. * `pyramid` - The spatial projection is pyramid-shaped.
      - `stereo_format` 'left-right' | 'mono' | 'top-bottom', nullable, required: The 360 stereo format: Option descriptions: * `left-right` - The stereo format is left-right. * `mono` - The audio is monaural. * `top-bottom` - The stereo format is top-bottom.
    - `stats` object, required: A collection of stats associated with this video.
      - `plays` number, nullable, required: The current total number of times that the video has been played.
    - `status` 'available' | 'quota_exceeded' | 'total_cap_exceeded' | 'transcode_starting' | 'transcoding' | 'transcoding_error' | 'unavailable' | 'uploading' | 'uploading_error', nullable, required: The status code for the availability of the video. This field is deprecated in favor of `upload` and `transcode`. Option descriptions: * `available` - The video is available. * `quota_exceeded` - The user's quota is exceeded with this video. * `total_cap_exceeded` - The user has exceeded their total cap with this video. * `transcode_starting` - Transcoding is beginning for the video. * `transcoding` - Transcoding is underway for the video. * `transcoding_error` - There was an error in transcoding the video. * `unavailable` - The video is unavailable. * `uploading` - The video is being uploaded. * `uploading_error` - There was an error in uploading the video.
    - `tags` Tag[], required: An array of all tags assigned to this video.
      - `canonical` string, required: The normalized canonical tag name.
      - `metadata` object, required: Metadata about the group.
        - `connections` object, required: A collection of information that is connected to this resource.
          - `videos` object, required: Information about the videos related to this tag.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
      - `name` string, required: The tag value.
      - `resource_key` string, required: The tag's resource key string.
      - `uri` string, required: The canonical relative URI of the tag.
    - `transcode` object, nullable, required: The transcode information for a video upload.
      - `status` 'complete' | 'error' | 'in_progress': Status code for this video's availability.
    - `type` 'live' | 'stock' | 'video', required: The type of the video. Option descriptions: * `live` - The video is or was a live event. * `stock` - The video is a Vimeo Stock video. * `video` - The video is a standard Vimeo video.
    - `upload` object, nullable, required: The upload information for this video.
      - `approach` 'post' | 'pull' | 'streaming' | 'tus': The approach for uploading the video.
      - `complete_uri` string: The URI for completing the upload.
      - `form` string: The HTML form for uploading a video through the post approach.
      - `link` string: The link of the video to capture through the pull approach.
      - `redirect_url` string: The redirect URL for the upload app.
      - `size` number: The file size in bytes of the uploaded video.
      - `status` 'complete' | 'error' | 'in_progress', required: The status code for the availability of the uploaded video: Option descriptions: * `complete` - The upload is complete. * `error` - The upload ended with an error. * `in_progress` - The upload is underway.
      - `upload_link` string: The link for sending video file data.
    - `uri` string, required: The video's canonical relative URI.
    - `user` User, required
      - `account` 'basic' | 'business' | 'live_business' | 'live_premium' | 'live_pro' | 'plus' | 'pro' | 'pro_unlimited' | 'producer', required: The user's account type: Option descriptions: * `basic` - The user has a Vimeo Basic subscription. * `business` - The user has a Vimeo Business subscription. * `live_business` - The user has a Vimeo Business Live subscription. * `live_premium` - The user has a Vimeo Premium subscription. * `live_pro` - The user has a Vimeo PRO Live subscription. * `plus` - The user has a Vimeo Plus subscription. * `pro` - The user has a Vimeo Pro subscription. * `pro_unlimited` - The user has a Vimeo PRO Unlimited subscription. * `producer` - The user has a Vimeo Producer subscription.
      - `bio` string, nullable, required: The user's bio.
      - `content_filter` string[]: The user's content filters: Option descriptions: * `drugs` - Drugs or alcohol use. * `language` - Profanity or sexually suggestive content. * `nudity` - Nudity. * `safe` - Suitable for all audiences. * `unrated` - No rating. * `violence` - Violent or graphic content.
      - `created_time` string, required: The time in ISO 8601 format when the user account was created.
      - `email` string: The user's email address. This data requires a bearer token with the `email` scope.
      - `link` string, required: The absolute URL of this user's profile page.
      - `location` string, nullable, required: The user's location.
      - `metadata` object, required: The user's metadata.
        - `connections` object, required: The list of resource URIs related to the user.
          - `albums` object, required: Information about the albums created by this user.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of albums on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `appearances` object, required: Information about the appearances of this user in other videos.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of appearances on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `block` object, required: Information on the users that the current user has blocked. This data requires a bearer token with the `private` scope.
            - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
            - `total` number, required: The total number of blocked users on this connection. This data requires a bearer token with the `private` scope.
            - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
          - `categories` object, required: Information about this user's followed categories.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of categories on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `channels` object, required: Information about this user's subscribed channels.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of channels on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `feed` object, required: Information about this user's feed.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `folders` object, required: Information about this user's folders.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of folders on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `followers` object, required: Information about the user's followers.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of followers on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `following` object, required: Information about the users that the current user is following.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of users on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `groups` object, required: Information about the groups created by this user.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of groups on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `likes` object, required: Information about the videos that this user has liked.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of likes on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `moderated_channels` object, required: Information about the channels that this user moderates.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of channels on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `pictures` object, required: Information about this user's portraits.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of pictures on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `portfolios` object, required: Information about this user's portfolios.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of portfolios on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `recommended_channels` object, required: A collection of recommended channels for the current user to follow. This data requires a bearer token with the `private` scope.
            - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
            - `total` number, required: The total number of channels on this connection. This data requires a bearer token with the `private` scope.
            - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
          - `recommended_users` object, required: A Collection of recommended users for the current user to follow. This data requires a bearer token with the `private` scope.
            - `options` string[], required: An array of HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
            - `total` number, required: The total number of users on this connection. This data requires a bearer token with the `private` scope.
            - `uri` string, required: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
          - `shared` object, required: Information about the videos that have been shared with this user.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `videos` object, required: Information about the videos uploaded by this user.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `watched_videos` object, required: Information about the videos that this user has watched.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
          - `watchlater` object, required: Information about the videos that this user wants to watch later.
            - `options` string[], required: An array of HTTP methods permitted on this URI.
            - `total` number, required: The total number of videos on this connection.
            - `uri` string, required: The API URI that resolves to the connection data.
        - `interactions` object, required
          - `add_privacy_user` object
            - `options` string[]: An array of the HTTP methods permitted on this URI. This data requires a bearer token with the `private` scope.
            - `uri` string: The API URI that resolves to the connection data. This data requires a bearer token with the `private` scope.
          - `block` object, required: Information related to the block status of this user.
            - `added` boolean, required: Whether a user is blocking the current user.
            - `added_time` string, nullable, required: The time in ISO 8601 format when the block occurred, or the null value if no block exists.
            - `options` string[], required: An array of the HTTP methods permitted on this URI.
            - `uri` string, required: The URI to block or unblock the user.
          - `follow` object, required: Information related to the followed status of this user.
            - `added` boolean, required: Whether a user is following the current user.
            - `options` string[], required: An array of the HTTP methods permitted on this URI.
            - `uri` string, required: The URI to follow the user.
          - `report` object, required: Information regarding where and how to report a user.
            - `options` string[], required: An array of the HTTP methods permitted on this URI.
            - `reason` string[], required: List of valid reasons for reporting a video.
            - `uri` string, required: The API URI that resolves to the connection data.
      - `name` string, required: The user's display name.
      - `pictures` Picture, required
        - `active` boolean, required: Whether this picture is the active picture for its parent resource.
        - `link` string: The upload URL for the picture. This field appears when you create the picture resource for the first time.
        - `resource_key` string, required: The picture's resource key string.
        - `sizes` object[], required: An array containing reference information about all available image files.
          - `height` number, nullable, required: The height of the image.
          - `link` string, required: The direct link to the image.
          - `link_with_play_button` string: The direct link to the image with a play button overlay.
          - `width` number, required: The width of the image.
        - `type` 'caution' | 'custom' | 'default', required: The type of the picture: Option descriptions: * `caution` - An image that is appropriate for all ages. * `custom` - A custom image for the video. * `default` - The default image for the video.
        - `uri` string, required: The picture's URI.
      - `preferences` object
        - `videos` object
          - `privacy` object
            - `add` boolean: Whether other users can add the user's videos.
            - `comments` 'anybody' | 'contacts' | 'nobody': The user's privacy preference for comments: Option descriptions: * `anybody` - Anyone can comment on the user's videos. * `contacts` - Only contacts can comment on the user's videos. * `nobody` - No one can comment on the user's videos.
            - `download` boolean: Whether other users can download the user's videos.
            - `embed` 'private' | 'public' | 'whitelist': The user's privacy preference for embeds: Option descriptions: * `private` - Only the user can embed their own videos. * `public` - Anyone can embed the user's videos. * `whitelist` - Only those on the whitelist can embed the user's videos.
            - `view` 'anybody' | 'contacts' | 'disable' | 'nobody' | 'password' | 'unlisted' | 'users': The user's privacy preference for views: Option descriptions: * `anybody` - Anyone can view the user's videos. * `contacts` - Only contacts can view the user's videos. * `disable` - Views are disabled for the user's videos. * `nobody` - No one except the user can view the user's videos. * `password` - Only those with the password can view the user's videos. * `unlisted` - Anybody can view the user's videos if they have a link. * `users` - Only other Vimeo members can view the user's videos.
      - `resource_key` string, required: The user's resource key string.
      - `upload_quota` object, required: Appears only when the user has upload access and is looking at their own user record.
        - `lifetime` object, required: Information about the user's lifetime upload usage.
          - `free` number, nullable, required: The number of bytes remaining in your lifetime maximum.
          - `max` number, nullable, required: The total number of bytes that you can upload across the lifetime of your account.
          - `used` number, nullable, required: The number of bytes that you've already uploaded against your lifetime limit.
        - `periodic` object, required: Information about the user's usage for the current period.
          - `free` number, nullable, required: The number of bytes remaining in your upload quota for the current period.
          - `max` number, nullable, required: The total number of bytes that you can upload per period.
          - `reset_date` string, nullable, required: The time in ISO 8601 format when your upload quota resets.
          - `used` number, nullable, required: The number of bytes that you've already uploaded against your quota in the current period.
        - `space` object, required: Information about the user's upload space remaining for the current period.
          - `free` number, required: The number of bytes remaining in your upload quota.
          - `max` number, nullable, required: The maximum number of bytes allotted to your upload quota.
          - `showing` 'lifetime' | 'periodic', required: Whether the values of the upload_quota.space fields are for the lifetime quota or the periodic quota.
          - `used` number, required: The number of bytes that you've already uploaded against your quota.
      - `uri` string, required: The user's canonical relative URI.
      - `websites` object[], required: The user's websites.
        - `description` string, nullable, required: The website's description.
        - `link` string, required: The URL of the website.
        - `name` string, nullable, required: The name of the website.
    - `width` number, required: The video's width in pixels.

## Other responses

- `400`: * A parameter is invalid. * The authenticated user has an unverified email address. * There is a user block between the video owner and the person receiving credit.
- `403`: The authenticated user doesn't own the video.

## Changes

- **2026-07-13** `ea882e0224a4`: 3 info
  - added the optional property `video/allOf[subschema #1: Video]/metadata/connections/versions/resource_key` to the response with the `201` status
  - added the required property `video/allOf[subschema #1: Video]/metadata/connections/available_albums` to the response with the `201` status
  - added the required property `video/allOf[subschema #1: Video]/metadata/connections/available_channels` to the response with the `201` status
- **2019-03-29** `d66f7a79837f`: 1 info
  - added the required property `video/allOf[subschema #1: Video]/type` to the response with the `201` status
- **2019-02-22** `0aaf609c3dbf`: 1 info
  - added the optional property `video/allOf[subschema #1: Video]/password` to the response with the `201` status
- **2019-01-11** `89b756668a1e`: 2 info
  - added `#/components/schemas/project` to the `video/allOf[subschema #1: Video]/parent_folder` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/folder` from the `video/allOf[subschema #1: Video]/parent_folder` response property `allOf` list for the response status `201`
- …earlier changes not shown

[Operation history](https://skmtc.dev/vimeo/apis/vimeo-api/changes/videos/:video_id/credits/post.md)

---

[API](https://skmtc.dev/vimeo/apis/vimeo-api.md) - [All operations](https://skmtc.dev/vimeo/apis/vimeo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vimeo/apis/vimeo-api/revisions/ea882e0224a4?raw)
