Hyperice · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Hyperice Storefront API

7 actions 7 updates update extends openapi/hyperice-storefront-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Hyperice's API. It is a proposal applied on top of the contract, not a document Hyperice publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-profiledx-apievangelist-surface-countx-apievangelist-provider-published-specx-agent-contractx-sibling-surfacesx-rate-limit-posturex-idempotencyx-pagination

Targets 6

$.info
$.paths['/products.json'].get
$.paths['/products/{handle}.json'].get
$.paths['/.well-known/ucp'].get
$.components.schemas.Product
$.components.schemas.Variant

OpenAPI Overlay

hyperice-storefront-overlay.yaml Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Hyperice Storefront API
  version: 1.0.0
extends: openapi/hyperice-storefront-openapi.yml
x-generated: '2026-07-31'
x-method: generated
x-note: >-
  Hyperice publishes no OpenAPI. The document this overlay extends is itself an
  API Evangelist derivation from paths Hyperice documents in /agents.md plus live
  probes. These actions record the cross-surface context an integrator needs but
  which no single spec can carry.
actions:
- target: $.info
  update:
    x-apievangelist-profiled: '2026-07-31'
    x-apievangelist-surface-count: 3
    x-apievangelist-provider-published-spec: false
    x-agent-contract:
      llms_txt: https://hyperice.com/llms.txt
      agents_md: https://hyperice.com/agents.md
      ucp_profile: https://hyperice.com/.well-known/ucp
      mcp_endpoint: https://hyperice.com/api/ucp/mcp
      graphql_endpoint: https://hyperice.com/api/2026-04/graphql.json
    x-sibling-surfaces:
    - {kind: GraphQL, artifact: graphql/hyperice-storefront.graphql, note: 'introspectable unauthenticated; the only write surface'}
    - {kind: MCP, artifact: mcp/hyperice-mcp.yml, note: 'live, gated by UCP agent profile'}
- target: $.info
  update:
    x-rate-limit-posture:
      documented: false
      headers_returned: []
      artifact: rate-limits/hyperice-rate-limits.yml
    x-idempotency:
      supported_on_this_surface: false
      reason: read-only surface
      supported_elsewhere: [mcp-ucp, graphql-shop-pay]
      artifact: conventions/hyperice-conventions.yml
- target: $.paths['/products.json'].get
  update:
    x-pagination: {style: page-number, limit_max: 250, page_base: 1, total_count: false, next_link: false}
    x-observed-catalog-size: 68
    x-limitation: >-
      Accepts no query term. Keyword search requires the GraphQL search /
      predictiveSearch fields or the HTML /search?q= route.
- target: $.paths['/products/{handle}.json'].get
  update:
    x-error-shape: >-
      404 returns a zero-length body with content-type application/json — there
      is no error document to parse.
- target: $.paths['/.well-known/ucp'].get
  update:
    x-lead: >-
      This document is the discovery entry point for the MCP shopping server and
      the reason this provider has an agent posture at all.
- target: $.components.schemas.Product
  update:
    x-identifier-warning: >-
      id here is a bare 64-bit integer. The GraphQL surface returns base64
      gid://shopify/Product/{id} global ids. The two are NOT interchangeable —
      join across surfaces on `handle`.
- target: $.components.schemas.Variant
  update:
    x-price-note: >-
      price and compare_at_price are decimal STRINGS in the store currency (USD),
      not numbers. Parse as decimal, never as float.
    x-availability-note: >-
      `available` is the stock flag; never present an unavailable variant as
      purchasable.