{
  "openapi": "3.0.1",
  "info": {
    "title": "Documentation Site to Single PDF (Offline Handbook)",
    "description": "Crawl any documentation website and convert it into a single, beautifully formatted, bookmarked PDF handbook with cover page and table of contents. Built for Docusaurus, MkDocs, Sphinx, VitePress, and GitBook with clean print styling and pay-per-event pricing.",
    "version": "0.1",
    "x-build-id": "c6Dmg4Uj46BRvZneT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/bossless~docs-to-pdf/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-bossless-docs-to-pdf",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/bossless~docs-to-pdf/runs": {
      "post": {
        "operationId": "runs-sync-bossless-docs-to-pdf",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/bossless~docs-to-pdf/run-sync": {
      "post": {
        "operationId": "run-sync-bossless-docs-to-pdf",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Documentation Start URLs",
            "type": "array",
            "description": "Start URL of the documentation website or explicit list of documentation URLs to convert.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxPages": {
            "title": "Maximum Pages to Crawl",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Maximum number of documentation pages to crawl and include in the final PDF. The run stops when this limit is reached or when all discovered documentation pages have been rendered.",
            "default": 30
          },
          "pathPrefix": {
            "title": "Documentation Path Prefix",
            "type": "string",
            "description": "Restrict crawling to URLs starting with this path prefix (e.g. '/docs' or '/en/latest/'). Leave empty to automatically use the path of the start URL."
          },
          "includeGlobs": {
            "title": "Include URL Patterns",
            "type": "array",
            "description": "Only include URLs matching any of these glob patterns (e.g. '*guide*', '*api*').",
            "items": {
              "type": "string"
            }
          },
          "excludeGlobs": {
            "title": "Exclude URL Patterns",
            "type": "array",
            "description": "Skip URLs matching any of these glob patterns (e.g. '*changelog*', '*blog*').",
            "items": {
              "type": "string"
            }
          },
          "crawlSitemap": {
            "title": "Discover via Sitemap XML",
            "type": "boolean",
            "description": "Automatically check for and parse /sitemap.xml to discover all documentation pages in addition to sidebar links.",
            "default": true
          },
          "paperFormat": {
            "title": "Paper Format",
            "enum": [
              "A4",
              "LETTER",
              "LEGAL",
              "A3",
              "A5"
            ],
            "type": "string",
            "description": "Page paper size for the PDF.",
            "default": "A4"
          },
          "landscape": {
            "title": "Landscape Orientation",
            "type": "boolean",
            "description": "Render pages in landscape mode instead of portrait.",
            "default": false
          },
          "marginMm": {
            "title": "Page Margin (mm)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Margin around each documentation page in millimetres.",
            "default": 15
          },
          "includeCover": {
            "title": "Generate Cover Page",
            "type": "boolean",
            "description": "Add a modern, beautifully designed publication cover page with title, subtitle, date, and page count.",
            "default": true
          },
          "includeToc": {
            "title": "Generate Visual Table of Contents",
            "type": "boolean",
            "description": "Add a visual Table of Contents page with chapter titles, page numbers, and dotted leaders.",
            "default": true
          },
          "title": {
            "title": "Document Title",
            "type": "string",
            "description": "Title shown on the cover page and PDF metadata. If omitted, the title of the first page or website is used."
          },
          "subtitle": {
            "title": "Document Subtitle",
            "type": "string",
            "description": "Subtitle displayed beneath the main title on the cover page.",
            "default": "Offline Documentation Handbook"
          },
          "customCss": {
            "title": "Custom Print CSS",
            "type": "string",
            "description": "Additional CSS injected into every page before printing (e.g. hide proprietary banners or custom elements)."
          },
          "waitMs": {
            "title": "Wait Before Render (ms)",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Time in milliseconds to wait after page load before generating the PDF (useful for heavy client-side charts or syntax highlighters).",
            "default": 0
          },
          "outputFileName": {
            "title": "Output PDF Filename",
            "type": "string",
            "description": "Name for the generated PDF file saved in the key-value store (e.g. 'mkdocs-handbook.pdf'). Defaults to a kebab-case slug of the title."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}