openapi: 3.1.0 info: title: Burger Singh Search API version: wp/v2 summary: Public cross-content search over burgersinghonline.com. description: Anonymous cross-content search over the published pages of burgersinghonline.com, returning lightweight id / title / url / type / subtype records with an embeddable link to the full object. This is the fastest way for an agent to locate the menu, franchise or store-locator page by keyword. contact: name: Burger Singh url: https://www.burgersinghonline.com/feedback/ license: name: Site content - all rights reserved, see Terms and Conditions url: https://www.burgersinghonline.com/terms-and-conditions/ x-apis-io-provenance: method: derived source: https://www.burgersinghonline.com/wp-json/ derived_on: '2026-08-08' note: Route enumerated from the live wp-json discovery document; probed anonymously with search=burger and returned HTTP 200 with a real result on 2026-08-08. servers: - url: https://www.burgersinghonline.com/wp-json description: Production tags: - name: Search description: Cross-content search over Burger Singh site content. paths: /wp/v2/search: get: tags: - Search operationId: searchContent summary: Search site content description: Returns lightweight search results across the searchable content types. Counts come back in X-WP-Total and X-WP-TotalPages. parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/perPage' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/context' - $ref: '#/components/parameters/fields' - name: type in: query description: Limit results to a search object type. schema: type: string default: post - name: subtype in: query description: Limit results to one or more concrete content types, e.g. page. schema: type: array items: type: string responses: '200': description: A page of search results. headers: X-WP-Total: $ref: '#/components/headers/XWPTotal' X-WP-TotalPages: $ref: '#/components/headers/XWPTotalPages' Link: $ref: '#/components/headers/LinkPagination' 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. Defaults to 1. schema: type: integer minimum: 1 default: 1 perPage: name: per_page in: query description: 'Maximum number of items returned. Verified live: values outside 1-100 return HTTP 400 rest_invalid_param.' schema: type: integer minimum: 1 maximum: 100 default: 10 search: name: search in: query description: Limit results to those matching a string. schema: type: string context: name: context in: query description: Scope under which the request is made; determines the fields present in the response. Only view and embed are available anonymously. schema: type: string enum: - view - embed default: view fields: name: _fields in: query description: Comma-separated list of fields to limit the response to. Verified live. schema: type: string headers: XWPTotal: description: Total number of items in the collection. schema: type: integer XWPTotalPages: description: Total number of pages in the collection at the current per_page. schema: type: integer LinkPagination: description: RFC 8288 Link header carrying next and prev pagination relations. Verified live on /wp/v2/pages. schema: type: string responses: NotFound: description: The requested object does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_post_invalid_id message: Invalid post ID. data: status: 404 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) schemas: RenderedText: type: object description: WordPress rendered-text object. properties: rendered: type: string required: - rendered Error: type: object description: The WordPress REST error envelope, verified live on this host. This is NOT RFC 9457 application/problem+json - it is served as application/json with a WordPress-specific shape. properties: code: type: string message: type: string data: type: object properties: status: type: integer params: type: object additionalProperties: type: string details: type: object additionalProperties: true required: - status required: - code - message - data SearchResult: type: object description: A lightweight cross-content search result. Shape verified live on 2026-08-08. properties: id: type: integer title: type: string url: type: string format: uri type: type: string description: Search result object type, e.g. post. subtype: type: string description: Concrete content type, e.g. page. _links: type: object additionalProperties: true required: - id - title - url - type - subtype