openapi: 3.1.0 info: title: Ascend Advanced Therapies Content API (WordPress REST) Careers Search API version: wp/v2 summary: Public read surface of the Ascend Advanced Therapies corporate site content API. description: Ascend Advanced Therapies publishes its corporate website (ascend-adv.com) on WordPress with the core WordPress REST API enabled and anonymously readable. This specification was DERIVED by discovering the live route index at https://www.ascend-adv.com/wp-json/ and probing each route for anonymous access; only routes verified to return HTTP 200 without credentials are documented here as public operations. The surface exposes the company's News & Insights posts, site pages, media library, taxonomy (categories and tags), site search, content-type and taxonomy metadata, and the `awsm_job_openings` custom post type that backs the Careers listings. Write operations exist on the same routes but require authentication (WordPress Application Passwords) and are not documented here. This is not a product API offered by Ascend to customers; it is the content API of their marketing site, captured for discovery purposes. contact: name: Ascend Advanced Therapies url: https://www.ascend-adv.com/contact-us/ email: hello@www.ascend-adv.com x-apis-io-provenance: method: derived source: https://www.ascend-adv.com/wp-json/ derived_on: '2026-07-19' note: Routes enumerated from the live wp-json discovery document (328 routes across 12 namespaces); each operation below was probed anonymously and returned 200. Schemas reflect fields observed in live responses. No fabricated operations. servers: - url: https://www.ascend-adv.com/wp-json description: Production tags: - name: Search description: Cross-content site search. paths: /wp/v2/search: get: tags: - Search operationId: searchContent summary: Search site content description: Cross-content-type search returning lightweight result stubs. parameters: - name: search in: query required: true description: The search term. schema: type: string - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/perPage' - name: type in: query description: Limit results to a search object type. schema: type: string enum: - post - term - post-format responses: '200': description: Search results headers: X-WP-Total: $ref: '#/components/headers/XWPTotal' X-WP-TotalPages: $ref: '#/components/headers/XWPTotalPages' content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' '400': $ref: '#/components/responses/InvalidParam' components: parameters: page: name: page in: query description: Current page of the collection. schema: type: integer minimum: 1 default: 1 perPage: name: per_page in: query description: Maximum number of items to return per page. schema: type: integer minimum: 1 maximum: 100 default: 10 schemas: Error: type: object description: The WordPress REST error envelope. Not RFC 9457 problem+json; errors are returned as application/json with a machine-readable `code`, a human `message`, and a `data` object carrying the HTTP status and any per-parameter validation details. required: - code - message - data properties: code: type: string description: Machine-readable error code. examples: - rest_no_route - rest_post_invalid_id - rest_invalid_param - rest_forbidden message: type: string description: Human-readable error message. data: type: object properties: status: type: integer params: type: object additionalProperties: type: string details: type: object SearchResult: type: object properties: id: type: integer title: type: string url: type: string format: uri type: type: string subtype: type: string _links: type: object headers: XWPTotalPages: description: Total number of pages available at the current per_page size. schema: type: integer example: 55 XWPTotal: description: Total number of items in the unpaginated collection. schema: type: integer example: 55 responses: InvalidParam: description: One or more query parameters failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_invalid_param message: 'Invalid parameter(s): per_page' data: status: 400 params: per_page: per_page must be between 1 (inclusive) and 100 (inclusive) securitySchemes: applicationPassword: type: http scheme: basic description: WordPress Application Passwords. Advertised by the API index at `authentication.application-passwords`, authorized at https://www.ascend-adv.com/wp-admin/authorize-application.php. Required only for write operations and for privileged reads (for example /wp/v2/settings, which returns 401 anonymously). All operations documented in this specification are anonymously readable.