A2 Biotherapeutics Wp/v2 API

WordPress core content API (posts, pages, media, taxonomies, users, settings).

OpenAPI Specification

a2-biotherapeutics-wp-v2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: A2 Biotherapeutics WordPress REST Wp/v2 API
  version: wp/v2
  summary: The live WordPress REST API served by the A2 Biotherapeutics corporate website.
  description: 'Derived verbatim from the route-discovery document the A2 Biotherapeutics web server publishes at https://www.a2bio.com/wp-json/ (fetched 2026-08-02, HTTP 200). Every path, method, parameter name, type, default and enum in this document was read from that live response; nothing was invented.


    This is the content-management API of the corporate marketing site, not a therapeutic, clinical or research product API. A2 Biotherapeutics is a clinical-stage cell-therapy company and publishes no developer product API. The surface is included because it is a real, live, self-describing HTTP contract on the provider''s own host, and because the same WordPress install also exposes two Model Context Protocol servers under the `mcp` namespace (see mcp/a2-biotherapeutics-mcp.yml).


    Only the WordPress core namespaces are represented (`wp/v2`, `wp-abilities/v1`, `mcp`, `oembed/1.0`). Third-party plugin namespaces advertised by the same discovery document (yoast/v1, cky/v1, redirection/v1, wordfence/v1, wp-rocket/v1, userway/v1, smart-slider-3/v1, ajaxselect2/v1, duplicate-post/v1, wp-site-health/v1, wp-block-editor/v1) are intentionally excluded as vendor plugin internals.'
  x-derived-from: https://www.a2bio.com/wp-json/
  x-derived-on: '2026-08-02'
  x-apievangelist-method: derived
servers:
- url: https://www.a2bio.com
  description: Production
tags:
- name: wp/v2
  description: WordPress core content API (posts, pages, media, taxonomies, users, settings).
paths:
  /wp-json/wp/v2:
    get:
      operationId: getWpV2
      summary: GET /wp/v2
      description: WordPress REST API route `/wp/v2` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: namespace
        in: query
        schema:
          default: wp/v2
      - name: context
        in: query
        schema:
          default: view
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-directory/search:
    get:
      operationId: getWpV2BlockDirectorySearch
      summary: GET /wp/v2/block-directory/search
      description: WordPress REST API route `/wp/v2/block-directory/search` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        schema:
          type: integer
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        schema:
          type: integer
          default: 10
        description: Maximum number of items to be returned in result set.
      - name: term
        in: query
        schema:
          type: string
        required: true
        description: Limit result set to blocks matching the search term.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-patterns/categories:
    get:
      operationId: getWpV2BlockPatternsCategories
      summary: GET /wp/v2/block-patterns/categories
      description: WordPress REST API route `/wp/v2/block-patterns/categories` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-patterns/patterns:
    get:
      operationId: getWpV2BlockPatternsPatterns
      summary: GET /wp/v2/block-patterns/patterns
      description: WordPress REST API route `/wp/v2/block-patterns/patterns` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-renderer/{name}:
    parameters:
    - name: name
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getWpV2BlockRendererByName
      summary: GET /wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)
      description: WordPress REST API route `/wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: attributes
        in: query
        schema:
          type: object
          default: []
        description: Attributes for the block.
      - name: post_id
        in: query
        schema:
          type: integer
        description: ID of the post context.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: postWpV2BlockRendererByName
      summary: POST /wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)
      description: WordPress REST API route `/wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                context:
                  type: string
                  enum:
                  - edit
                  default: view
                  description: Scope under which the request is made; determines fields present in response.
                attributes:
                  type: object
                  default: []
                  description: Attributes for the block.
                post_id:
                  type: integer
                  description: ID of the post context.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-types:
    get:
      operationId: getWpV2BlockTypes
      summary: GET /wp/v2/block-types
      description: WordPress REST API route `/wp/v2/block-types` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: namespace
        in: query
        schema:
          type: string
        description: Block namespace.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-types/{namespace}:
    parameters:
    - name: namespace
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getWpV2BlockTypesByNamespace
      summary: GET /wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)
      description: WordPress REST API route `/wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/block-types/{namespace}/{name}:
    parameters:
    - name: namespace
      in: path
      required: true
      schema:
        type: string
    - name: name
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getWpV2BlockTypesByNamespaceByName
      summary: GET /wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)/(?P<name>[a-zA-Z0-9_-]+)
      description: WordPress REST API route `/wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)/(?P<name>[a-zA-Z0-9_-]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/blocks:
    get:
      operationId: getWpV2Blocks
      summary: GET /wp/v2/blocks
      description: WordPress REST API route `/wp/v2/blocks` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        schema:
          type: integer
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        schema:
          type: integer
          default: 10
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: after
        in: query
        schema:
          type: string
          format: date-time
        description: Limit response to posts published after a given ISO8601 compliant date.
      - name: modified_after
        in: query
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified after a given ISO8601 compliant date.
      - name: before
        in: query
        schema:
          type: string
          format: date-time
        description: Limit response to posts published before a given ISO8601 compliant date.
      - name: modified_before
        in: query
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified before a given ISO8601 compliant date.
      - name: exclude
        in: query
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to specific IDs.
      - name: search_semantics
        in: query
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - name: offset
        in: query
        schema:
          type: integer
        description: Offset the result set by a specific number of items.
      - name: order
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
        description: Order sort attribute ascending or descending.
      - name: orderby
        in: query
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
        description: Sort collection by post attribute.
      - name: search_columns
        in: query
        schema:
          type: array
          default: []
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
        description: Array of column names to be searched.
      - name: slug
        in: query
        schema:
          type: array
          items:
            type: string
        description: Limit result set to posts with one or more specific slugs.
      - name: status
        in: query
        schema:
          type: array
          default: publish
          items:
            type: string
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - dp-rewrite-republish
            - any
        description: Limit result set to posts assigned one or more statuses.
      - name: tax_relation
        in: query
        schema:
          type: string
          enum:
          - AND
          - OR
        description: Limit result set based on relationship between multiple taxonomies.
      - name: wp_pattern_category
        in: query
        schema:
          type: object
        description: Limit result set to items with specific terms assigned in the wp_pattern_category taxonomy.
      - name: wp_pattern_category_exclude
        in: query
        schema:
          type: object
        description: Limit result set to items except those with specific terms assigned in the wp_pattern_category taxonomy.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: postWpV2Blocks
      summary: POST /wp/v2/blocks
      description: WordPress REST API route `/wp/v2/blocks` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type: string
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type: string
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum:
                  - publish
                  - future
                  - draft
                  - pending
                  - private
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                wp_pattern_category:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the wp_pattern_category taxonomy.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/blocks/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getWpV2BlocksById
      summary: GET /wp/v2/blocks/(?P<id>[\d]+)
      description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: excerpt_length
        in: query
        schema:
          type: integer
        description: Override the default excerpt length.
      - name: password
        in: query
        schema:
          type: string
        description: The password for the post if it is password protected.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: postWpV2BlocksById
      summary: POST /wp/v2/blocks/(?P<id>[\d]+)
      description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type: string
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type: string
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum:
                  - publish
                  - future
                  - draft
                  - pending
                  - private
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                wp_pattern_category:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the wp_pattern_category taxonomy.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    put:
      operationId: putWpV2BlocksById
      summary: PUT /wp/v2/blocks/(?P<id>[\d]+)
      description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type: string
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type: string
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum:
                  - publish
                  - future
                  - draft
                  - pending
                  - private
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                wp_pattern_category:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the wp_pattern_category taxonomy.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    patch:
      operationId: patchWpV2BlocksById
      summary: PATCH /wp/v2/blocks/(?P<id>[\d]+)
      description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type: string
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type: string
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum:
                  - publish
                  - future
                  - draft
                  - pending
                  - private
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                wp_pattern_category:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the wp_pattern_category taxonomy.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    delete:
      operationId: deleteWpV2BlocksById
      summary: DELETE /wp/v2/blocks/(?P<id>[\d]+)
      description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: force
        in: query
        schema:
          type: boolean
          default: false
        description: Whether to bypass Trash and force deletion.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required or capability missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-json/wp/v2/blocks/{id}/autosaves:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: getWpV2BlocksByIdAutosaves
      summary: GET /wp/v2/blocks/(?P<id>[\d]+)/autosaves
      description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)/autosaves` in namespace `wp/v2`, as advertised by the live route-discovery document at https://www.a2bio.com/wp-json/.
      tags:
      - wp/v2
      parameters:
      - name: parent
        in: query
        schema:
          type: integer
        description: The ID for the parent of the autosave.
      - name: context
        in: query
        sche

# --- truncated at 32 KB (534 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/a2-biotherapeutics/refs/heads/main/openapi/a2-biotherapeutics-wp-v2-api-openapi.yml