openapi: 3.1.0 info: title: Impossible Metals Search API version: wp/v2 description: Public, unauthenticated cross-content search over impossiblemetals.com — posts, pages, FAQ entries and events — returning lightweight id / title / url / type / subtype records. 586 searchable objects at capture on 2026-08-23. contact: name: Impossible Metals url: https://impossiblemetals.com/contact/ x-derived-from: https://impossiblemetals.com/wp-json/ route index + per-route HTTP OPTIONS schema documents x-derived-on: '2026-08-23' x-api-evangelist-note: Third-party profile. Impossible Metals publishes no developer program. This document describes the anonymously readable WordPress REST content API served from impossiblemetals.com. Every path, parameter and schema was read from the server's own published route index and OPTIONS documents on 2026-08-23 — nothing is invented. servers: - url: https://impossiblemetals.com/wp-json description: Impossible Metals WordPress REST API tags: - name: Search description: Cross-content search returning lightweight discovery records. paths: /wp/v2/search: get: operationId: search summary: Search site content description: Search across every searchable object on impossiblemetals.com. 586 objects were searchable at capture. 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: type: string enum: - post - term - post-format default: post - name: subtype in: query description: Limit results to items of one or more object subtypes. schema: type: array default: any items: enum: - post - page - tribe_venue - tribe_organizer - tribe_events - avada_portfolio - avada_faq - category - post_tag - tribe_events_cat - portfolio_category - portfolio_skills - portfolio_tags - faq_category - any type: string - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array default: [] items: type: integer - name: include in: query description: Limit result set to specific IDs. schema: type: array default: [] items: type: integer responses: '200': description: Search site content — success. headers: X-WP-Total: description: Total number of items in the unpaginated collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the requested per_page size. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' '400': description: Invalid parameter. content: application/json: schema: $ref: '#/components/schemas/RestError' examples: invalidParam: value: 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) '404': description: WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' examples: invalidId: value: code: rest_post_invalid_id message: Invalid post ID. data: status: 404 components: schemas: RestError: type: object description: The WordPress REST API error envelope. Not RFC 9457 problem+json — it is served as application/json with a WordPress-specific code/message/data shape. required: - code - message - data properties: code: type: string description: Machine-readable WordPress error code, e.g. rest_post_invalid_id. message: type: string description: Human-readable message. data: type: object properties: status: type: integer description: HTTP status code. params: type: object description: Per-parameter validation messages, present on rest_invalid_param. SearchResult: type: object properties: id: type: - integer - string description: Unique identifier for the object. readOnly: true title: type: string description: The title for the object. readOnly: true url: type: string description: URL to the object. format: uri readOnly: true type: type: string description: Object type. enum: - post - term - post-format readOnly: true subtype: type: string description: Object subtype. enum: - post - page - tribe_venue - tribe_organizer - tribe_events - avada_portfolio - avada_faq - category - post_tag - tribe_events_cat - portfolio_category - portfolio_skills - portfolio_tags - faq_category readOnly: true