openapi: 3.2.0 info: title: NiKang Therapeutics Oembed o Embed API version: wp/v2 summary: oEmbed 1.0 provider endpoint for www.nikangtx.com URLs. description: The read-only content surface NiKang Therapeutics exposes at https://www.nikangtx.com/wp-json. contact: name: NiKang Therapeutics url: https://www.nikangtx.com/ email: info@nikangtx.com license: name: All rights reserved — content is NiKang Therapeutics'; this description is an API Evangelist derivation. url: https://www.nikangtx.com/terms-of-use/ termsOfService: https://www.nikangtx.com/terms-of-use/ x-api-evangelist-provenance: 'Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index at https://www.nikangtx.com/wp-json/ (210 routes across 17 namespaces) and verified against live anonymous responses on 2026-08-26. Every query parameter below appears verbatim in that route index''s `args` block for the endpoint it is attached to, and every collection count quoted in a description was read from the `X-WP-Total` response header on that date. NiKang Therapeutics publishes no OpenAPI, no developer portal, no API reference and no developer program; the humanURL in apis.yml points at the upstream WordPress REST handbook that defines the wp/v2 contract. The deployment is WP Engine behind Cloudflare, the theme is The7, and every /wp-json response carries `x-robots-tag: noindex`. Routes that returned 401 anonymously (/wp/v2/users, /wp/v2/settings, /wp/v2/block-types, wp-abilities/v1, wp-site-health/v1) and every write method are deliberately excluded. Nothing here was obtained with credentials.' servers: - url: https://www.nikangtx.com/wp-json description: Production content API (WP Engine origin behind Cloudflare) tags: - name: o Embed description: oEmbed 1.0 provider. paths: /oembed/1.0/embed: get: tags: - o Embed operationId: getOembed summary: Get oEmbed data for a site URL description: Returns an oEmbed 1.0 response for any URL on www.nikangtx.com. Verified anonymously on 2026-08-26. parameters: - name: url in: query required: true description: The URL of the resource for which to fetch oEmbed data. schema: type: string format: uri - name: format in: query description: Response format. schema: type: string enum: - json - xml default: json - name: maxwidth in: query description: Maximum embed width. schema: type: integer default: 600 responses: '200': description: oEmbed 1.0 response. content: application/json: schema: $ref: '#/components/schemas/Oembed' '404': description: No route matched, or the resource id does not exist (rest_no_route / rest_post_invalid_id). content: application/json: schema: $ref: '#/components/schemas/Error' /oembed/1.0/proxy: get: tags: - o Embed operationId: proxyOembed summary: Proxy an oEmbed request to a remote provider description: Registered on this deployment but 401-gated anonymously — it requires an authenticated user with edit capability. Catalogued for completeness; it is not part of the anonymous surface. parameters: - name: url in: query required: true schema: type: string format: uri - name: format in: query schema: type: string default: json - name: maxwidth in: query schema: type: integer - name: maxheight in: query schema: type: integer responses: '401': description: rest_forbidden — authentication required. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Oembed: type: object properties: version: type: string enum: - '1.0' provider_name: type: string provider_url: type: string format: uri title: type: string type: type: string width: type: integer height: type: integer html: type: string author_name: type: string author_url: type: string format: uri thumbnail_url: type: string format: uri Error: type: object description: WordPress REST error envelope. Not RFC 9457 problem+json — there is no `type` URI and the media type is application/json. properties: code: type: string description: Machine-readable error code, e.g. rest_invalid_param, rest_post_invalid_id, rest_no_route, rest_forbidden. message: type: string description: Human-readable message. data: type: object properties: status: type: integer description: HTTP status code, repeated in the body. params: type: object additionalProperties: type: string description: Per-parameter validation messages (400 only). details: type: object description: Per-parameter structured detail with its own code/message (400 only). required: - code - message - data