{
  "openapi": "3.0.1",
  "info": {
    "title": "Publisher .pub to PDF Converter: Batch, No Publisher Needed",
    "description": "Convert Microsoft Publisher (.pub) files to PDF in bulk, without Publisher. Upload files or ZIP archives, or paste links. Get PDF (or archive-ready PDF/A), page images, text and editable ODG/DOCX, plus one ZIP with your folder structure kept. Pay only for files that convert.",
    "version": "0.1",
    "x-build-id": "3qM3c3gsAa6Pc4sBy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/descriptive_orbit~publisher-pub-converter/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-descriptive_orbit-publisher-pub-converter",
        "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/descriptive_orbit~publisher-pub-converter/runs": {
      "post": {
        "operationId": "runs-sync-descriptive_orbit-publisher-pub-converter",
        "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/descriptive_orbit~publisher-pub-converter/run-sync": {
      "post": {
        "operationId": "run-sync-descriptive_orbit-publisher-pub-converter",
        "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",
        "properties": {
          "files": {
            "title": "Links to Publisher files or ZIP archives (or upload)",
            "type": "array",
            "description": "Paste links: direct download links, or Google Drive, Dropbox and OneDrive/SharePoint links shared as \"Anyone with the link\". ZIP archives are unpacked and their folders kept. To upload files from your computer instead: click \"Upload new files\", choose \"New permanent storage\" and give it a name, then select that storage in the next field (Apify only lets tools read storages you select). Files that are not Publisher files are skipped for free."
          },
          "filesStore": {
            "title": "Uploaded files: the storage you uploaded them to",
            "type": "string",
            "description": "Select the key-value store that holds your uploaded .pub files or ZIP archives. Every file in it is converted (one file per record; the record name becomes the file name)."
          },
          "outputFormats": {
            "title": "Output formats",
            "type": "array",
            "description": "PDF is the default. All formats you pick are included in the per-file price. PNG gives one image per page; Text is the plain text of every page (for search or AI tools); ODG opens and edits in LibreOffice Draw; DOCX (beta) opens in Word with text boxes placed like the original.",
            "items": {
              "type": "string",
              "enum": [
                "pdf",
                "png",
                "txt",
                "odg",
                "docx"
              ],
              "enumTitles": [
                "PDF",
                "PNG image per page",
                "Text (.txt)",
                "Editable drawing (.odg, LibreOffice)",
                "Word document (.docx, beta)"
              ]
            },
            "default": [
              "pdf"
            ]
          },
          "pdfA": {
            "title": "Archive-ready PDF (PDF/A-2b)",
            "type": "boolean",
            "description": "Create PDF/A-2b files, the ISO standard for long-term archiving (fonts embedded, no external dependencies). Useful when you are retiring a Publisher archive for good.",
            "default": false
          },
          "imageDpi": {
            "title": "Image resolution (PNG)",
            "minimum": 50,
            "maximum": 300,
            "type": "integer",
            "description": "Resolution of the PNG page images. 150 is sharp on screen; 300 is print quality (bigger files).",
            "default": 150
          },
          "bundleZip": {
            "title": "Also give me one ZIP with everything",
            "type": "boolean",
            "description": "Pack all converted files into converted-files.zip, named after your original files, with the folders from your ZIP archives kept. The link is in the run's OUTPUT record. Very large batches are split into parts of about 400 MB.",
            "default": true
          },
          "maxFiles": {
            "title": "Max files to convert",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Safety cap for big archives. Files over the limit get a free \"skipped\" row. Your maximum cost per run also limits how many files are converted.",
            "default": 1000
          },
          "fileTimeoutSecs": {
            "title": "Time limit per file",
            "minimum": 20,
            "maximum": 900,
            "type": "integer",
            "description": "A file that takes longer than this to convert is marked as failed (free) and the run carries on.",
            "default": 120
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}