{
  "name": "Apparel Monster",
  "tagline": "Online apparel store for men, women, and sportswear.",
  "url": "https://spree.apparel.monster",
  "platform": {
    "name": "Spree Commerce",
    "version": "5.3.2"
  },
  "currency": "USD",
  "catalog": {
    "product_count": 116,
    "taxon_count": 30,
    "top_categories": [
      {
        "name": "Men",
        "permalink": "categories/men",
        "url": "https://spree.apparel.monster/t/categories/men"
      },
      {
        "name": "Women",
        "permalink": "categories/women",
        "url": "https://spree.apparel.monster/t/categories/women"
      },
      {
        "name": "Sportswear",
        "permalink": "categories/sportswear",
        "url": "https://spree.apparel.monster/t/categories/sportswear"
      },
      {
        "name": "New",
        "permalink": "categories/new",
        "url": "https://spree.apparel.monster/t/categories/new"
      },
      {
        "name": "Bestsellers",
        "permalink": "categories/bestsellers",
        "url": "https://spree.apparel.monster/t/categories/bestsellers"
      },
      {
        "name": "Summer Sale",
        "permalink": "categories/summer-sale",
        "url": "https://spree.apparel.monster/t/categories/summer-sale"
      }
    ]
  },
  "apis": {
    "storefront": {
      "base_url": "https://spree.apparel.monster/api/v2/storefront/",
      "openapi": "https://spree.apparel.monster/api/openapi/storefront.yaml",
      "auth": "none for reads; order_token or OAuth Bearer for cart/checkout",
      "format": "JSON:API"
    },
    "platform": {
      "base_url": "https://spree.apparel.monster/api/v2/platform/",
      "openapi": "https://spree.apparel.monster/api/openapi/platform.yaml",
      "auth": "OAuth Bearer (admin scope)"
    },
    "oauth": {
      "token_endpoint": "https://spree.apparel.monster/spree_oauth/token",
      "authorization_endpoint": "https://spree.apparel.monster/spree_oauth/authorize",
      "revocation_endpoint": "https://spree.apparel.monster/spree_oauth/revoke",
      "grants": [
        "authorization_code",
        "password",
        "client_credentials",
        "refresh_token"
      ],
      "scopes": [
        "read",
        "write",
        "admin"
      ]
    }
  },
  "discovery": {
    "api_catalog": "https://spree.apparel.monster/.well-known/api-catalog",
    "agent_skills": "https://spree.apparel.monster/.well-known/agent-skills/index.json",
    "agent_card": "https://spree.apparel.monster/.well-known/agent-card.json",
    "web_bot_auth": "https://spree.apparel.monster/.well-known/http-message-signatures-directory",
    "oauth_authorization_server": "https://spree.apparel.monster/.well-known/oauth-authorization-server",
    "oauth_protected_resource": "https://spree.apparel.monster/.well-known/oauth-protected-resource",
    "mcp_discovery": "https://spree.apparel.monster/.well-known/mcp",
    "mcp_server_card": "https://spree.apparel.monster/.well-known/mcp/server-card.json",
    "acp": "https://spree.apparel.monster/.well-known/acp.json",
    "ucp": "https://spree.apparel.monster/.well-known/ucp",
    "llms_txt": "https://spree.apparel.monster/llms.txt",
    "llms_full_txt": "https://spree.apparel.monster/llms-full.txt",
    "schemamap": "https://spree.apparel.monster/schemamap.xml",
    "product_feed_jsonl": "https://spree.apparel.monster/feeds/products.jsonl",
    "pricing": "https://spree.apparel.monster/pricing"
  },
  "capabilities": {
    "markdown_negotiation": "Send Accept: text/markdown to receive GitHub-flavored markdown.",
    "webmcp": "navigator.modelContext.registerTool — 8 tools on every storefront page (search_products, get_product, list_categories, view_cart, add_to_cart, apply_coupon, go_to_checkout, get_store_info).",
    "x402": "Agent-paid access at /api/agent-access ($0.05 USDC on Base Sepolia testnet).",
    "a2a_ap2": "A2A agent card declares AP2 merchant role.",
    "ucp_mcp_host": "Agentic-commerce host at https://dfe0ea20ac20.agentic.checkouttools.com (MCP streamable-http, UCP discovery)."
  },
  "authentication": {
    "oauth2": {
      "issuer": "https://spree.apparel.monster",
      "authorization_endpoint": "https://spree.apparel.monster/spree_oauth/authorize",
      "token_endpoint": "https://spree.apparel.monster/spree_oauth/token",
      "revocation_endpoint": "https://spree.apparel.monster/spree_oauth/revoke",
      "grants": [
        "authorization_code",
        "password",
        "client_credentials",
        "refresh_token"
      ],
      "scopes": [
        "read",
        "write",
        "admin"
      ],
      "pkce": "S256",
      "metadata": "https://spree.apparel.monster/.well-known/oauth-authorization-server"
    },
    "api_key": {
      "header": "X-Spree-Token",
      "description": "Publishable Store API key (Store API v3 public client-side calls)."
    },
    "bearer_token": {
      "header": "Authorization: Bearer <access_token>",
      "description": "OAuth2 Bearer token for authenticated customer and admin API calls."
    },
    "order_token": {
      "header": "X-Spree-Order-Token",
      "description": "Anonymous cart identifier from POST /api/v2/storefront/cart — no account required."
    },
    "web_bot_auth": {
      "directory": "https://spree.apparel.monster/.well-known/http-message-signatures-directory",
      "algorithm": "Ed25519",
      "use": "HTTP message signature verification per RFC 9421."
    },
    "protected_resource_metadata": "https://spree.apparel.monster/.well-known/oauth-protected-resource"
  },
  "transports": {
    "rest": {
      "format": "JSON:API",
      "base": "https://spree.apparel.monster/api/v2/storefront/"
    },
    "mcp": {
      "transport": "streamable-http",
      "endpoint": "https://dfe0ea20ac20.agentic.checkouttools.com/mcp",
      "protocol": "JSON-RPC 2.0"
    },
    "ucp": {
      "discovery": "https://dfe0ea20ac20.agentic.checkouttools.com/.well-known/ucp",
      "version": "2026-01-11"
    },
    "acp": {
      "discovery": "https://spree.apparel.monster/.well-known/acp.json",
      "role": "merchant"
    },
    "a2a": {
      "agent_card": "https://spree.apparel.monster/.well-known/agent-card.json",
      "ap2_extension": true
    },
    "x402": {
      "endpoint": "https://spree.apparel.monster/api/agent-access",
      "status_code": 402,
      "currency": "USDC",
      "network": "Base Sepolia (testnet)"
    },
    "markdown": {
      "accept_header": "text/markdown",
      "applies_to": "any HTML page"
    },
    "webmcp": {
      "api": "navigator.modelContext",
      "tools_exposed": 8
    }
  },
  "schemas": {
    "openapi_storefront": "https://spree.apparel.monster/api/openapi/storefront.yaml",
    "openapi_platform": "https://spree.apparel.monster/api/openapi/platform.yaml",
    "openapi_oauth": "https://spree.apparel.monster/api/openapi/oauth.yml",
    "json_ld": "https://spree.apparel.monster/feeds/products.jsonl",
    "schema_map": "https://spree.apparel.monster/schemamap.xml",
    "mcp_server_card": "https://spree.apparel.monster/.well-known/mcp/server-card.json"
  },
  "rate_limits": {
    "policy": "60 requests per 60-second rolling window",
    "window_seconds": 60,
    "max_requests": 60,
    "response_headers": [
      "X-RateLimit-Limit",
      "X-RateLimit-Remaining",
      "X-RateLimit-Reset",
      "X-RateLimit-Policy"
    ],
    "on_throttle_header": "Retry-After",
    "status_page": "https://spree.apparel.monster/status"
  },
  "errors": {
    "format": "JSON for all /api/* responses (including 404)",
    "retry_guidance": "Honor Retry-After header on 4xx/5xx; exponential backoff with jitter otherwise.",
    "error_codes": [
      "400 invalid_request",
      "401 unauthorized",
      "402 payment_required (x402)",
      "403 forbidden",
      "404 not_found",
      "422 validation_failed",
      "429 rate_limited",
      "500 internal_error"
    ],
    "status_page": "https://spree.apparel.monster/status"
  },
  "sdks": {
    "typescript": {
      "package": "@spree/sdk",
      "purpose": "Official Spree Storefront + Store API client.",
      "repo": "https://github.com/spree/spree-api-v2-js-sdk"
    },
    "next_js": {
      "repo": "https://github.com/spree/storefront",
      "purpose": "Reference Next.js storefront consuming the same APIs."
    },
    "openapi": {
      "note": "Any OpenAPI 3.0 codegen works — swift, kotlin, python, go, rust — from the spec at /api/openapi/storefront.yaml."
    }
  },
  "webhooks": {
    "outbound": {
      "supported": false,
      "alternatives": "Order-status polling via /api/v2/storefront/order_status/{order_number}"
    },
    "inbound": {
      "supported": true,
      "documentation": "https://spree.apparel.monster/api/openapi/storefront.yaml"
    }
  },
  "versioning": {
    "storefront_api": "v2 (stable; OpenAPI 3.0)",
    "store_api": "v3 (Spree 5.4+; not enabled on this deployment — 5.3.2)",
    "platform_api": "v2 (stable; OpenAPI 3.0)",
    "api_version_header": "none required — path-versioned (/v2/, /v3/)"
  },
  "supported_standards": [
    "OpenAPI 3.0",
    "OAuth 2.0 (RFC 6749)",
    "OAuth 2.0 AS Metadata (RFC 8414)",
    "OAuth 2.0 Protected Resource Metadata (RFC 9728)",
    "JSON:API",
    "RFC 9727 API Catalog (/.well-known/api-catalog)",
    "Link headers (RFC 8288)",
    "A2A Agent Card",
    "AP2 (Agent Payments Protocol) merchant role",
    "MCP (Model Context Protocol) streamable-http",
    "UCP (Google Unified Commerce Protocol)",
    "ACP (OpenAI Agentic Commerce Protocol)",
    "x402 (HTTP 402 payment required)",
    "Web Bot Auth (IETF http-message-signatures-directory)",
    "NLWeb Schema Feeds (schemamap.xml)",
    "schema.org (OnlineStore, Product, Offer, SpeakableSpecification)",
    "hreflang (x-default, en)",
    "WebMCP (navigator.modelContext)",
    "Markdown for Agents (Accept: text/markdown)"
  ],
  "contact": {
    "storefront": "https://spree.apparel.monster",
    "spree_docs": "https://spreecommerce.org/docs",
    "spree_source": "https://github.com/spree/spree"
  }
}