Automattic Videopress API
The videopress API from Automattic — 9 operation(s) for videopress.
The videopress API from Automattic — 9 operation(s) for videopress.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/automattic-videopress-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: WordPress.com REST API — wpcom/v2 namespace Videopress API
version: v2
description: Derived by API Evangelist from the WordPress.com REST API route index published at https://public-api.wordpress.com/wpcom/v2/. Paths, HTTP methods, and parameter names/types/descriptions/defaults are taken verbatim from that index. Response schemas are not published in the route index, so successful responses are described but not schematised; the error envelope was observed live on public-api.wordpress.com.
contact:
name: Automattic
url: https://developer.wordpress.com/docs/api/
x-derived-from: https://public-api.wordpress.com/wpcom/v2/
x-derived-by: API Evangelist enrichment pipeline
servers:
- url: https://public-api.wordpress.com
security:
- bearerAuth: []
tags:
- name: videopress
paths:
/wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks:
get:
operationId: getWpcomV2SitesbyWpcomSiteVideopressCaptionTracks
summary: GET /wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: guid
in: query
required: true
schema:
type: string
description: VideoPress GUID.
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressCaptionTracks
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
guid:
type: string
description: VideoPress GUID.
title:
type: string
description: Caption track title.
content:
type: string
description: Serialized caption-cue block content.
status:
type: string
enum:
- draft
- publish
description: Caption track status.
meta:
type: object
description: Caption track metadata.
required:
- meta
/wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks/{id}:
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressCaptionTracksbyId
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks/{id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
guid:
type: string
description: VideoPress GUID.
title:
type: string
description: Caption track title.
content:
type: string
description: Serialized caption-cue block content.
status:
type: string
enum:
- draft
- publish
description: Caption track status.
meta:
type: object
description: Caption track metadata.
required:
- meta
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressCaptionTracksbyId
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks/{id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
guid:
type: string
description: VideoPress GUID.
title:
type: string
description: Caption track title.
content:
type: string
description: Serialized caption-cue block content.
status:
type: string
enum:
- draft
- publish
description: Caption track status.
meta:
type: object
description: Caption track metadata.
required:
- meta
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressCaptionTracksbyId
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks/{id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
guid:
type: string
description: VideoPress GUID.
title:
type: string
description: Caption track title.
content:
type: string
description: Serialized caption-cue block content.
status:
type: string
enum:
- draft
- publish
description: Caption track status.
meta:
type: object
description: Caption track metadata.
required:
- meta
delete:
operationId: deleteWpcomV2SitesbyWpcomSiteVideopressCaptionTracksbyId
summary: DELETE /wpcom/v2/sites/{wpcom_site}/videopress/caption-tracks/{id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/videopress/meta:
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressMeta
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/meta
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: The post id for the attachment.
title:
type: string
description: The title of the video.
description:
type: string
description: The description of the video.
caption:
type: string
description: The caption of the video.
rating:
type: string
description: The video content rating. One of G, PG-13 or R-17
display_embed:
type: boolean
description: Display the share menu in the player.
allow_download:
type: boolean
description: Display download option and allow viewers to download this video
privacy_setting:
type: integer
enum:
- 0
- 1
- 2
description: How to determine if the video should be public or private
required:
- id
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressMeta
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/meta
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: The post id for the attachment.
title:
type: string
description: The title of the video.
description:
type: string
description: The description of the video.
caption:
type: string
description: The caption of the video.
rating:
type: string
description: The video content rating. One of G, PG-13 or R-17
display_embed:
type: boolean
description: Display the share menu in the player.
allow_download:
type: boolean
description: Display download option and allow viewers to download this video
privacy_setting:
type: integer
enum:
- 0
- 1
- 2
description: How to determine if the video should be public or private
required:
- id
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressMeta
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/meta
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: The post id for the attachment.
title:
type: string
description: The title of the video.
description:
type: string
description: The description of the video.
caption:
type: string
description: The caption of the video.
rating:
type: string
description: The video content rating. One of G, PG-13 or R-17
display_embed:
type: boolean
description: Display the share menu in the player.
allow_download:
type: boolean
description: Display download option and allow viewers to download this video
privacy_setting:
type: integer
enum:
- 0
- 1
- 2
description: How to determine if the video should be public or private
required:
- id
/wpcom/v2/sites/{wpcom_site}/videopress/playback-jwt/{video_guid}:
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressPlaybackJwtbyVideoGuid
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/playback-jwt/{video_guid}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressPlaybackJwtbyVideoGuid
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/playback-jwt/{video_guid}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressPlaybackJwtbyVideoGuid
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/playback-jwt/{video_guid}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/videopress/promote/{attachment_id}:
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressPromotebyAttachmentId
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/promote/{attachment_id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: attachment_id
in: path
required: true
schema:
type: string
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressPromotebyAttachmentId
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/promote/{attachment_id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: attachment_id
in: path
required: true
schema:
type: string
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressPromotebyAttachmentId
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/promote/{attachment_id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: attachment_id
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/videopress/settings:
get:
operationId: getWpcomV2SitesbyWpcomSiteVideopressSettings
summary: GET /wpcom/v2/sites/{wpcom_site}/videopress/settings
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressSettings
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/settings
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
videopress_videos_private_for_site:
type: boolean
description: If the VideoPress videos should be private by default
videopress_auto_subtitles_disabled:
type: boolean
description: If auto-generated subtitles should be skipped for new videos
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressSettings
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/settings
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
videopress_videos_private_for_site:
type: boolean
description: If the VideoPress videos should be private by default
videopress_auto_subtitles_disabled:
type: boolean
description: If auto-generated subtitles should be skipped for new videos
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressSettings
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/settings
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
videopress_videos_private_for_site:
type: boolean
description: If the VideoPress videos should be private by default
videopress_auto_subtitles_disabled:
type: boolean
description: If auto-generated subtitles should be skipped for new videos
/wpcom/v2/sites/{wpcom_site}/videopress/upload-jwt:
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressUploadJwt
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/upload-jwt
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressUploadJwt
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/upload-jwt
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressUploadJwt
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/upload-jwt
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/check-ownership/{post_id}:
get:
operationId: getWpcomV2SitesbyWpcomSiteVideopressbyVideoGuidCheckOwnershipbyPostId
summary: GET /wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/check-ownership/{post_id}
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
- name: post_id
in: path
required: true
schema:
type: string
/wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/poster:
get:
operationId: getWpcomV2SitesbyWpcomSiteVideopressbyVideoGuidPoster
summary: GET /wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/poster
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
post:
operationId: postWpcomV2SitesbyWpcomSiteVideopressbyVideoGuidPoster
summary: POST /wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/poster
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
at_time:
type: integer
description: The time in the video to use as the poster frame.
is_millisec:
type: boolean
description: Whether the time is in milliseconds or seconds.
poster_attachment_id:
type: integer
description: The attachment id of the poster image.
put:
operationId: putWpcomV2SitesbyWpcomSiteVideopressbyVideoGuidPoster
summary: PUT /wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/poster
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
at_time:
type: integer
description: The time in the video to use as the poster frame.
is_millisec:
type: boolean
description: Whether the time is in milliseconds or seconds.
poster_attachment_id:
type: integer
description: The attachment id of the poster image.
patch:
operationId: patchWpcomV2SitesbyWpcomSiteVideopressbyVideoGuidPoster
summary: PATCH /wpcom/v2/sites/{wpcom_site}/videopress/{video_guid}/poster
tags:
- videopress
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: wpcom_site
in: path
required: true
schema:
type: string
- name: video_guid
in: path
required: true
schema:
type: string
requestBody:
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/automattic/refs/heads/main/openapi/automattic-videopress-api-openapi.yml