{
  "openapi": "3.0.1",
  "info": {
    "title": "Tagged PDF (PDF/UA) Publish Conformance Gate",
    "description": "Audit the PDF files that you publish against the tagged-document rules of PDF/UA-1, PDF/UA-2 or WCAG 2.2. The Actor downloads each file once, reads its structure tree, and reports every untagged item, every figure without alternative text, every table wit",
    "version": "0.1",
    "x-build-id": "Bxbd6xeCMc2uWNiBS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kingii98~tagged-pdf-pdf-ua-publish-conformance-gate/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kingii98-tagged-pdf-pdf-ua-publish-conformance-gate",
        "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/kingii98~tagged-pdf-pdf-ua-publish-conformance-gate/runs": {
      "post": {
        "operationId": "runs-sync-kingii98-tagged-pdf-pdf-ua-publish-conformance-gate",
        "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/kingii98~tagged-pdf-pdf-ua-publish-conformance-gate/run-sync": {
      "post": {
        "operationId": "run-sync-kingii98-tagged-pdf-pdf-ua-publish-conformance-gate",
        "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": [
          "pdf_urls",
          "profile"
        ],
        "properties": {
          "pdf_urls": {
            "title": "PDF file URLs",
            "minItems": 1,
            "maxItems": 500,
            "type": "array",
            "description": "Absolute HTTPS URLs of 1 to 500 PDF files. The Actor downloads each file once and reads its structure. It does not crawl, it does not log in, it sends no credential, and it uses no browser and no proxy. The list holds the three public example files until you replace them.",
            "default": [
              "https://raw.githubusercontent.com/veraPDF/veraPDF-corpus/01e40281d48e2f3755006fdf596ca25caaea8634/PDF_UA-1/7.1%20General/7.1-t01-pass-a.pdf",
              "https://raw.githubusercontent.com/veraPDF/veraPDF-corpus/01e40281d48e2f3755006fdf596ca25caaea8634/PDF_UA-1/7.3%20Graphics/7.3-t01-fail-a.pdf",
              "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
            ],
            "items": {
              "type": "string"
            }
          },
          "profile": {
            "title": "Conformance profile",
            "enum": [
              "PDF/UA-1",
              "PDF/UA-2",
              "WCAG-2.2-document"
            ],
            "type": "string",
            "description": "Which rule set the gate applies. 'PDF/UA-1' (ISO 14289-1) and 'PDF/UA-2' (ISO 14289-2) also check the XMP pdfuaid:part identifier and treat a missing document title flag as an error. 'WCAG-2.2-document' drops the identifier rule, lowers the title flag and the heading order to warnings, and adds a bookmark rule for a long document. The profile sets the severity of each rule, so it sets the gate result.",
            "default": "PDF/UA-1"
          },
          "max_pages_per_file": {
            "title": "Maximum pages for each file",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "How many pages of one file the Actor reads. A longer file keeps its full page_count, and it reports the PDFUA-PAGES-TRUNCATED finding. This bound holds the run time and the cost of a large document.",
            "default": 200
          },
          "fail_on": {
            "title": "Severities that fail the gate",
            "minItems": 0,
            "maxItems": 3,
            "type": "array",
            "description": "A file gets the verdict 'fail' when it holds a finding of one of these severities. Give an empty list to get a report without a gate: each readable file then passes, and only a file that the Actor cannot read fails the run gate.",
            "items": {
              "type": "string",
              "enum": [
                "error",
                "warning",
                "info"
              ]
            },
            "default": [
              "error"
            ]
          },
          "timeout_seconds_per_file": {
            "title": "Download timeout for each file (seconds)",
            "minimum": 5,
            "maximum": 300,
            "type": "integer",
            "description": "Per-request timeout of the download of one PDF file. A file that exceeds it gets the verdict 'unreadable', and the run continues with the other files.",
            "default": 60
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}