API.Video · Authentication Profile

Api Video Authentication

Authentication

API.Video secures its APIs with http across 3 declared security schemes, as derived from its OpenAPI definitions.

Artificial IntelligenceAnalyticsCDNEncodingLive StreamingTranscriptionVideoVideo-on-Demand
Methods: http Schemes: 3 OAuth flows: API key in:

Security Schemes

apiKey http
scheme: basic
bearerAuth http
scheme: bearer
delegated upload token apiKey
· in: query ()

Source

Authentication Profile

Raw ↑
generated: '2026-11-05'
method: searched
source: 'https://docs.api.video/reference/authentication-guide, https://docs.api.video/reference/basic-authentication, https://docs.api.video/reference/disposable-bearer-token-authentication, https://docs.api.video/reference/api/Advanced-authentication, https://docs.api.video/reference/api/Upload-Tokens, https://docs.api.video/sdks/security/; securitySchemes of openapi/_original/api-video-openapi.yml (bearerAuth: http bearer; apiKey: http basic)'
docs: https://docs.api.video/reference/authentication-guide
summary:
  types: [http]
  schemes: [basic, bearer]
  recommended: Disposable bearer token (the official clients use it by default); Basic auth is positioned for quick testing.
  environments: separate API keys for sandbox (https://sandbox.api.video) and production (https://ws.api.video); a key used against the wrong environment returns 401.
  key_management: API keys are created on https://dashboard.api.video (API Keys page); production allows multiple keys per project for different applications. The docs tell developers never to ship keys in frontend or mobile code.
schemes:
  - name: apiKey
    type: http
    scheme: basic
    description: 'HTTP Basic Auth with the API key as the username and an empty password ("curl -u api_key: https://ws.api.video/videos"; keep the trailing colon). Invalid credentials return 401 Unauthorized with a problem+json body.'
    docs: https://docs.api.video/reference/basic-authentication
    sources:
      - openapi/api-video-advanced-authentication-api-openapi.yml
      - openapi/api-video-analytics-api-openapi.yml
      - openapi/api-video-captions-api-openapi.yml
      - openapi/api-video-chapters-api-openapi.yml
      - openapi/api-video-live-streams-api-openapi.yml
      - openapi/api-video-player-themes-api-openapi.yml
      - openapi/api-video-summaries-api-openapi.yml
      - openapi/api-video-tags-api-openapi.yml
      - openapi/api-video-upload-tokens-api-openapi.yml
      - openapi/api-video-videos-api-openapi.yml
      - openapi/api-video-watermarks-api-openapi.yml
      - openapi/api-video-webhooks-api-openapi.yml
  - name: bearerAuth
    type: http
    scheme: bearer
    bearerFormat: JWT
    description: 'Disposable bearer token. POST /auth/api-key with {"apiKey": ...} returns access_token (JWT, valid 3600 seconds), token_type "bearer", refresh_token and expires_in; POST /auth/refresh with {"refreshToken": ...} rotates it. Send as "Authorization: Bearer <access_token>". The docs suggest either a scheduled refresh every 3600 seconds or refreshing on a 401.'
    token_endpoint: POST https://ws.api.video/auth/api-key
    refresh_endpoint: POST https://ws.api.video/auth/refresh
    token_lifetime_seconds: 3600
    docs: https://docs.api.video/reference/disposable-bearer-token-authentication
    sources:
      - openapi/api-video-advanced-authentication-api-openapi.yml
      - openapi/api-video-analytics-api-openapi.yml
      - openapi/api-video-captions-api-openapi.yml
      - openapi/api-video-chapters-api-openapi.yml
      - openapi/api-video-live-streams-api-openapi.yml
      - openapi/api-video-player-themes-api-openapi.yml
      - openapi/api-video-summaries-api-openapi.yml
      - openapi/api-video-tags-api-openapi.yml
      - openapi/api-video-upload-tokens-api-openapi.yml
      - openapi/api-video-videos-api-openapi.yml
      - openapi/api-video-watermarks-api-openapi.yml
      - openapi/api-video-webhooks-api-openapi.yml
  - name: delegated upload token
    type: apiKey
    in: query
    scheme: null
    description: Not a securityScheme in the OpenAPI, but a documented credential - POST /upload-tokens (optionally with a ttl) issues a token an end user passes to POST /upload?token=... so browsers and mobile apps can upload without the account API key. Tokens are listed, retrieved and deleted at /upload-tokens; the docs recommend the shortest TTL possible.
    docs: https://docs.api.video/reference/api/Upload-Tokens
    sources:
      - openapi/api-video-upload-tokens-api-openapi.yml
      - openapi/api-video-videos-api-openapi.yml
errors:
  - {status: 401, title: The API key is invalid.}
  - {status: 401, title: The access token is invalid or expired.}
  - {status: 401, title: The refresh token is invalid.}
  - {status: 401, title: The "Authorization" header is missing.}
  - {status: 403, title: Suspended account}

Work with this as data

Every security artifact 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 security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • 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 security artifact
curl "https://apis.io/api/v1/security/api-video-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.