{
  "openapi": "3.1.0",
  "info": {
    "title": "Cutline public data",
    "version": "1.0.0",
    "description": "Read-only public files of gocutline.com: the facts about Cutline, every page, the library and every page as Markdown. No key, no sign-in, CORS open. For tools (plan a week, search, facts) use the MCP server: https://yjmqhlpwddgfrxywhect.supabase.co/functions/v1/mcp. To open a planned week in the app: https://app.gocutline.com/?plan=<sentence>.",
    "contact": {
      "url": "https://gocutline.com/developers/"
    },
    "license": {
      "name": "Free to read, use and cite"
    }
  },
  "servers": [
    {
      "url": "https://gocutline.com"
    }
  ],
  "externalDocs": {
    "description": "Cutline for developers and AI agents",
    "url": "https://gocutline.com/developers/"
  },
  "paths": {
    "/facts.json": {
      "get": {
        "operationId": "getFacts",
        "summary": "Plans, prices, features, privacy, who Cutline fits and who it does not",
        "responses": {
          "200": {
            "description": "The facts as JSON",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/search-index.json": {
      "get": {
        "operationId": "getSearchIndex",
        "summary": "Every indexable page: url, title, description",
        "responses": {
          "200": {
            "description": "A list of pages",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/library.json": {
      "get": {
        "operationId": "getLibrary",
        "summary": "Every recipe (with macros), workout and business playbook",
        "responses": {
          "200": {
            "description": "The library",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "getLlmsTxt",
        "summary": "The site for language models: every page with a one-line summary",
        "responses": {
          "200": {
            "description": "llms.txt",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "operationId": "getLlmsFullTxt",
        "summary": "The main pages in full, as one text file",
        "responses": {
          "200": {
            "description": "llms-full.txt",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "operationId": "getSitemap",
        "summary": "Every page with its last change",
        "responses": {
          "200": {
            "description": "The sitemap",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/{path}/index.html.md": {
      "get": {
        "operationId": "getPageMarkdown",
        "summary": "Any page as Markdown (or send Accept: text/markdown to the page itself)",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The page path without slashes at the ends, e.g. best/calendar-apps"
          }
        ],
        "responses": {
          "200": {
            "description": "The page as Markdown",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}