CUTISS Search API

The Search API from CUTISS — full-text search across every publicly readable object on cutiss.swiss, returning id, title, url, type and subtype. 514 searchable objects at probe time.

OpenAPI Specification

cutiss-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CUTISS Search API
  description: 'Full-text search across every publicly readable CUTISS object — posts, pages, newsroom
    items and team profiles — returning id, title, url, type and subtype. 514 searchable objects at probe
    time.


    This is the WordPress REST API that serves cutiss.swiss. CUTISS publishes no product or developer
    API; this content surface is the only machine-readable API on the company''s public host. It is read-only
    without credentials — every write method and every administrative collection returns HTTP 401 `rest_forbidden`.
    Derived by API Evangelist from the live route index at https://cutiss.swiss/wp-json/ and live sample
    responses on 2026-08-11.'
  version: 1.0.0
  contact:
    name: CUTISS AG
    email: info@cutiss.swiss
    url: https://cutiss.swiss/contact/
  license:
    name: Proprietary — content © CUTISS AG
    url: https://cutiss.swiss/impressum-en/
servers:
- url: https://cutiss.swiss/wp-json/wp/v2
  description: CUTISS WordPress REST API (wp/v2 namespace)
tags:
- name: Search
  description: Full-text search across every publicly readable CUTISS object — posts, pages, newsroom
    items and team profiles — returning id, title, url, type and subtype. 514 searchable objects at probe
    time.
paths:
  /search:
    get:
      operationId: listSearch
      summary: List search objects
      description: Returns a paginated collection of search objects from cutiss.swiss. Pagination totals
        are returned in the X-WP-Total and X-WP-TotalPages response headers.
      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: exclude
        in: query
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          items:
            type: integer
      - name: include
        in: query
        description: Limit result set to specific IDs.
        schema:
          type: array
          items:
            type: integer
      - name: page
        in: query
        description: Current page of the collection.
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          default: 10
      - name: search
        in: query
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: subtype
        in: query
        description: Limit results to items of one or more object subtypes.
        schema:
          type: array
          items:
            type: string
            enum:
            - post
            - page
            - elementor_library
            - newsroom2021
            - team_member
            - astra-advanced-hook
            - category
            - post_tag
            - cutiss-teams
            - any
          default: any
      - name: type
        in: query
        description: Limit results to items of an object type.
        schema:
          type: string
          enum:
          - post
          - term
          - post-format
          default: post
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              description: Total number of objects in the collection.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available at the requested per_page size.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchResult'
        '400':
          description: Invalid parameter. Returns a WordPress REST error object with code `rest_invalid_param`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Not authorized. Returns `rest_forbidden` — the requested context or resource requires
            authentication.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route or object matched. Returns `rest_no_route` or `rest_post_invalid_id`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    SearchResult:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        url:
          type: string
        type:
          type: string
        subtype:
          type: string
    Error:
      type: object
      description: The WordPress REST API error envelope returned on every 4xx/5xx response.
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_forbidden.
        message:
          type: string
          description: Human-readable message. Localized — cutiss.swiss returns German text.
        data:
          type: object
          description: Error detail.
          properties:
            status:
              type: integer
              description: HTTP status code.
      required:
      - code
      - message
x-evidence:
  fetched: '2026-08-11'
  route_index: https://cutiss.swiss/wp-json/
  sample_request: https://cutiss.swiss/wp-json/wp/v2/search?per_page=1&search=skin
  verified_total: 514
  note: Parameters derived verbatim from the live route index args; schema properties derived from a live
    sample response. No properties were invented.