Lish Types API

Registered post types.

OpenAPI Specification

lish-types-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Lish WordPress REST Categories Types API
  version: wp/v2
  summary: Public read surface of the WordPress REST API behind lishfood.com.
  description: 'Lish (lishfood.com) is a corporate catering and workplace food service company serving Seattle and the Bellevue/Eastside area. Lish does not publish a product API for its catering platform. This document describes the one genuinely public, self-describing HTTP API the company does expose: the WordPress REST API that backs its marketing site and blog, reachable at https://www.lishfood.com/wp-json/ (the WordPress install reports its home as https://wordpress.lishfood.com).


    This specification was DERIVED by the API Evangelist enrichment pipeline from the live route index — every path, method, parameter name, type, default and enum is taken from `routes[].endpoints[].args` as served on 2026-07-19. It is scoped to the publicly readable `wp/v2` core content surface (posts, pages, categories, tags, comments, media, users, search, types, taxonomies, statuses). The live index also advertises 348 routes across 21 namespaces, most of which belong to plugins (Elementor, Yoast, Wordfence, Contact Form 7, JupiterX, Redirection, WP Smush, Salesforce, WP Engine) and require authentication.


    Write methods (POST/PUT/PATCH/DELETE) are advertised by the index but require authentication and are intentionally not documented here.'
  contact:
    name: Lish
    email: catering@lishfood.com
    url: https://www.lishfood.com/pages/contact-us
  license:
    name: GPL-2.0-or-later
    url: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  x-derived-by: api-evangelist enrichment pipeline
  x-derived-from: https://www.lishfood.com/wp-json/
  x-derived-on: '2026-07-19'
  x-upstream-project: https://developer.wordpress.org/rest-api/
servers:
- url: https://www.lishfood.com/wp-json
  description: Production WordPress REST API
security: []
tags:
- name: Types
  description: Registered post types.
paths:
  /wp/v2/types:
    get:
      operationId: listTypes
      summary: List types
      description: Registered post types. Parameters are taken verbatim from the live route index.
      tags:
      - Types
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      responses:
        '200':
          description: Types as served by the site.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  responses:
    BadRequest:
      description: Invalid parameter (WordPress error envelope).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      description: 'WordPress REST error envelope. Verified live: GET /wp/v2/posts/999999999 -> 404 {"code":"rest_post_invalid_id","message":"Invalid post ID.","data":{"status":404}} ; GET /wp/v2/settings -> 401 {"code":"rest_forbidden","message":"Sorry, you are not allowed to do that.","data":{"status":401}}'
      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 error message.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code, repeated in the body.
            params:
              type: object
              description: 'Present on rest_invalid_param: offending parameters.'
            details:
              type: object
              description: 'Present on rest_invalid_param: per-parameter detail.'
  securitySchemes:
    anonymous:
      type: apiKey
      in: header
      name: X-WP-Nonce
      description: The public read surface documented here requires NO credentials — the live index reports an empty `authentication` object. Authenticated operations use a cookie plus an `X-WP-Nonce` header (same-origin), or HTTP Basic with a WordPress Application Password (`/wp/v2/users/<id>/application-passwords` is present in the live index).
externalDocs:
  description: WordPress REST API Handbook
  url: https://developer.wordpress.org/rest-api/