openapi: 3.2.0 info: title: WordPress.com REST API — wpcom/v2 namespace Woocommerce 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: woocommerce paths: /wpcom/v2/sites/{wpcom_site}/woocommerce/active-theme: get: operationId: getWpcomV2SitesbyWpcomSiteWoocommerceActiveTheme summary: GET /wpcom/v2/sites/{wpcom_site}/woocommerce/active-theme tags: - woocommerce 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}/woocommerce/payment-methods: get: operationId: getWpcomV2SitesbyWpcomSiteWoocommercePaymentMethods summary: GET /wpcom/v2/sites/{wpcom_site}/woocommerce/payment-methods tags: - woocommerce 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}/woocommerce/store-api/checkout: post: operationId: postWpcomV2SitesbyWpcomSiteWoocommerceStoreApiCheckout summary: POST /wpcom/v2/sites/{wpcom_site}/woocommerce/store-api/checkout tags: - woocommerce 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: payment_method_id: type: string description: Card id or other payment method id to pass on to Stripe / Woo. This corresponds to Stripe ID with the sources API https://stripe.com/docs/api/sources. payment_method: type: string description: Payment method associated with the payment_method_id. `stripe` or `bd-credit-card`. Defaults to `stripe` product_id: type: string description: Placeholder product_id representing subscription to a product. For now, use 27. first_name: type: string description: First name attached to the card. last_name: type: string description: Last name attached to the card. address_1: type: string description: First line of the billing address. address_2: type: string description: Second line of the billing address. company: type: string description: Company name of the billing address. city: type: string description: City name of the billing address. state: type: string description: State name of the billing address. postcode: type: string description: Postal code of the billing address. country: type: string description: Country name of the billing address. max_amount: type: string description: Amount to authorized against, in cents. This is not enforced yet. external_resource_id: type: string description: External resource id to create ad campaign for BlazePress. storefront: type: string description: Storefront running the checkout. required: - payment_method_id - product_id /wpcom/v2/woocommerce/countries/regions: get: operationId: getWpcomV2WoocommerceCountriesRegions summary: GET /wpcom/v2/woocommerce/countries/regions tags: - woocommerce 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' /wpcom/v2/woocommerce/stripe/remote-config: get: operationId: getWpcomV2WoocommerceStripeRemoteConfig summary: GET /wpcom/v2/woocommerce/stripe/remote-config tags: - woocommerce 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: mode in: query required: false schema: type: string description: Plugin mode (e.g. live, test). - name: plugin_version in: query required: false schema: type: string description: Plugin version installed on the merchant site. components: schemas: WPRestError: type: object description: WordPress REST API error envelope (observed on public-api.wordpress.com). properties: code: type: string example: rest_unauthorized message: type: string example: Authentication required. data: type: object properties: status: type: integer example: 401 securitySchemes: oauth2: type: oauth2 description: WordPress.com OAuth 2.1, per https://public-api.wordpress.com/.well-known/openid-configuration flows: authorizationCode: authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize tokenUrl: https://public-api.wordpress.com/oauth2-1/token refreshUrl: https://public-api.wordpress.com/oauth2-1/token scopes: global: '' auth: '' openid: '' profile: '' email: '' users: '' sites: '' posts: '' comments: '' taxonomy: '' follow: '' sharing: '' freshly-pressed: '' notifications: '' insights: '' read: '' stats: '' media: '' menus: '' batch: '' videos: '' bearerAuth: type: http scheme: bearer