{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fastcrw-com/json-schema/fastcrw-com-extract-request-schema.json",
  "title": "ExtractRequest",
  "description": "At least one of `prompt` or `schema` must be present.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fastcrw-com-openapi.json#/components/schemas/ExtractRequest",
  "type": "object",
  "required": [
    "urls"
  ],
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "URLs to extract from (1..crawler.max_extract_urls)."
    },
    "prompt": {
      "type": "string",
      "description": "Free-text extraction objective."
    },
    "schema": {
      "type": "object",
      "additionalProperties": true,
      "description": "JSON Schema constraining the extracted output."
    },
    "llmApiKey": {
      "type": "string",
      "description": "BYOK LLM API key."
    },
    "llmProvider": {
      "type": "string"
    },
    "llmModel": {
      "type": "string"
    },
    "basis": {
      "type": "boolean",
      "description": "Return per-field evidence: each result carries a 'basis' array, one entry per top-level scalar schema property. Requires 'schema'. Reported by GET /v1/capabilities (extract.perFieldAttribution)."
    }
  }
}