{
  "openapi": "3.0.1",
  "info": {
    "title": "Buyer Intent AI",
    "description": "Score forum posts against your product and inspect the source evidence. Use rules or optional AI to prioritize declared buying questions. Ready to review your next batch?",
    "version": "0.1",
    "x-build-id": "k80mtUQxEyfUw7csG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/danielmichalek~buying-intent-lead-scorer/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-danielmichalek-buying-intent-lead-scorer",
        "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/danielmichalek~buying-intent-lead-scorer/runs": {
      "post": {
        "operationId": "runs-sync-danielmichalek-buying-intent-lead-scorer",
        "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/danielmichalek~buying-intent-lead-scorer/run-sync": {
      "post": {
        "operationId": "run-sync-danielmichalek-buying-intent-lead-scorer",
        "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": [
          "productProfile",
          "keywords"
        ],
        "properties": {
          "productProfile": {
            "title": "Your product or service",
            "maxLength": 1500,
            "type": "string",
            "description": "Describe the business problem you solve. Maximum1500 UTF-8 bytes. Do not provide confidential or unnecessary personal data."
          },
          "keywords": {
            "title": "Product keywords",
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "description": "1-12 literal words or short phrases for the reproducible screening pass. AI may assess semantic fit beyond these keywords.",
            "items": {
              "type": "string"
            }
          },
          "posts": {
            "title": "Forum posts as JSON",
            "type": "array",
            "description": "Synthetic demo posts are prefilled for the first Console run. Replace them with your own posts, or clear this field before selecting datasetId. Objects may contain id, title, text, body or selftext, URL and timestamp. No sites are crawled; demo rows are not real prospects.",
            "items": {
              "type": "object"
            }
          },
          "datasetId": {
            "title": "Source post dataset",
            "type": "string",
            "description": "Alternative to posts. Only the first maxPosts rows are sampled; a larger source is marked truncated. Select only a dataset you may process."
          },
          "analysisMode": {
            "title": "Analysis mode",
            "enum": [
              "rules",
              "ai"
            ],
            "type": "string",
            "description": "Rules is deterministic. AI adds product-fit assessments for the strongest eligible candidates using one model request.",
            "default": "rules"
          },
          "allowPaidAI": {
            "title": "Allow AI credit usage",
            "type": "boolean",
            "description": "Required for AI mode. The Apify AI proxy consumes available credits under current provider pricing, even if validation later fails. One request, no automatic retry. No external API key is requested.",
            "default": false
          },
          "allowRulesFallback": {
            "title": "Allow explicit rules fallback",
            "type": "boolean",
            "description": "If an AI attempt fails, return a completed, billable rules report labelled failed_rules_fallback. Default false fails without emitting a completed report.",
            "default": false
          },
          "language": {
            "title": "Report language",
            "enum": [
              "en",
              "pl"
            ],
            "type": "string",
            "description": "Language of AI fit explanations and readable report labels.",
            "default": "en"
          },
          "maxPosts": {
            "title": "Maximum source posts",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Sample at most30 source rows before filtering. Text is clipped to800 UTF-8 bytes with a visible count.",
            "default": 30
          },
          "maxAiCandidates": {
            "title": "Maximum AI assessments",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "At most8 eligible buying questions receive AI fit assessment. Remaining posts keep their rules assessment.",
            "default": 6
          },
          "minScore": {
            "title": "Minimum returned priority score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "0-100 ranking threshold. This is not calibrated buying probability. All processed assessments remain in the report for audit.",
            "default": 30
          },
          "maxAgeDays": {
            "title": "Maximum known age",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Known older posts are capped at10. Missing or invalid timestamps remain unknown. Set0 to disable this age filter.",
            "default": 30
          },
          "maxItems": {
            "title": "Completed reports",
            "minimum": 1,
            "maximum": 1,
            "type": "integer",
            "description": "Exactly one completed report is one billable event, regardless of the number of posts or returned leads.",
            "default": 1
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}