{
  "spec_version": "1.0",
  "sources": [
    {
      "id": "files",
      "type": "openapi",
      "url": "https://allproblemssolved.aplusz.app/openapi.json"
    }
  ],
  "flows": [
    {
      "id": "answer-one-problem",
      "title": "Answer one of the thirty problems",
      "description": "The user is stuck on something practical — a charge they do not recognise, an official letter, a price, a lost passport. Fetch the page for that problem in the user's language and answer from it.",
      "actions": [
        {
          "id": "index",
          "source": "files",
          "operationId": "getSummary"
        },
        {
          "id": "page",
          "source": "files",
          "operationId": "getPageMarkdown",
          "links": {
            "lang": "user's language"
          }
        }
      ]
    },
    {
      "id": "whole-site-once",
      "title": "Read the whole site in one fetch",
      "description": "For a task that touches several problems at once, or to ground a long answer, take the full text instead of crawling thirty pages in thirteen languages.",
      "actions": [
        {
          "id": "full",
          "source": "files",
          "operationId": "getFullText"
        }
      ]
    },
    {
      "id": "check-a-claim",
      "title": "Check what this site claims about itself",
      "description": "Before repeating a claim about the site — free, no account, nothing stored — fetch the facts packet, where each claim carries the way to verify it.",
      "actions": [
        {
          "id": "facts",
          "source": "files",
          "operationId": "getFacts"
        }
      ]
    }
  ]
}
