VidGrid Token API

The Video Creation Token API allows you to request a token that can be used to record or upload videos into your VidGrid account.

Operations 1

POST /vidgrid/v2/tokens Create token #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vidgrid-token-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vidgrid-token-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VidGrid API Reference Token API
  description: 'Welcome to the VidGrid REST API!


    You can use this API to create and manage resources on your VidGrid account. The API is meant to be used server-side and all requests should be made over SSL.


    Code examples can be viewed in the area to the right, and you can switch the language of the examples with the tabs in the top right.'
  termsOfService: https://www.vidgrid.com/terms/
  contact:
    name: API Support
    url: https://help.vidgrid.com
    email: videoengineering@paylocity.com?subject=API Inquiry
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '2.0'
servers:
- url: https://api.vidgrid.com/ContentManagement
security:
- bearer: []
  basic: []
tags:
- name: Token
  description: The Video Creation Token API allows you to request a token that can be used to record or upload videos into your VidGrid account.
  externalDocs:
    description: More
    url: https://developer.vidgrid.com/docs/v2/#video-creation-token-api
paths:
  /vidgrid/v2/tokens:
    post:
      tags:
      - Token
      summary: Create token
      description: This endpoint generates and returns a Token Resource that can be used for creating videos.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                type:
                  description: 'The type of token that will be used. See Token Types for more info. Possible values: `record`, `upload`, `direct_upload`.'
                  type: string
                video:
                  description: Sets properties on videos created with this token.
                  properties:
                    title:
                      description: Sets the title for the created video. If `recorder.hide_video_title` is set to `false` the end user will have the option to set their own title from within the recorder.
                      type: string
                    public:
                      description: When set to `true`, an uploaded video will be viewable by anyone with a link. If set to `false`, a user must be logged in to your VidGrid account to view the video. If not set, your user or organization default settings will be used.
                      type: boolean
                    folder:
                      description: Automatically add uploaded videos to a folder. This should be set to a folder **identifier**.
                      type: string
                  type: object
                recorder:
                  description: Configures recorder behavior when launched via a specific token.
                  properties:
                    auto_show_video_page:
                      description: Whether or not to automatically open the video in the user's browser after recording.
                      type: boolean
                      default: false
                    auto_close_recorder:
                      description: Whether or not to close the recorder when it is finished uploading the video. If set to `true`, the user will only be able to record one video with this token.
                      type: boolean
                      default: false
                    hide_video_title_input:
                      description: Whether or not to allow the user to title the video after recording.
                      type: boolean
                      default: false
                    default_fullscreen:
                      description: Whether or not the recorder should launch in fullscreen mode.
                      type: boolean
                      default: false
                    force_webcam_only:
                      description: Whether or not the recorder should be restricted to webcam only mode.
                      type: boolean
                      default: false
                    on_install:
                      properties:
                        auto_authenticate:
                          description: Whether or not a user should be automatically authenticated the first time the recorder is launched after install. If set to `false`, the user will need to return to their browser and click record in order to be authenticated.
                          type: boolean
                          default: true
                        show_instructions_page:
                          description: Whether or not to download the recorder without redirecting to the install recorder page. This happens the first time a use clicks record when using the iframe method.
                          type: boolean
                          default: false
                      type: object
                  type: object
                webhook_extras:
                  description: Any extra data that you would like to be sent along when Webhook events are fired.
                  type: array
                  items: {}
              type: object
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  data:
                    oneOf:
                    - $ref: '#/components/schemas/RecordTokenResource'
                    - $ref: '#/components/schemas/UploadTokenResource'
                    - $ref: '#/components/schemas/DirectUploadTokenResource'
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/InternalServerError'
      operationId: postVidgridV2Tokens
      x-operation-id-source: derived
components:
  schemas:
    UploadTokenResource:
      title: Upload Token Resource
      description: The Upload Token Resource returned in a successful response.
      required:
      - token
      - token_key
      - expires
      - uploader
      properties:
        token:
          description: One-time token that is used for authentication when uploading a video.
          type: string
        token_key:
          description: Public identifier corresponding to the token.
          type: string
        expires:
          description: UNIX Timestamp (UTC) indicating when the temporary token will expire.
          type: string
          format: timestamp
        uploader:
          properties:
            iframe:
              description: Iframe containing a simple upload dropzone.
              type: string
            iframe_basic:
              description: Iframe containing a simple upload button.
              type: string
          type: object
      type: object
    DirectUploadTokenResource:
      title: Direct Upload Token Resource
      description: The Direct Upload Token Resource returned in a successful response.
      required:
      - token
      - token_key
      - expires
      - uploader
      properties:
        token:
          description: One-time token that is used for authentication when uploading a video. It is then mainly used for informational purposes.
          type: string
        token_key:
          description: Public identifier corresponding to the token.
          type: string
        formAttributes:
          description: Form attributes necessary for the S3 upload.
          properties:
            action:
              type: string
            method:
              type: string
            enctype:
              type: string
          type: object
        formInputs:
          description: 'Key/value pairs necessary for the S3 upload. <i>Important: **formInputs.key** contains a **${filename}** string that needs to be replaced with a unique file name for each file uploaded. This will also be used for the video title in VidGrid unless `video.title` is set in the Create Token request.</i>'
          properties:
            key:
              type: string
            acl:
              type: string
            x-amz-server-side-encryption:
              type: string
            X-Amz-Credential:
              type: string
            X-Amz-Algorithm:
              type: string
            X-Amz-Date:
              type: string
            X-Amz-Signature:
              type: string
            Policy:
              type: string
          type: object
        fileParamName:
          description: 'The required key name that should contain the file data for uploading. <i>Important: Amazon requires this to be the last key/value pair included in the POST to S3.</i>'
          type: string
        cloudUploadCallbackUrl:
          description: 'URL to `POST` to once a video has finished uploading to S3 and is ready for processing. Returns a video identifier. <i>Important: you need to include `cloudKey` with the request which is the value of `formInputs.key` after **${filename}** has been replaced.</i>'
          type: string
      type: object
    RecordTokenResource:
      title: Record Token Resource
      description: The Record Token Resource returned in a successful response.
      required:
      - token
      - token_key
      - expires
      - recorder
      properties:
        token:
          description: One-time token that is used for authentication when recording and uploading a video.
          type: string
        token_key:
          description: Public identifier corresponding to the token.
          type: string
        expires:
          description: UNIX Timestamp (UTC) indicating when the temporary token will expire.
          type: string
          format: timestamp
        recorder:
          properties:
            download_url:
              description: URL that can be used to download the recorder.
              type: string
              format: URL
            launch_uri:
              description: URI that can be used to launch the recorder.
              type: string
              format: URI
            iframe_button:
              description: Iframe containing a record button. It will handle downloading and launching the recorder.
              type: string
          type: object
      type: object
  responses:
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            properties:
              message:
                description: A message explaining what went wrong
                type: string
            type: object
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            properties:
              message:
                description: A message explaining what went wrong
                type: string
            type: object
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            properties:
              message:
                description: A message explaining what went wrong
                type: string
            type: object
    ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            properties:
              message:
                description: A message explaining what went wrong
                type: string
            type: object
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            properties:
              message:
                description: A message explaining what went wrong
                type: string
            type: object
  securitySchemes:
    bearer:
      description: Bearer Authorization
      in: header
      name: bearer
      scheme: bearer
      type: http
    basic:
      description: Where `username` and `password` are api `key` and `secret`
      in: header
      name: basic
      scheme: basic
      type: http
externalDocs:
  description: Full API Documentation
  url: https://developer.vidgrid.com