EDDA Technology search API

Cross-content search.

OpenAPI Specification

edda-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: EDDA Technology WordPress REST categories search API
  version: wp/v2
  summary: 'Public read API over EDDA Technology content: press releases, product pages, media and taxonomies.'
  description: 'The public WordPress REST API exposed by EDDA Technology, Inc. at https://www.eddatech.com/wp-json/. It is the only public HTTP API surface EDDA publishes: EDDA''s IQQA product line is regulated medical imaging software delivered on-premises to hospitals and does not ship a public developer API. This document was DERIVED by the API Evangelist enrichment pipeline from the live WordPress REST discovery document, restricted to routes verified to return 200 to anonymous callers. Write operations exist on the server but require authentication (WordPress application passwords) and are not documented here.'
  contact:
    name: EDDA Technology, Inc.
    url: https://www.eddatech.com/contact-us/
  x-derived-from: https://www.eddatech.com/wp-json/
  x-derived-by: API Evangelist enrichment pipeline (local-v1)
servers:
- url: https://www.eddatech.com/wp-json
  description: Production WordPress REST API
security:
- {}
- applicationPassword: []
tags:
- name: search
  description: Cross-content search.
paths:
  /wp/v2/search:
    get:
      operationId: search
      summary: Search across posts, pages and terms
      description: Search across posts, pages and terms. Served by the public WordPress REST API on www.eddatech.com; readable anonymously.
      tags:
      - search
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: type
        in: query
        required: false
        schema:
          type: string
          enum:
          - post
          - term
          - post-format
          default: post
        description: Limit results to items of an object type.
      - name: subtype
        in: query
        required: false
        schema:
          type: array
          default: any
          items:
            type: string
            enum:
            - post
            - page
            - category
            - post_tag
            - any
        description: Limit results to items of one or more object subtypes.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to specific IDs.
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              description: Total number of matching records (collection endpoints).
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available (collection endpoints).
              schema:
                type: integer
            Link:
              description: RFC 8288 pagination links (rel="next" / rel="prev").
              schema:
                type: string
          content:
            application/json:
              schema:
                type:
                - object
                - array
        '400':
          description: Invalid parameter (rest_invalid_param).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permissions (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route matched, or the resource does not exist (rest_no_route / rest_*_invalid_id).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      description: The WordPress REST API error envelope, observed live on www.eddatech.com.
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_no_route.
          examples:
          - rest_no_route
          - rest_forbidden
          - rest_invalid_param
        message:
          type: string
          description: Human-readable error message.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code.
            params:
              type: object
              description: Per-parameter validation messages.
            details:
              type: object
              description: Per-parameter structured error detail.
      required:
      - code
      - message
      - data
      examples:
      - code: rest_no_route
        message: No route was found matching the URL and request method.
        data:
          status: 404
  securitySchemes:
    applicationPassword:
      type: http
      scheme: basic
      description: 'WordPress application passwords (HTTP Basic: username + application password). Advertised by the API root at https://www.eddatech.com/wp-json/ under authentication.application-passwords, with the authorization endpoint at https://www.eddatech.com/wp-admin/authorize-application.php. Required only for write operations and non-public routes; all operations in this document are readable anonymously.'