How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Automattic Media API

The media API from Automattic — 14 operation(s) for media.

Automattic Media API is one of 385 APIs that Automattic publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Media. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a getting-started guide.

This API exposes 26 operations across 14 paths, and defines 2 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 3 base URLs: https://public-api.wordpress.com/rest/v1.1, https://public-api.wordpress.com/rest/v1.2, https://public-api.wordpress.com.

26 operations 14 paths 2 schemas 1 DELETE4 GET4 PATCH13 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://public-api.wordpress.com/rest/v1.1
Authentication
OAuth 2.0, HTTP Bearer
Resource Areas
1

Authentication & Security 2

Automattic Media API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 21 scopes. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • oauth2 — WordPress.com OAuth 2.1 (see /.well-known/openid-configuration).
  • bearerAuth — Authorization: Bearer

Paths & Operations 26

Across 14 paths, the API surfaces 26 operations — 1 DELETE, 4 GET, 4 PATCH, 13 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

media 26
GET
/sites/{site}/media/
Get a list of items in the media library.
getSitesBySiteMedia 18 params → 200400401403404
POST
/sites/{site}/media/new
Upload a new piece of media.
postSitesBySiteMediaNew 7 params body → 200400401403404
GET
/sites/{site}/media/{media_ID}
Get a single media item (by ID).
getSitesBySiteMediaByMediaId 8 params → 200400401403404
POST
/sites/{site}/media/{media_ID}
Edit basic information about a media item.
postSitesBySiteMediaByMediaId 8 params body → 200400401403404
POST
/sites/{site}/media/{media_ID}/delete
Delete a piece of media. Note: Media is deleted and not trashed.
postSitesBySiteMediaByMediaIdDelete 8 params → 200400401403404
POST
/sites/{site}/media/{media_ID}/edit
Edit a media item.
postSitesBySiteMediaByMediaIdEdit 8 params body → 200400401403404
GET
/wp/v2/sites/{wpcom_site}/media
GET /wp/v2/sites/{wpcomsite}/media
getWpV2SitesbyWpcomSiteMedia 24 params → 200401404
POST
/wp/v2/sites/{wpcom_site}/media
POST /wp/v2/sites/{wpcomsite}/media
postWpV2SitesbyWpcomSiteMedia 1 param body → 200401404
GET
/wp/v2/sites/{wpcom_site}/media/{id}
GET /wp/v2/sites/{wpcomsite}/media/{id}
getWpV2SitesbyWpcomSiteMediabyId 3 params → 200401404
POST
/wp/v2/sites/{wpcom_site}/media/{id}
POST /wp/v2/sites/{wpcomsite}/media/{id}
postWpV2SitesbyWpcomSiteMediabyId 2 params body → 200401404
PUT
/wp/v2/sites/{wpcom_site}/media/{id}
PUT /wp/v2/sites/{wpcomsite}/media/{id}
putWpV2SitesbyWpcomSiteMediabyId 2 params body → 200401404
PATCH
/wp/v2/sites/{wpcom_site}/media/{id}
PATCH /wp/v2/sites/{wpcomsite}/media/{id}
patchWpV2SitesbyWpcomSiteMediabyId 2 params body → 200401404
DELETE
/wp/v2/sites/{wpcom_site}/media/{id}
DELETE /wp/v2/sites/{wpcomsite}/media/{id}
deleteWpV2SitesbyWpcomSiteMediabyId 3 params → 200401404
POST
/wp/v2/sites/{wpcom_site}/media/{id}/edit
POST /wp/v2/sites/{wpcomsite}/media/{id}/edit
postWpV2SitesbyWpcomSiteMediabyIdEdit 2 params body → 200401404
POST
/wp/v2/sites/{wpcom_site}/media/{id}/finalize
POST /wp/v2/sites/{wpcomsite}/media/{id}/finalize
postWpV2SitesbyWpcomSiteMediabyIdFinalize 2 params body → 200401404
POST
/wp/v2/sites/{wpcom_site}/media/{id}/post-process
POST /wp/v2/sites/{wpcomsite}/media/{id}/post-process
postWpV2SitesbyWpcomSiteMediabyIdPostProcess 2 params body → 200401404
POST
/wp/v2/sites/{wpcom_site}/media/{id}/sideload
POST /wp/v2/sites/{wpcomsite}/media/{id}/sideload
postWpV2SitesbyWpcomSiteMediabyIdSideload 2 params body → 200401404
POST
/wpcom/v2/sites/{wpcom_site}/media/videopress-playback-jwt/{guid}
POST /wpcom/v2/sites/{wpcomsite}/media/videopress-playback-jwt/{guid}
postWpcomV2SitesbyWpcomSiteMediaVideopressPlaybackJwtbyGuid 2 params → 200401404
PUT
/wpcom/v2/sites/{wpcom_site}/media/videopress-playback-jwt/{guid}
PUT /wpcom/v2/sites/{wpcomsite}/media/videopress-playback-jwt/{guid}
putWpcomV2SitesbyWpcomSiteMediaVideopressPlaybackJwtbyGuid 2 params → 200401404
PATCH
/wpcom/v2/sites/{wpcom_site}/media/videopress-playback-jwt/{guid}
PATCH /wpcom/v2/sites/{wpcomsite}/media/videopress-playback-jwt/{guid}
patchWpcomV2SitesbyWpcomSiteMediaVideopressPlaybackJwtbyGuid 2 params → 200401404
POST
/wpcom/v2/sites/{wpcom_site}/media/videopress-privacy-details/{guid}
POST /wpcom/v2/sites/{wpcomsite}/media/videopress-privacy-details/{guid}
postWpcomV2SitesbyWpcomSiteMediaVideopressPrivacyDetailsbyGuid 2 params → 200401404
PUT
/wpcom/v2/sites/{wpcom_site}/media/videopress-privacy-details/{guid}
PUT /wpcom/v2/sites/{wpcomsite}/media/videopress-privacy-details/{guid}
putWpcomV2SitesbyWpcomSiteMediaVideopressPrivacyDetailsbyGuid 2 params → 200401404
PATCH
/wpcom/v2/sites/{wpcom_site}/media/videopress-privacy-details/{guid}
PATCH /wpcom/v2/sites/{wpcomsite}/media/videopress-privacy-details/{guid}
patchWpcomV2SitesbyWpcomSiteMediaVideopressPrivacyDetailsbyGuid 2 params → 200401404
POST
/wpcom/v2/sites/{wpcom_site}/media/videopress-upload-jwt
POST /wpcom/v2/sites/{wpcomsite}/media/videopress-upload-jwt
postWpcomV2SitesbyWpcomSiteMediaVideopressUploadJwt 1 param → 200401404
PUT
/wpcom/v2/sites/{wpcom_site}/media/videopress-upload-jwt
PUT /wpcom/v2/sites/{wpcomsite}/media/videopress-upload-jwt
putWpcomV2SitesbyWpcomSiteMediaVideopressUploadJwt 1 param → 200401404
PATCH
/wpcom/v2/sites/{wpcom_site}/media/videopress-upload-jwt
PATCH /wpcom/v2/sites/{wpcomsite}/media/videopress-upload-jwt
patchWpcomV2SitesbyWpcomSiteMediaVideopressUploadJwt 1 param → 200401404

Schemas 2

The contract defines 2 schemas that model the data the API accepts and returns. The most detailed are WPRestError (3 properties), Error (2 properties). Each schema is shown below with its type and property counts.

Error
object
WordPress.com REST API error envelope (observed live).
2 properties
WPRestError
object
WordPress REST API error envelope (observed on public-api.wordpress.com).
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

automattic-media-api-openapi.yml Raw ↑

Other APIs Automattic publishes across the network.

WordPress.com MCP Server
WordPress VIP Platform API
Automattic A8c Lore API
Automattic A8cmentorship API
Automattic Abilities API
Automattic Activity API
Automattic Activity Log Events API
Automattic Activitypub API
Automattic Adflow API
Automattic Admin Bar API
Automattic Admin Color API
Automattic Admin Menu API
Where this information came from

This is an independent, third-party profile of Automattic Media API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.