openapi: 3.2.0 info: title: Vice Media Root API version: wp/v2 contact: name: VICE Media security / responsible disclosure email: infosec@vice.com url: https://www.vice.com/en/vice-responsible-disclosure-policy/ termsOfService: https://www.vice.com/en/terms/ x-apievangelist-method: derived x-refined-note: - x-derived-from differs across the merged source definitions and was not carried x-derived-on: '2026-09-04' description: 'Operations tagged root across 2 of this provider''s published API definitions: vice-media-video-wp-rest-openapi.yml, vice-media-wp-rest-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://video.vice.com description: Production - url: https://www.vice.com description: Production tags: - name: Root description: REST API index / namespace and route discovery. paths: /: get: operationId: get_root summary: GET / description: '`GET` on the WordPress REST route `/` in namespace `root`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.' tags: - Root parameters: - name: context in: query required: false schema: default: view responses: '200': description: Success. WordPress returns the requested resource or collection as JSON. content: application/json: schema: {} '401': description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry, you are not allowed to do that.","data":{"status":401}}`. content: application/json: schema: $ref: '#/components/schemas/WPError' '404': description: No route or resource matched. content: application/json: schema: $ref: '#/components/schemas/WPError' servers: - url: https://video.vice.com description: Production /batch/v1: post: operationId: post_batch_v1 summary: POST /batch/v1 description: '`POST` on the WordPress REST route `/batch/v1` in namespace `root`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.' tags: - Root requestBody: required: true content: application/json: schema: type: object properties: validation: type: string enum: - require-all-validate - normal default: normal requests: type: array items: type: object required: - requests responses: '200': description: Success. WordPress returns the requested resource or collection as JSON. content: application/json: schema: {} '401': description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry, you are not allowed to do that.","data":{"status":401}}`. content: application/json: schema: $ref: '#/components/schemas/WPError' '404': description: No route or resource matched. content: application/json: schema: $ref: '#/components/schemas/WPError' servers: - url: https://video.vice.com description: Production components: schemas: WPError: type: object description: The WordPress REST error envelope, observed live on this host. It is NOT RFC 9457 application/problem+json. properties: code: type: string description: Machine-readable error code, e.g. rest_forbidden. message: type: string description: Human-readable message. data: type: object properties: status: type: integer description: HTTP status repeated in the body. required: - code - message securitySchemes: applicationPassword: type: http scheme: basic description: WordPress Application Passwords (HTTP Basic). The live discovery document declares this as the site's authentication method, with the authorization endpoint at https://video.vice.com/wp-admin/authorize-application.php. wpNonce: type: apiKey in: header name: X-WP-Nonce description: WordPress cookie-authentication nonce. Advertised by the live server in its Access-Control-Allow-Headers response header (Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type). x-refined-from: - vice-media-video-wp-rest-openapi.yml - vice-media-wp-rest-openapi.yml