{
  "name": "SUMWARE",
  "description": "Machine-readable entry point for sumware.at. SUMWARE is a browser-based point-of-sale system for retail, built by retail butlers GmbH (Hallein, Austria).",
  "vendor": {
    "name": "retail butlers GmbH",
    "url": "https://sumware.at/impressum/",
    "email": "office@retail-butlers.at",
    "phone": "+43 681 206 024 88"
  },
  "documentation_url": "https://sumware.at/docs/",
  "specification_url": "https://sumware.at/openapi.json",
  "api_catalog_url": "https://sumware.at/.well-known/api-catalog",
  "llms_txt_url": "https://sumware.at/llms.txt",
  "sitemap_url": "https://sumware.at/sitemap-index.xml",
  "apis": [
    {
      "name": "SUMWARE Voucher Service — Public API",
      "description": "Voucher / gift-card redemption for POS, eCom and CRM integrations: check, load, redeem, refund, plus customer-bound lookup and refund-to-credit, plus outbound webhooks.",
      "base_url": "https://api.sumware.at",
      "sandbox_url": "https://sandbox.api.sumware.at",
      "openapi_url": "https://sumware.at/openapi.json",
      "openapi_yaml_url": "https://sumware.at/openapi.yaml",
      "documentation_url": "https://sumware.at/docs/",
      "quickstart_url": "https://sumware.at/docs/getting-started/quickstart.html",
      "authentication_url": "https://sumware.at/docs/authentication/token-exchange.html",
      "errors_url": "https://sumware.at/docs/redemption/errors.html",
      "webhooks_url": "https://sumware.at/docs/webhooks/overview.html",
      "swagger_ui_url": "https://sumware.at/docs/swagger/",
      "postman_collection_url": "https://sumware.at/docs/reference/postman.html",
      "authentication": {
        "type": "http",
        "scheme": "bearer",
        "description": "Exchange a long-lived API key for a short-lived JWT at POST /v1/auth/token, then send it as Authorization: Bearer <jwt>.",
        "credentials_note": "API keys are provisioned in the SUMWARE admin cockpit. Contact office@retail-butlers.at to get started."
      }
    }
  ],
  "endpoints_on_this_host": [
    {
      "path": "/api/contact",
      "methods": ["POST"],
      "description": "Website contact / demo request form. Not part of the Voucher API.",
      "request_content_type": "application/json",
      "required_fields": ["company", "name", "email"],
      "optional_fields": ["phone", "stores", "message", "consent"]
    },
    {
      "path": "/api/",
      "methods": ["GET", "HEAD"],
      "description": "This document."
    },
    {
      "path": "/api/openapi.json",
      "methods": ["GET", "HEAD"],
      "description": "OpenAPI 3.1 specification (alias of /openapi.json)."
    },
    {
      "path": "/api/openapi.yaml",
      "methods": ["GET", "HEAD"],
      "description": "OpenAPI 3.1 specification in YAML (alias of /openapi.yaml)."
    }
  ],
  "errors": {
    "content_type": "application/json; charset=utf-8",
    "envelope": {
      "error": {
        "code": "string — stable, switch on this",
        "message": "string — human-readable",
        "status": "integer — HTTP status",
        "hint": "string — how to recover",
        "documentation_url": "string"
      }
    },
    "documentation_url": "https://sumware.at/docs/redemption/errors.html",
    "edge_codes": {
      "not_found": 404,
      "method_not_allowed": 405,
      "not_acceptable": 406,
      "invalid_request": 400,
      "payload_too_large": 413,
      "unsupported_media_type": 415,
      "rate_limited": 429,
      "internal_error": 500,
      "service_unavailable": 503
    }
  },
  "content_negotiation": {
    "markdown": {
      "description": "Every HTML page on sumware.at is also published as Markdown.",
      "request_header": "Accept: text/markdown",
      "response_content_type": "text/markdown; charset=utf-8",
      "vary": "Accept, Accept-Encoding",
      "q_values_honoured": true,
      "direct_urls": "Append 'index.md' to a directory URL (https://sumware.at/preise/index.md) or replace '.html' with '.md' (https://sumware.at/docs/redemption/check.md).",
      "sitemap_url": "https://sumware.at/sitemap-agents.xml",
      "specification": "https://acceptmarkdown.com/"
    }
  },
  "robots": {
    "policy_url": "https://sumware.at/robots.txt",
    "ai_crawlers": "allowed"
  }
}
