Yoast Subscription Provisioning API

Create, read and manage provisioned Yoast subscriptions

Operations 6

POST /api/provisioning/subscriptions/create Create a subscription #
GET /api/provisioning/subscriptions/{id} Get a subscription #
POST /api/provisioning/subscriptions/{id}/renew Renew a subscription #
POST /api/provisioning/subscriptions/{id}/cancel Cancel a single subscription #
POST /api/provisioning/subscriptions/{id}/refund Refund a single subscription #
POST /api/provisioning/subscriptions/{id}/set-site Link a subscription to a site #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/yoast-subscription-provisioning-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

yoast-subscription-provisioning-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MyYoast Provisioning Subscription Provisioning API
  description: 'The MyYoast Provisioning API (also called the Subscription API) lets an approved Yoast provisioning partner create, read, renew, cancel, refund and site-link Yoast product subscriptions on behalf of their customers, retrieve the current plugin version and download URLs for a product code, schedule a GDPR delete for a customer, and rotate their own provisioner Basic Auth password. It is a partner API: credentials are issued by Yoast to provisioners only.'
  version: 1.0.0
  contact:
    name: Yoast Developer Portal
    url: https://developer.yoast.com/customization/myyoast/apis/subscription-api/
  x-api-evangelist-provenance:
    method: derived
    source: https://github.com/Yoast/subscription-api-php-client
    note: Derived verbatim from Yoast's own first-party swagger-codegen client (github.com/Yoast/subscription-api-php-client, "The Yoast provisioning API", API version 1.0.0). Paths, HTTP methods, operation ids, parameter names and locations, model property names and types, and the Basic Auth scheme were all read out of that generated client's src/Api/*.php and src/Model/*.php plus its docs/. Descriptions are quoted from the same generated docs. Yoast's own interactive Swagger document at https://my.yoast.com/provisioning-api/ requires provisioner credentials, so nothing here was invented to fill a gap.
    fetched: '2026-08-13'
servers:
- url: https://my.yoast.com
  description: MyYoast production (host taken verbatim from Configuration.php $host)
tags:
- name: Subscription Provisioning
  description: Create, read and manage provisioned Yoast subscriptions
paths:
  /api/provisioning/subscriptions/create:
    post:
      operationId: subscriptionProvisioningControllerCreate
      summary: Create a subscription
      description: Creates a subscription for a customer.
      tags:
      - Subscription Provisioning
      security:
      - basic: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProvisionedSubscriptionDto'
      responses:
        '200':
          description: The provisioned subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionProvisioningResponseDto'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/provisioning/subscriptions/{id}:
    get:
      operationId: subscriptionProvisioningControllerGetOne
      summary: Get a subscription
      description: Get a single subscription that was provisioned for a third party.
      tags:
      - Subscription Provisioning
      security:
      - basic: []
      parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      responses:
        '200':
          description: The provisioned subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionProvisioningResponseDto'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/provisioning/subscriptions/{id}/renew:
    post:
      operationId: subscriptionProvisioningControllerRenewSubscription
      summary: Renew a subscription
      description: Renew the subscription for a new period.
      tags:
      - Subscription Provisioning
      security:
      - basic: []
      parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      responses:
        '200':
          description: The renewed subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionProvisioningResponseDto'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/provisioning/subscriptions/{id}/cancel:
    post:
      operationId: subscriptionProvisioningControllerCancelSubscription
      summary: Cancel a single subscription
      description: Cancel the subscription when the period ends, or immediately if that is requested, or the subscription is not valid.
      tags:
      - Subscription Provisioning
      security:
      - basic: []
      parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelProvisionedSubscriptionDto'
      responses:
        '200':
          description: The cancelled subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionProvisioningResponseDto'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/provisioning/subscriptions/{id}/refund:
    post:
      operationId: subscriptionProvisioningControllerRefundSubscription
      summary: Refund a single subscription
      description: Refund the subscription.
      tags:
      - Subscription Provisioning
      security:
      - basic: []
      parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      responses:
        '200':
          description: The refunded subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionProvisioningResponseDto'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/provisioning/subscriptions/{id}/set-site:
    post:
      operationId: subscriptionProvisioningControllerSetSiteForSubscription
      summary: Link a subscription to a site
      description: Links the subscription to a customer's website. Setting a site on the subscription will remove the site if already set.
      tags:
      - Subscription Provisioning
      security:
      - basic: []
      parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetProvisionedSiteDto'
      responses:
        '200':
          description: The subscription with its site set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionProvisioningResponseDto'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CreateProvisionedSubscriptionDto:
      type: object
      description: Payload used to create a subscription for a customer
      properties:
        customerEmail:
          type: string
          format: email
        productCode:
          type: string
        site:
          type: string
        firstName:
          type: string
        lastName:
          type: string
    SubscriptionProvisioningResponseDto:
      type: object
      description: A provisioned Yoast subscription
      properties:
        iD:
          type: string
        subscriptionNumber:
          type: string
        status:
          type: string
        startDate:
          type: integer
          description: Unix timestamp
        endDate:
          type: integer
          description: Unix timestamp
        pluginDownloadUrls:
          type: array
          items:
            type: string
        siteUrl:
          type: string
    SetProvisionedSiteDto:
      type: object
      description: The site to link the subscription to
      properties:
        site:
          type: string
    CancelProvisionedSubscriptionDto:
      type: object
      description: Cancellation options
      properties:
        immediately:
          type: boolean
          description: Cancel now instead of at the end of the current period
  responses:
    Unauthorized:
      description: Missing or invalid provisioner Basic Auth credentials
    NotFound:
      description: No subscription found for the supplied id
  parameters:
    SubscriptionId:
      name: id
      in: path
      required: true
      description: The provisioned subscription identifier
      schema:
        type: string
  securitySchemes:
    basic:
      type: http
      scheme: basic
      description: HTTP Basic authentication with provisioner credentials issued by Yoast. The password can be rotated with POST /api/provisioning/account/regenerate-token.