openapi: 3.1.0 info: title: Harbinger Motors Search API version: wp/v2 description: Cross-content-type keyword search over everything published on harbingermotors.com — posts, pages and events in one result set, each row reduced to id, title, url, type and subtype. Verified live on 2026-08-22 (`search=chassis` returned X-WP-Total 52). Anonymous access is read-only. contact: name: Harbinger Motors url: https://harbingermotors.com/contact/ x-derived-from: https://harbingermotors.com/wp-json/ route index + per-route HTTP OPTIONS schema documents x-derived-on: '2026-08-22' x-api-evangelist-note: Third-party profile. Harbinger Motors publishes no developer program, no API documentation and no developer portal; this documents the anonymously readable WordPress REST content API behind harbingermotors.com. Every path, parameter and schema here was read from the server's own published route index and HTTP OPTIONS schema documents on 2026-08-22 — nothing is invented. servers: - url: https://harbingermotors.com/wp-json description: Harbinger Motors WordPress REST API tags: - name: Search description: Cross-type site search. paths: /wp/v2/search: get: operationId: search summary: Search the site description: Search across every searchable post type on harbingermotors.com and return lightweight result rows. tags: - Search parameters: - name: context in: query description: Scope under which the request is made; determines fields present in response. schema: type: string enum: - view - embed default: view - name: page in: query description: Current page of the collection. schema: type: integer default: 1 minimum: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. schema: type: integer default: 10 minimum: 1 maximum: 100 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: type in: query description: Limit results to items of an object type. schema: default: post type: string enum: - post - term - post-format - name: subtype in: query description: Limit results to items of one or more object subtypes. style: form explode: false schema: default: any type: array items: enum: - post - page - event - category - post_tag - any type: string - name: exclude in: query description: Ensure result set excludes specific IDs. style: form explode: false schema: type: array items: type: integer default: [] - name: include in: query description: Limit result set to specific IDs. style: form explode: false schema: type: array items: type: integer default: [] - name: _fields in: query description: Comma-separated allowlist of top-level response fields (sparse fieldset). WordPress core parameter, present on every route. schema: type: string - name: _embed in: query description: Inline embeddable linked resources (author, featured media, terms) under _embedded. schema: type: string responses: '200': description: A page of search results. headers: X-WP-Total: description: Total results matching the query. schema: type: integer X-WP-TotalPages: description: Total pages available. schema: type: integer content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' '400': description: Invalid parameter. WordPress returns `rest_invalid_param` with a per-parameter `data.params` map. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Anonymous request to a capability-gated route or context. Envelope carries a `rest_*_cannot_*` / `rest_forbidden` code. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: SearchResult: type: object properties: id: description: Unique identifier for the object. type: - integer - string title: description: The title for the object. type: string url: description: URL to the object. type: string format: uri type: description: Object type. type: string enum: - post - term - post-format subtype: description: Object subtype. type: string enum: - post - page - event - category - post_tag Error: type: object description: WordPress REST error envelope. Observed live on this host; it is not RFC 9457 problem+json. properties: code: type: string description: Stable machine-readable error code. Match on this, never on `message`. message: type: string description: Human-readable message. Localized and subject to change. data: type: object properties: status: type: integer description: HTTP status code, repeated in the body. params: type: object description: Per-parameter validation messages, present on rest_invalid_param. details: type: object description: Per-parameter structured detail, present on rest_invalid_param. required: - code - message