{
  "openapi": "3.0.1",
  "info": {
    "title": "RFP Compliance Matrix Generator & Proposal Audit",
    "description": "Generate a source-cited RFP compliance matrix, audit proposal coverage, and export a proposal-ready Excel workbook.",
    "version": "0.0",
    "x-build-id": "eY6HgpjHFdfzbak1S"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/chen_white~rfp-compliance-matrix/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-chen_white-rfp-compliance-matrix",
        "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/chen_white~rfp-compliance-matrix/runs": {
      "post": {
        "operationId": "runs-sync-chen_white-rfp-compliance-matrix",
        "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/chen_white~rfp-compliance-matrix/run-sync": {
      "post": {
        "operationId": "run-sync-chen_white-rfp-compliance-matrix",
        "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": [
          "analysisMode",
          "includeGuidance",
          "maxPages"
        ],
        "properties": {
          "analysisMode": {
            "title": "Analysis mode",
            "enum": [
              "preview",
              "full"
            ],
            "type": "string",
            "description": "Start with the free quick preview. Full mode unlocks every supported page, up to three RFP PDFs, and the complete five-sheet package for USD 6.50.",
            "default": "preview"
          },
          "rfpFiles": {
            "title": "Upload RFP PDF files",
            "maxItems": 3,
            "uniqueItems": true,
            "type": "array",
            "description": "Upload one PDF for free preview or up to three PDFs for a full audit. Files are stored in the Apify Key-Value Store you choose; no public hosting is required.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "proposalFile": {
            "title": "Upload proposal draft PDF (optional)",
            "type": "string",
            "description": "Upload a proposal draft for the coverage audit. The file and derived evidence remain in your Apify storage. Use only one proposal input method.",
            "default": ""
          },
          "inputStores": {
            "title": "Authorize uploaded-file Key-Value Stores",
            "maxItems": 4,
            "type": "array",
            "description": "Required for private uploads: select every Key-Value Store used by the RFP and proposal upload fields. The Actor receives READ access only to the selected stores and remains unable to access other account data."
          },
          "projectName": {
            "title": "Project name",
            "minLength": 1,
            "maxLength": 120,
            "type": "string",
            "description": "Title used in the downloadable compliance package.",
            "default": "RFP Compliance Package"
          },
          "documentUrls": {
            "title": "Public RFP PDF URLs (optional)",
            "type": "array",
            "description": "API-friendly alternative to upload. Add direct HTTPS PDF links, or leave this empty and use the upload field above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "proposalPdfUrl": {
            "title": "Proposal draft PDF URL (optional)",
            "type": "string",
            "description": "Direct public or signed HTTPS PDF URL. Use either this field or Proposal text, not both. The draft and derived excerpts are processed and stored in your Apify run storage.",
            "default": ""
          },
          "proposalText": {
            "title": "Proposal text (optional)",
            "maxLength": 500000,
            "type": "string",
            "description": "Paste 20–500,000 characters to audit coverage without hosting a PDF. Use either this field or Proposal PDF URL. Input and derived excerpts are stored in your Apify run storage.",
            "default": ""
          },
          "includeGuidance": {
            "title": "Include should/guidance candidates",
            "type": "boolean",
            "description": "Include non-mandatory statements expressed with should alongside mandatory candidates.",
            "default": true
          },
          "maxPages": {
            "title": "Maximum pages per PDF",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Reject any individual PDF that exceeds this page count.",
            "default": 250
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}