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.