Abcuro Content API (WordPress REST)

The public, anonymously readable WordPress REST API serving abcuro.com. It exposes the corporate content graph as JSON — press releases (posts), site pages, media assets, categories, and four Abcuro-specific custom post types: abcuro_people (leadership, team, board), abcuro_investors, abcuro_pubs (scientific publications) and abcuro_jobs (careers). Also exposes site-wide search, content types, taxonomies, statuses, and oEmbed. Read operations require no authentication; write operations require WordPress cookie/nonce or application-password authentication and are not available to the public. This is a corporate website content API, not a commercial product API.

Documentation

Specifications

Other Resources

OpenAPI Specification

abcuro-content-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Abcuro Content API (WordPress REST)
  version: 2.0.0
  summary: Public read-only content API behind abcuro.com, the corporate site of clinical-stage biotech Abcuro.
  description: 'The public, anonymously readable WordPress REST API serving abcuro.com — the corporate site of Abcuro,
    a clinical-stage biotechnology company developing ulviprubart (ABC008), a KLRG1-targeting monoclonal antibody
    for inclusion body myositis, T-LGLL and mature T and NK cell lymphomas.


    This document was DERIVED by API Evangelist from the live route discovery document at https://abcuro.com/wp-json/
    (fetched 2026-08-02) plus observed response shapes. It is not published by Abcuro and is not an official contract.
    Only the GET surface that answers anonymously is modelled. The live route index also registers POST/PUT/PATCH/DELETE
    on most collections plus the redirection/v1, yoast/v1, genesis/v1, pum/v1, wp-site-health/v1 and wp-block-editor/v1
    plugin namespaces; all of those require WordPress cookie+nonce or application-password authentication and are
    deliberately not modelled here.


    Abcuro publishes no developer portal, no SDKs, no changelog and no product API. This is a corporate website
    content API, catalogued because it is the only machine-readable surface the company exposes.'
  contact:
    name: Abcuro General Inquiries
    email: corporate.contact@abcuro.com
    url: https://abcuro.com/contact/
  license:
    name: Abcuro Terms of Use
    url: https://abcuro.com/terms-of-use/
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-from: https://abcuro.com/wp-json/
  x-derived-on: '2026-08-02'
  x-official: false
  x-upstream-reference: https://developer.wordpress.org/rest-api/
servers:
- url: https://abcuro.com/wp-json
  description: Production — abcuro.com WordPress REST API
tags:
- name: Press Releases
  description: Abcuro corporate and clinical press releases.
- name: Pages
  description: Static site pages.
- name: Media
  description: Media library assets including clinical presentation PDFs.
- name: Taxonomy
  description: Categories, tags and the person_role taxonomy.
- name: People
  description: Leadership, team and board-of-directors records.
- name: Investors
  description: Investor records.
- name: Publications
  description: Scientific publications.
- name: Careers
  description: Job postings.
- name: Comments
  description: Comment records.
- name: Users
  description: Site author accounts.
- name: Discovery
  description: Route, type, taxonomy, status and oEmbed discovery.
- name: Search
  description: Cross-type site search.
security:
- {}
paths:
  /wp/v2/posts:
    get:
      operationId: listPosts
      summary: List posts
      description: Press releases published by Abcuro. The site uses the WordPress core post type for its News feed.
      tags:
      - Press Releases
      security:
      - {}
      parameters:
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: page
        in: query
        required: false
        description: Current page of the collection.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: per_page
        in: query
        required: false
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
      - name: search
        in: query
        required: false
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: after
        in: query
        required: false
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_after
        in: query
        required: false
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: author
        in: query
        required: false
        description: Limit result set to posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: author_exclude
        in: query
        required: false
        description: Ensure result set excludes posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: before
        in: query
        required: false
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        required: false
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: exclude
        in: query
        required: false
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: include
        in: query
        required: false
        description: Limit result set to specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: offset
        in: query
        required: false
        description: Offset the result set by a specific number of items.
        schema:
          type: integer
      - name: order
        in: query
        required: false
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: orderby
        in: query
        required: false
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          - menu_order
          default: date
      - name: slug
        in: query
        required: false
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        required: false
        description: Limit result set to posts assigned one or more statuses.
        schema:
          type: array
          default: publish
          items:
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - acf-disabled
            - dp-rewrite-republish
            - any
            type: string
      - name: tax_relation
        in: query
        required: false
        description: Limit result set based on relationship between multiple taxonomies.
        schema:
          type: string
          enum:
          - AND
          - OR
      - name: categories
        in: query
        required: false
        description: Limit result set to items with specific terms assigned in the categories taxonomy.
        schema:
          type: object
      - name: categories_exclude
        in: query
        required: false
        description: Limit result set to items except those with specific terms assigned in the categories taxonomy.
        schema:
          type: object
      - name: tags
        in: query
        required: false
        description: Limit result set to items with specific terms assigned in the tags taxonomy.
        schema:
          type: object
      - name: tags_exclude
        in: query
        required: false
        description: Limit result set to items except those with specific terms assigned in the tags taxonomy.
        schema:
          type: object
      - name: sticky
        in: query
        required: false
        description: Limit result set to items that are sticky.
        schema:
          type: boolean
      - name: _fields
        in: query
        required: false
        description: Comma-separated list of fields to include in the response (sparse fieldsets).
        schema:
          type: string
      - name: _embed
        in: query
        required: false
        description: Embed linked resources (author, featured media, terms) inline under _embedded.
        schema:
          type: string
      responses:
        '200':
          description: A paginated collection of press release records.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Post'
          headers:
            X-WP-Total:
              description: Total number of items in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
            Link:
              description: RFC 8288 pagination links (rel="next" / rel="prev").
              schema:
                type: string
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — cookie nonce invalid or capability missing (rest_cookie_invalid_nonce).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/posts/{id}:
    get:
      operationId: getPost
      summary: Get a single press release
      description: Retrieve one press release record by its numeric identifier.
      tags:
      - Press Releases
      security:
      - {}
      parameters:
      - name: id
        in: path
        required: true
        description: Unique numeric identifier for the press release.
        schema:
          type: integer
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: password
        in: query
        required: false
        description: The password for the post if it is password protected.
        schema:
          type: string
      - name: _fields
        in: query
        required: false
        description: Comma-separated list of fields to include in the response (sparse fieldsets).
        schema:
          type: string
      - name: _embed
        in: query
        required: false
        description: Embed linked resources (author, featured media, terms) inline under _embedded.
        schema:
          type: string
      responses:
        '200':
          description: The requested press release record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Post'
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — cookie nonce invalid or capability missing (rest_cookie_invalid_nonce).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No resource exists with that identifier (rest_post_invalid_id / rest_term_invalid / rest_no_route).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/pages:
    get:
      operationId: listPages
      summary: List pages
      description: 'Static site pages: about, leadership, team, board, investors, science, pipeline, clinical trials,
        careers, contact and legal.'
      tags:
      - Pages
      security:
      - {}
      parameters:
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: page
        in: query
        required: false
        description: Current page of the collection.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: per_page
        in: query
        required: false
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
      - name: search
        in: query
        required: false
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: after
        in: query
        required: false
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_after
        in: query
        required: false
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: author
        in: query
        required: false
        description: Limit result set to posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: author_exclude
        in: query
        required: false
        description: Ensure result set excludes posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: before
        in: query
        required: false
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        required: false
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: exclude
        in: query
        required: false
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: include
        in: query
        required: false
        description: Limit result set to specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: menu_order
        in: query
        required: false
        description: Limit result set to posts with a specific menu_order value.
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        description: Offset the result set by a specific number of items.
        schema:
          type: integer
      - name: order
        in: query
        required: false
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: orderby
        in: query
        required: false
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          - menu_order
          - menu_order
          default: date
      - name: parent
        in: query
        required: false
        description: Limit result set to items with particular parent IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: parent_exclude
        in: query
        required: false
        description: Limit result set to all items except those of a particular parent ID.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: slug
        in: query
        required: false
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        required: false
        description: Limit result set to posts assigned one or more statuses.
        schema:
          type: array
          default: publish
          items:
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - acf-disabled
            - dp-rewrite-republish
            - any
            type: string
      - name: _fields
        in: query
        required: false
        description: Comma-separated list of fields to include in the response (sparse fieldsets).
        schema:
          type: string
      - name: _embed
        in: query
        required: false
        description: Embed linked resources (author, featured media, terms) inline under _embedded.
        schema:
          type: string
      responses:
        '200':
          description: A paginated collection of page records.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Page'
          headers:
            X-WP-Total:
              description: Total number of items in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
            Link:
              description: RFC 8288 pagination links (rel="next" / rel="prev").
              schema:
                type: string
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — cookie nonce invalid or capability missing (rest_cookie_invalid_nonce).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/pages/{id}:
    get:
      operationId: getPage
      summary: Get a single page
      description: Retrieve one page record by its numeric identifier.
      tags:
      - Pages
      security:
      - {}
      parameters:
      - name: id
        in: path
        required: true
        description: Unique numeric identifier for the page.
        schema:
          type: integer
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: password
        in: query
        required: false
        description: The password for the post if it is password protected.
        schema:
          type: string
      - name: _fields
        in: query
        required: false
        description: Comma-separated list of fields to include in the response (sparse fieldsets).
        schema:
          type: string
      - name: _embed
        in: query
        required: false
        description: Embed linked resources (author, featured media, terms) inline under _embedded.
        schema:
          type: string
      responses:
        '200':
          description: The requested page record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — cookie nonce invalid or capability missing (rest_cookie_invalid_nonce).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No resource exists with that identifier (rest_post_invalid_id / rest_term_invalid / rest_no_route).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/media:
    get:
      operationId: listMediaItems
      summary: List media
      description: 'Media library assets: images, the ulviprubart infographic, investor logos, and PDF documents
        including presented MUSCLE trial data.'
      tags:
      - Media
      security:
      - {}
      parameters:
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: page
        in: query
        required: false
        description: Current page of the collection.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: per_page
        in: query
        required: false
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
      - name: search
        in: query
        required: false
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: after
        in: query
        required: false
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_after
        in: query
        required: false
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: author
        in: query
        required: false
        description: Limit result set to posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: author_exclude
        in: query
        required: false
        description: Ensure result set excludes posts assigned to specific authors.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: before
        in: query
        required: false
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        required: false
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: exclude
        in: query
        required: false
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: include
        in: query
        required: false
        description: Limit result set to specific IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: offset
        in: query
        required: false
        description: Offset the result set by a specific number of items.
        schema:
          type: integer
      - name: order
        in: query
        required: false
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: orderby
        in: query
        required: false
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
      - name: parent
        in: query
        required: false
        description: Limit result set to items with particular parent IDs.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: parent_exclude
        in: query
        required: false
        description: Limit result set to all items except those of a particular parent ID.
        schema:
          type: array
          default: []
          items:
            type: integer
      - name: slug
        in: query
        required: false
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        required: false
        description: Limit result set to posts assigned one or more statuses.
        schema:
          type: array
          default: inherit
          items:
            enum:
            - inherit
            - private
            - trash
            type: string
      - name: media_type
        in: query
        required: false
        description: Limit result set to attachments of a particular media type.
        schema:
          type: string
          enum:
          - image
          - video
          - text
          - application
          - audio
      - name: mime_type
        in: query
        required: false
        description: Limit result set to attachments of a particular MIME type.
        schema:
          type: string
      - name: _fields
        in: query
        required: false
        description: Comma-separated list of fields to include in the response (sparse fieldsets).
        schema:
          type: string
      - name: _embed
        in: query
        required: false
        description: Embed linked resources (author, featured media, terms) inline under _embedded.
        schema:
          type: string
      responses:
        '200':
          description: A paginated collection of media item records.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MediaItem'
          headers:
            X-WP-Total:
              description: Total number of items in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available.
              schema:
                type: integer
            Link:
              description: RFC 8288 pagination links (rel="next" / rel="prev").
              schema:
                type: string
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — cookie nonce invalid or capability missing (rest_cookie_invalid_nonce).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/media/{id}:
    get:
      operationId: getMediaItem
      summary: Get a single media item
      description: Retrieve one media item record by its numeric identifier.
      tags:
      - Media
      security:
      - {}
      parameters:
      - name: id
        in: path
        required: true
        description: Unique numeric identifier for the media item.
        schema:
          type: integer
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: _fields
        in: query
        required: false
        description: Comma-separated list of fields to include in the response (sparse fieldsets).
        schema:
          type: string
      - name: _embed
        in: query
        required: false
        description: Embed linked resources (author, featured media, terms) inline under _embedded.
        schema:
          type: string
      responses:
        '200':
          description: The requested media item record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — cookie nonce invalid or capability missing (rest_cookie_invalid_nonce).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No resource exists with that identifier (rest_post_invalid_id / rest_term_invalid / rest_no_route).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /wp/v2/categories:
    get:
      operationId: listCategories
      summary: List categories
      description: Categories applied to press releases.
      tags:
      - Taxonomy
      security:
      - {}
      parameters:
      - name: context
        in: query
        required: false
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: page
        in: query
        required: false
        description: Current page of the collection.
       

# --- truncated at 32 KB (153 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/abcuro/refs/heads/main/openapi/abcuro-content-openapi.yml
Where this information came from

This is an independent, third-party profile of Abcuro Content API (WordPress REST), 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.