{
  "openapi": "3.0.3",
  "info": {
    "title": "Wokelo API",
    "description": "Wokelo provides four categories of APIs for company and market intelligence:\n\n1. **Enrichment** \u2013 Company and Industry data using Wokelo database and alternative data. Supports multi-company requests.\n2. **Discovery** \u2013 Workflows for specific use-cases such as market map, target screening, and buyer screening.\n3. **Monitoring** \u2013 Real-time news monitoring for companies.\n4. **Workflow Automation** \u2013 Wokelo and custom research workflows executed within notebooks.\n\nEnrichment and Discovery APIs are managed through async requests; use the Supporting APIs to track status and export results in JSON.\nWorkflow APIs are executed within notebooks and support export to PDF, PPT, DOC, or JSON.\n\n**Authentication:** All endpoints (except `/auth/token/`) require a Bearer JWT token in the `Authorization` header.\n",
    "version": "1.0.0",
    "contact": {
      "url": "https://docs.wokelo.ai/contact"
    }
  },
  "externalDocs": {
    "description": "Official Wokelo API Documentation",
    "url": "https://docs.wokelo.ai/overview"
  },
  "servers": [
    {
      "url": "https://api.wokelo.ai",
      "description": "Production server"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "JWT token obtained from the `/auth/token/` endpoint."
      }
    },
    "schemas": {
      "AsyncResponse": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "format": "uuid",
            "example": "931643e9-b6c7-45d4-9ba9-bd3b534221e7"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "PROCESSING",
              "COMPLETED",
              "FAILED"
            ],
            "example": "PENDING"
          }
        }
      },
      "CustomField": {
        "type": "object",
        "required": [
          "field_name",
          "type",
          "prompt"
        ],
        "properties": {
          "field_name": {
            "type": "string",
            "example": "AI Readiness"
          },
          "type": {
            "type": "string",
            "enum": [
              "text"
            ],
            "example": "text"
          },
          "prompt": {
            "type": "string",
            "example": "Rate this company's AI readiness on a scale of 1-10 with reasoning"
          }
        }
      },
      "RequestStatusResponse": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "format": "uuid",
            "example": "b1f10ebf-a251-4e2d-b867-8482ac701987"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "PROCESSING",
              "COMPLETED",
              "FAILED"
            ]
          },
          "request_type": {
            "type": "string",
            "example": "target_screening"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "NewsArticle": {
        "type": "object",
        "properties": {
          "ai_summary": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "title": {
            "type": "string"
          },
          "company_name": {
            "type": "string"
          },
          "publisher": {
            "type": "string"
          },
          "published_date": {
            "type": "string",
            "example": "2026-03-23 10:52:44"
          },
          "source": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sentiment": {
            "type": "string",
            "enum": [
              "Positive",
              "Negative",
              "Neutral"
            ]
          },
          "primary_tag": {
            "type": "string"
          },
          "original_language": {
            "type": "string"
          },
          "secondary_tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "newsworthiness_impact": {
            "type": "string",
            "enum": [
              "Low",
              "Medium",
              "High"
            ]
          }
        }
      },
      "RangeFilter": {
        "type": "object",
        "properties": {
          "from": {
            "type": "number"
          },
          "to": {
            "type": "number"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Authentication",
      "description": "Obtain JWT tokens for API access"
    },
    {
      "name": "Enrichment",
      "description": "Retrieve structured data for companies and industries"
    },
    {
      "name": "Discovery",
      "description": "Identify companies via market maps, buyer and target screening"
    },
    {
      "name": "Monitoring",
      "description": "Real-time company news monitoring"
    },
    {
      "name": "Workflow Automation",
      "description": "Research notebooks for companies, industries, and custom workflows"
    },
    {
      "name": "Supporting APIs",
      "description": "Utility endpoints for search, file upload, request management, and report retrieval"
    }
  ],
  "paths": {
    "/auth/token/": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "operationId": "login",
        "summary": "Login",
        "description": "Obtain a JSON Web Token (JWT) for subsequent API authentication.\nSubmit credentials as `multipart/form-data`. The returned `access_token`\nmust be included as `Authorization: Bearer <token>` in all subsequent requests.\n",
        "security": [
          
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "username",
                  "password",
                  "grant_type",
                  "client_id",
                  "client_secret"
                ],
                "properties": {
                  "username": {
                    "type": "string",
                    "format": "email",
                    "example": "sam@abconsulting.com"
                  },
                  "password": {
                    "type": "string",
                    "format": "password",
                    "example": "password"
                  },
                  "grant_type": {
                    "type": "string",
                    "enum": [
                      "password"
                    ],
                    "example": "password"
                  },
                  "client_id": {
                    "type": "string",
                    "description": "Unique identifier for your organization, from the API Credentials page.",
                    "example": "R9L25HMhvxp33N4ws2PYBqVTMclSnXKjdf8E4Mf"
                  },
                  "client_secret": {
                    "type": "string",
                    "description": "Secret key for your organization, from the API Credentials page.",
                    "example": "NmwXR8KYjUnpqs2hwmHJHBLTNPV4x7DtZA5ScK"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Authentication successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "access_token": {
                      "type": "string",
                      "description": "JWT for authenticated API access"
                    },
                    "expires_in": {
                      "type": "integer",
                      "description": "Token validity duration in seconds",
                      "example": 2628288
                    },
                    "token_type": {
                      "type": "string",
                      "example": "Bearer"
                    },
                    "scope": {
                      "type": "string",
                      "example": "read write"
                    },
                    "refresh_token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid credentials or missing parameters"
          }
        }
      }
    },
    "/api/enterprise/company/enrich/single/": {
      "post": {
        "tags": ["Enrichment"],
        "operationId": "companyInstantEnrichment",
        "summary": "Company Instant Enrichment",
        "description": "Delivers structured data for a single company across sections such as firmographics, , funding, headcount, and more.\nReturns the enriched data directly in the response.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["company", "sections"],
                "properties": {
                  "company": {
                    "type": "string",
                    "description": "A permalink or URL of the company to enrich.",
                    "example": "canva"
                  },
                  "sections": {
                    "type": "array",
                    "description": "Sections of data to include in the enrichment response. Pass all values to get full data.",
                    "uniqueItems": true,
                    "items": {
                      "type": "string",
                      "enum": [
                        "firmographics",
                        "gtm_and_business_model",
                        "headcount",
                        "funding",
                        "public_company_financials",
                        "uk_private_company_financials",
                        "acquisitions",
                        "investments",
                        "website_traffic"
                      ]
                    }
                  }
                },
                "example": {
                  "company": "",
                  "sections": ["firmographics" ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Enrichment data returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {"type": "string", "example": "success"},
                    "data": {"type": "object", "description": "Enriched company data keyed by section name."}
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/company/enrich/": {
      "post": {
        "tags": ["Enrichment"],
        "operationId": "companyEnrichBatch",
        "summary": "Company Instant Enrichment (Batch)",
        "description": "Delivers / data for one or more companies. Returns a `request_id` for async polling.",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["companies", "sections"],
                "properties": {
                  "companies": {
                    "type": "array",
                    "description": "List of company permalinks or URLs to enrich.",
                    "items": {"type": "string"},
                    "example": ["tesla-motors", "stripe"]
                  },
                  "sections": {
                    "type": "array",
                    "description": "Sections of data to include in the enrichment response. Select one or more values.",
                    "uniqueItems": true,
                    "items": {
                      "type": "string",
                      "enum": [
                        "firmographics",
                        "gtm_and_business_model",
                        "headcount",
                        "funding",
                        "public_company_financials",
                        "uk_private_company_financials",
                        "acquisitions",
                        "investments",
                        "website_traffic",
                        "products_and_services",
                        "product_launches",
                        "strategic_initiatives",
                        "partnerships",
                        "business_model",
                        "key_customers",
                        "management_profiles",
                        "employee_sentiment",
                        "product_sentiment"
                      ]
                    },
                    "example": ["firmographics"]
                  },
                  "parameters": {
                    "type": "object",
                    "description": "Optional parameters to customize the output.",
                    "properties": {
                      "custom_fields": {
                        "type": "array",
                        "description": "List of custom fields to compute for each company.",
                        "items": {
                          "type": "object",
                          "required": ["field_name", "type", "prompt"],
                          "properties": {
                            "field_name": {
                              "type": "string",
                              "description": "Name of the custom field.",
                              "example": "AI Readiness"
                            },
                            "type": {
                              "type": "string",
                              "description": "Data type of the field.",
                              "enum": ["text"],
                              "example": "text"
                            },
                            "prompt": {
                              "type": "string",
                              "description": "Prompt used to generate the custom field value.",
                              "example": "Rate this company's AI readiness on a scale of 1-10 with reasoning"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "companies": ["tesla-motors", "stripe"],
                  "sections": ["firmographics"]
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request accepted",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/AsyncResponse"}
              }
            }
          }
        }
      }
    },
    "/api/enterprise/industry/enrich/": {
      "post": {
        "tags": ["Enrichment"],
        "operationId": "industryDeepIntelligence",
        "summary": "Industry Deep Intelligence",
        "description": "Generates structured insights for a given industry or sector. Returns a `request_id` for async polling.",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["topic"],
                "properties": {
                  "topic": {
                    "type": "string",
                    "description": "The industry topic to generate insights for.",
                    "example": "Enterprise SaaS security"
                  },
                  "sections": {
                    "type": "array",
                    "description": "Sections to include in the report. Select one or more values.",
                    "uniqueItems": true,
                    "items": {
                      "type": "string",
                      "enum": [
                        "market_size",
                        "quant_insights",
                        "trends_and_innovations",
                        "transactions_mna",
                        "transactions_fundraising",
                        "transactions_ipo",
                        "partnerships",
                        "tier1_intelligence",
                        "case_studies",
                        "industry_regulations"
                      ]
                    },
                    "example": ["market_size", "trends_and_innovations", "transactions_mna"]
                  },
                  "parameters": {
                    "type": "object",
                    "description": "Optional filter parameters.",
                    "properties": {
                      "keywords": {
                        "type": "array",
                        "description": "Keywords to focus the analysis on.",
                        "items": {"type": "string"},
                        "example": ["zero trust", "SIEM"]
                      },
                      "geography": {
                        "type": "array",
                        "description": "Geographic scope as ISO country codes.",
                        "items": {"type": "string"},
                        "example": ["USA"]
                      },
                      "definition": {
                        "type": "string",
                        "description": "A custom definition of the industry to guide report generation.",
                        "example": "B2B software focused on enterprise cybersecurity"
                      },
                      "sample_companies": {
                        "type": "array",
                        "description": "Permalinks of representative companies in the industry.",
                        "items": {"type": "string"},
                        "example": ["crowdstrike", "sentinel"]
                      }
                    }
                  }
                },
                "example": {
                  "industry": "Enterprise SaaS security",
                  "sections": ["market_size", "trends_and_innovations", "transactions_mna"],
                  "parameters": {
                    "keywords": ["zero trust", "SIEM"],
                    "geography": ["USA"],
                    "definition": "B2B software focused on enterprise cybersecurity",
                    "sample_companies": ["crowdstrike", "sentinel"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request accepted",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/AsyncResponse"}
              }
            }
          }
        }
      }
    },
    "/api/enterprise/company/product-reviews/": {
      "get": {
        "tags": [
          "Enrichment"
        ],
        "operationId": "getProductReviews",
        "summary": "Product Reviews",
        "description": "Fetch G2 product reviews for a given company.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Company permalink or URL (e.g., `salesforce`)"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Product reviews returned"
          }
        }
      }
    },
    "/api/enterprise/company/filings/": {
      "get": {
        "tags": [
          "Enrichment"
        ],
        "operationId": "getFilings",
        "summary": "Fetch Filings Data",
        "description": "Fetch SEC filings (10-K, 10-Q, 8-K, etc.) for a public company.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Company permalink or URL"
          },
          {
            "name": "filing_type",
            "in": "query",
            "schema": {
              "type": "string",
              "example": "10-K"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filings data returned"
          }
        }
      }
    },
    "/api/enterprise/company/employee-reviews/": {
      "get": {
        "tags": [
          "Enrichment"
        ],
        "operationId": "getEmployeeReviews",
        "summary": "Employee Reviews",
        "description": "Fetch Glassdoor employee reviews for a company.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Employee reviews returned"
          }
        }
      }
    },
    "/api/enterprise/company/earnings-transcripts/": {
      "get": {
        "tags": [
          "Enrichment"
        ],
        "operationId": "getEarningsTranscripts",
        "summary": "Fetch Earnings Transcripts",
        "description": "Fetch earnings call transcripts for a public company.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Company permalink or URL"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Earnings transcripts returned"
          }
        }
      }
    },
    "/api/enterprise/market-map/enrich/": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "operationId": "marketMap",
        "summary": "Market Map",
        "description": "Generates a long list of companies operating in a given market, enriched with structured data.\nSupports filtering by geography, company type, employee count, funding stage, financial metrics, and more.\nReturns a `request_id` for async polling.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "topic"
                ],
                "properties": {
                  "topic": {
                    "type": "string",
                    "example": "AI-powered CRM software"
                  },
                  "parameters": {
                    "type": "object",
                    "description": "Optional filter parameters object. Send empty object if no filters needed.",
                    "default": {},
                    "properties": {
                      "detailed_query": {
                        "type": "string",
                        "default": "",
                        "example": ""
                      },
                      "keywords": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": [],
                        "example": []
                      },
                      "sample_companies": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": [],
                        "example": []
                      },
                      "geography": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": [],
                        "example": []
                      },
                      "company_type": {
                        "type": "string",
                        "enum": ["private", "public", "all"],
                        "default": "",
                        "example": ""
                      },
                      "employee_count": {
                        "type": "array",
                        "description": "Filter by employee headcount range. Pass an empty array to include all headcounts.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["1-10", "11-50", "51-100", "101-250", "251-500", "501-1000", "1001-5000", "5001-10000", "10000+"]
                        },
                        "default": [],
                        "example": []
                      },
                      "founded_year": {
                        "type": "object",
                        "description": "Filter by company founding year. Accepts `from` and/or `to` integer values.",
                        "properties": {
                          "from": {"type": "integer", "description": "Minimum founding year (inclusive)"},
                          "to": {"type": "integer", "description": "Maximum founding year (inclusive)"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "funding_stage": {
                        "type": "array",
                        "description": "Filter by funding stage. Pass an empty array to include all stages.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["Non-Equity Assistance", "Angel round", "Pre-seed", "Seed", "Series A", "Series B", "Series C", "Series D", "Series E", "Series F", "Series G", "Series H", "Series I", "Series J", "Corporate-Funded", "Debt-Funded", "Private equity round", "Others"]
                        },
                        "default": [],
                        "example": []
                      },
                      "total_funding": {
                        "type": "object",
                        "description": "Filter by total funding amount raised. Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum total funding in USD"},
                          "to": {"type": "number", "description": "Maximum total funding in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "last_funding_round": {
                        "type": "object",
                        "description": "Filter by last funding round amount. Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum last funding round in USD"},
                          "to": {"type": "number", "description": "Maximum last funding round in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "revenue": {
                        "type": "object",
                        "description": "Filter by annual revenue. Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum annual revenue in USD"},
                          "to": {"type": "number", "description": "Maximum annual revenue in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "ebitda": {
                        "type": "object",
                        "description": "Filter by EBITDA. Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum EBITDA in USD"},
                          "to": {"type": "number", "description": "Maximum EBITDA in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "net_income": {
                        "type": "object",
                        "description": "Filter by net income. Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum net income in USD"},
                          "to": {"type": "number", "description": "Maximum net income in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "ev_ebitda": {
                        "type": "object",
                        "description": "Filter by EV/EBITDA multiple. Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum EV/EBITDA multiple"},
                          "to": {"type": "number", "description": "Maximum EV/EBITDA multiple"}
                        },
                        "default": {},
                        "example": {}
                      }
                    }
                  }
                },
                "example": {
                  "topic": "AI-powered CRM software",
                  "parameters": {
                    "detailed_query": "",
                    "keywords": [],
                    "sample_companies": [],
                    "geography": [],
                    "company_type": "",
                    "employee_count": [],
                    "founded_year": {},
                    "funding_stage": [],
                    "total_funding": {},
                    "last_funding_round": {},
                    "revenue": {},
                    "ebitda": {},
                    "net_income": {},
                    "ev_ebitda": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/company-peers/enrich/": {
      "post": {
        "tags": ["Discovery"],
        "operationId": "competitorList",
        "summary": "Competitor List",
        "description": "Generates a long list of companies similar to a given company, enriched with structured data.\nSupports filtering by geography, company type, employee count, funding stage, financial metrics, and more.\nReturns a `request_id` for async polling.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["company"],
                "properties": {
                  "company": {
                    "type": "string",
                    "description": "URL or permalink of the company whose peers need to be found.",
                    "example": "del-air"
                  },
                  "parameters": {
                    "type": "object",
                    "description": "Optional filter parameters. All fields must always be included in the request body — send empty values for any fields you do not want to filter on.",
                    "default": {},
                    "properties": {
                      "detailed_query": {
                        "type": "string",
                        "description": "A more descriptive query to refine the search scope.",
                        "default": "",
                        "example": "Residential home services companies"
                      },
                      "sample_companies": {
                        "type": "array",
                        "description": "Permalinks of representative companies or their complete URLs.",
                        "items": {"type": "string"},
                        "default": [],
                        "example": ["service-titan", "angi"]
                      },
                      "geography": {
                        "type": "array",
                        "description": "Geographic scope as ISO country codes (e.g. [\"USA\", \"GBR\"]). Pass an empty array for all geographies.",
                        "items": {"type": "string"},
                        "default": [],
                        "example": ["USA"]
                      },
                      "company_type": {
                        "type": "string",
                        "description": "Type of company to include.",
                        "enum": ["private", "public", "all"],
                        "default": "",
                        "example": "private"
                      },
                      "employee_count": {
                        "type": "array",
                        "description": "Filter by employee headcount range. Pass an empty array to include all headcounts.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["1-10", "11-50", "51-100", "101-250", "251-500", "501-1000", "1001-5000", "5001-10000", "10000+"]
                        },
                        "default": [],
                        "example": []
                      },
                      "founded_year": {
                        "type": "object",
                        "description": "Filter by company founding year.",
                        "properties": {
                          "from": {"type": "integer", "description": "Minimum founding year (inclusive)"},
                          "to": {"type": "integer", "description": "Maximum founding year (inclusive)"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "funding_stage": {
                        "type": "array",
                        "description": "Filter by funding stage. Pass an empty array to include all stages.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["Non-Equity Assistance", "Angel round", "Pre-seed", "Seed", "Series A", "Series B", "Series C", "Series D", "Series E", "Series F", "Series G", "Series H", "Series I", "Series J", "Corporate-Funded", "Debt-Funded", "Private equity round", "Others"]
                        },
                        "default": [],
                        "example": []
                      },
                      "total_funding": {
                        "type": "object",
                        "description": "Filter by total funding amount raised (in USD).",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum total funding in USD"},
                          "to": {"type": "number", "description": "Maximum total funding in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "last_funding_round": {
                        "type": "object",
                        "description": "Filter by last funding round amount (in USD).",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum last funding round in USD"},
                          "to": {"type": "number", "description": "Maximum last funding round in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "revenue": {
                        "type": "object",
                        "description": "Filter by annual revenue (in USD).",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum annual revenue in USD"},
                          "to": {"type": "number", "description": "Maximum annual revenue in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "ebitda": {
                        "type": "object",
                        "description": "Filter by EBITDA (in USD).",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum EBITDA in USD"},
                          "to": {"type": "number", "description": "Maximum EBITDA in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "net_income": {
                        "type": "object",
                        "description": "Filter by net income (in USD).",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum net income in USD"},
                          "to": {"type": "number", "description": "Maximum net income in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "ev_ebitda": {
                        "type": "object",
                        "description": "Filter by EV/EBITDA multiple.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum EV/EBITDA multiple"},
                          "to": {"type": "number", "description": "Maximum EV/EBITDA multiple"}
                        },
                        "default": {},
                        "example": {}
                      }
                    }
                  }
                },
                "example": {
                  "company": "del-air",
                  "parameters": {
                    "detailed_query": "Residential home services companies",
                    "sample_companies": ["service-titan", "angi"],
                    "geography": ["USA"],
                    "company_type": "private",
                    "employee_count": [],
                    "founded_year": {},
                    "funding_stage": [],
                    "total_funding": {},
                    "last_funding_round": {},
                    "revenue": {},
                    "ebitda": {},
                    "net_income": {},
                    "ev_ebitda": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request accepted",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/AsyncResponse"}
              }
            }
          }
        }
      }
    },
    "/api/enterprise/buyer-screening/enrich/": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "operationId": "buyerScreening",
        "summary": "Buyer Screening",
        "description": "Identifies potential acquirers for a target company based on strategic fit criteria.\nReturns a `request_id` for async polling.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["company"],
                "properties": {
                  "company": {
                    "type": "string",
                    "description": "Permalink or URL of the target company being sold/acquired.",
                    "example": "acme-security"
                  },
                  "parameters": {
                    "type": "object",
                    "description": "Optional filter parameters. All fields must always be included in the request body — send empty values for any fields you do not want to filter on.",
                    "default": {},
                    "properties": {
                      "detailed_query": {
                        "type": "string",
                        "description": "A descriptive query to refine the buyer search scope and strategic criteria.",
                        "default": "",
                        "example": "Looking for strategic acquirers in enterprise software"
                      },
                      "buyer_type": {
                        "type": "array",
                        "description": "Type of buyer to target. Pass an empty array to include all buyer types.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["strategic", "financial"]
                        },
                        "default": [],
                        "example": ["strategic"]
                      },
                      "company_type": {
                        "type": "string",
                        "description": "Type of company to include.",
                        "enum": ["private", "public", "all"],
                        "default": "",
                        "example": "public"
                      },
                      "geography": {
                        "type": "array",
                        "description": "Geographic scope as ISO country codes (e.g. [\"USA\", \"GBR\"]). Pass an empty array for all geographies.",
                        "items": {
                          "type": "string"
                        },
                        "default": [],
                        "example": ["USA"]
                      }
                    }
                  }
                },
                "example": {
                  "company": "acme-security",
                  "parameters": {
                    "detailed_query": "Looking for strategic acquirers in enterprise software",
                    "buyer_type": ["strategic"],
                    "company_type": "public",
                    "geography": ["USA"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/target-screening/enrich/": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "operationId": "targetScreening",
        "summary": "Target Screening",
        "description": "Identifies potential acquisition targets for an acquirer company based on strategic criteria.\nReturns a `request_id` for async polling.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["company"],
                "properties": {
                  "company": {
                    "type": "string",
                    "description": "Permalink or URL of the acquiring company.",
                    "example": "microsoft"
                  },
                  "parameters": {
                    "type": "object",
                    "description": "Optional filter parameters. All fields must always be included in the request body — send empty values for any fields you do not want to filter on.",
                    "default": {},
                    "properties": {
                      "detailed_query": {
                        "type": "string",
                        "description": "A descriptive query to refine the target search scope.",
                        "default": "",
                        "example": "Looking for B2B SaaS companies in the cybersecurity space"
                      },
                      "keywords": {
                        "type": "array",
                        "description": "Keywords used to identify and filter relevant target companies.",
                        "items": {"type": "string"},
                        "default": [],
                        "example": ["zero trust", "endpoint security"]
                      },
                      "sample_companies": {
                        "type": "array",
                        "description": "Permalinks of representative companies to anchor the target search.",
                        "items": {"type": "string"},
                        "default": [],
                        "example": ["crowdstrike", "sentinelone"]
                      },
                      "geography": {
                        "type": "array",
                        "description": "Geographic scope as ISO country codes (e.g. [\"USA\", \"GBR\"]). Pass an empty array for all geographies.",
                        "items": {"type": "string"},
                        "default": [],
                        "example": ["USA"]
                      },
                      "company_type": {
                        "type": "string",
                        "description": "Type of company to include.",
                        "enum": ["private", "public", "all"],
                        "default": "",
                        "example": "private"
                      },
                      "employee_count": {
                        "type": "array",
                        "description": "Filter by employee headcount range. Pass an empty array to include all headcounts.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["1-10", "11-50", "51-100", "101-250", "251-500", "501-1000", "1001-5000", "5001-10000", "10000+"]
                        },
                        "default": [],
                        "example": []
                      },
                      "founded_year": {
                        "type": "object",
                        "description": "Filter by company founding year. Accepts `from` and/or `to` integer values.",
                        "properties": {
                          "from": {"type": "integer", "description": "Minimum founding year (inclusive)"},
                          "to": {"type": "integer", "description": "Maximum founding year (inclusive)"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "funding_stage": {
                        "type": "array",
                        "description": "Filter by funding stage. Pass an empty array to include all stages.",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": ["Non-Equity Assistance", "Angel round", "Pre-seed", "Seed", "Series A", "Series B", "Series C", "Series D", "Series E", "Series F", "Series G", "Series H", "Series I", "Series J", "Corporate-Funded", "Debt-Funded", "Private equity round", "Others"]
                        },
                        "default": [],
                        "example": []
                      },
                      "total_funding": {
                        "type": "object",
                        "description": "Filter by total funding amount raised (in USD). Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum total funding in USD"},
                          "to": {"type": "number", "description": "Maximum total funding in USD"}
                        },
                        "default": {},
                        "example": {}
                      },
                      "revenue": {
                        "type": "object",
                        "description": "Filter by annual revenue (in USD). Accepts `from` and/or `to` values.",
                        "properties": {
                          "from": {"type": "number", "description": "Minimum annual revenue in USD"},
                          "to": {"type": "number", "description": "Maximum annual revenue in USD"}
                        },
                        "default": {},
                        "example": {}
                      }
                    }
                  }
                },
                "example": {
                  "company": "microsoft",
                  "parameters": {
                    "detailed_query": "Looking for B2B SaaS companies in the cybersecurity space",
                    "keywords": ["zero trust", "endpoint security"],
                    "sample_companies": ["crowdstrike", "sentinelone"],
                    "geography": ["USA"],
                    "company_type": "private",
                    "employee_count": [],
                    "founded_year": {},
                    "funding_stage": [],
                    "total_funding": {},
                    "revenue": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Request accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/newsfeed/news/": {
      "post": {
        "tags": ["Monitoring"],
        "operationId": "newsfeed",
        "summary": "Newsfeed",
        "description": "Fetches the latest news articles based on user-defined filters such as sentiment, geography, date range, and more. Results are returned directly in the response.",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "category": {
                    "type": "array",
                    "description": "List of news categories to filter by. E.g. `[\"Strategic Development\", \"Leadership & Governance\"]`. See [News Categories](../news-categories) for all available values.",
                    "items": {
                      "type": "string",
                      "enum": [ 
                        "Strategic Development",
                        "Capital Markets & Transactions",
                        "Leadership & Governance",
                        "Workforce & Talent",
                        "Financial Results & Performance",
                        "Regulatory & Compliance",
                        "Macro & Market Environment",
                        "Market Dynamic",
                        "Industry Disruption & Innovation",
                        "Risk & Crisis Events",
                        "Product Launches & Enhancements",
                        "Partnerships & Alliances",
                        "Geographic Expansion",
                        "Operational Milestones",
                        "Market Share & Positioning",
                        "Digital Transformation",
                        "Brand & Marketing Initiatives",
                        "Research, Development & Innovation",
                        "Sustainability & ESG",
                        "Pricing & Commercial Strategy",
                        "Equity Fund-Raising",
                        "Debt Financing",
                        "Mergers & Acquisitions",
                        "Divestitures & Asset Sales",
                        "IPOs & Follow-on Offerings",
                        "SPAC Deals & De-SPACs",
                        "Secondary Transactions",
                        "Shareholder Returns (Buybacks & Dividends)",
                        "Valuation Events",
                        "Deal Flow & Volume Statistics",
                        "Public-to-Private/Take-Private",
                        "C-Suite Appointments & Departures",
                        "Board Composition & Changes",
                        "Succession Planning",
                        "Organisational Restructuring",
                        "Executive Commentary & Interviews",
                        "Strategic Hiring",
                        "Workforce Reductions",
                        "Compensation & Benefits",
                        "Culture & Workplace Practices",
                        "Talent-Market Dynamics",
                        "Earnings Releases",
                        "Revenue & Growth Metrics",
                        "Profitability & Margins",
                        "Cash Flow & Capital Expenditure",
                        "Guidance & Forecast Revisions",
                        "Credit-Rating Actions",
                        "Sector Performance Dashboards",
                        "Regulatory Approvals & Certifications",
                        "Policy & Legislative Changes",
                        "Legal Proceedings & Litigation",
                        "Compliance & Reporting Updates",
                        "Intellectual Property",
                        "Antitrust & Competition",
                        "Data Privacy & Cybersecurity Regulation",
                        "Tax & Accounting Rules",
                        "Economic Indicators",
                        "Monetary Policy",
                        "Fiscal Policy",
                        "Trade, Tariffs & Sanctions",
                        "Consumer Behaviour & Spending",
                        "Labor-Market Statistics",
                        "Sector Outlook & Forecasts",
                        "Market Indices Performance",
                        "Institutional Flows & Positioning",
                        "Sector Rotation",
                        "Volatility & Risk Appetite",
                        "FX & Commodity Pricing",
                        "Liquidity Conditions",
                        "Investor Sentiment",
                        "Emerging Technologies",
                        "Technology Adoption & Disruption",
                        "Business-Model Evolution",
                        "Competitive Threats",
                        "Market-Structure Changes",
                        "Geopolitical Risk",
                        "Public-Health Crises",
                        "Natural Disasters",
                        "Operational Disruptions",
                        "Cybersecurity Incidents",
                        "Reputational Damage",
                        "Financial Distress & Restructuring",
                        "Supply-Chain Disruptions",
                        "Awards, Rankings & Recognitions",
                        "Conflicts of Interest & Related-Party Transactions",
                         "Others"
                      ]
                    },
                    "example": ["Strategic Development"]
                  },
                  "industry": {
                    "type": "array",
                    "description": "List of industry topics for which news articles should be fetched. See [Industry Names](../industry-names) for all available values.",
                    "items": {
                      "type": "string",
                      "enum": [
                        "Agriculture & Food",
                        "Agriculture & Food Production",
                        "Advertising & Marketing",
                        "Business & Public Services",
                        "Corporate & Business Services",
                        "Consumer & E-commerce",
                        "Consumer Packaged Goods (CPG)",
                        "Consumer Products & Retail",
                        "Education",
                        "Enterprise Software & Cloud",
                        "Energy & Utilities",
                        "Energy, Utilities & Environment",
                        "Financial & Insurance",
                        "Financial Services & Fintech",
                        "Gaming & Entertainment",
                        "Hardware, Technology & Telecom",
                        "Healthcare & Life Sciences",
                        "Home & Personal Services",
                        "Industrials, Manufacturing & Construction",
                        "Industrials & Manufacturing",
                        "Data, AI & ML Infrastructure",
                        "Media, Entertainment & Sports",
                        "Public Sector & GovTech",
                        "Real Estate & Construction",
                        "Semiconductors & Electronics",
                        "Telecommunications",
                        "Travel & Hospitality",
                        "Transportation & Logistics"
                      ]
                    },
                    "example": ["Enterprise SaaS", "Cybersecurity"]
                  },
                  "blacklisted": {
                    "type": "array",
                    "description": "List of publisher domains to exclude from results.",
                    "items": {"type": "string"},
                    "example": ["example.com", "spam.com"]
                  },
                  "limit": {
                    "type": "integer",
                    "description": "Maximum number of news articles to return. Default: 100, Max: 1000.",
                    "example": 100
                  },
                  "offset": {
                    "type": "integer",
                    "description": "Number of articles to skip before starting to return results.",
                    "example": 0
                  },
                  "published_date_after": {
                    "type": "string",
                    "description": "Start date for filtering news (e.g. `2024-01-01`).",
                    "example": "2026-04-01"
                  },
                  "published_date_before": {
                    "type": "string",
                    "description": "End date for filtering news (e.g. `2024-12-31`).",
                    "example": "2026-04-30"
                  },
                  "geo": {
                    "type": "array",
                    "description": "List of 3-letter ISO country codes to filter by geography.",
                    "items": {"type": "string"},
                    "example": ["USA"]
                  },
                  "sentiment": {
                    "type": "string",
                    "description": "Filter by article sentiment.",
                    "enum": ["positive", "negative", "neutral"],
                    "example": "positive"
                  },
                  "breaking_news": {
                    "type": "boolean",
                    "description": "Set to `true` to fetch breaking news only.",
                    "example": true
                  }
                },
                "example": {
                  "breaking_news": true,
                  "geo": ["USA"],
                  "sentiment": "positive",
                  "published_date_after": "2026-04-01",
                  "published_date_before": "2026-04-30"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "News articles returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {"type": "string", "example": "success"},
                    "data": {"type": "array", "description": "List of news articles."},
                    "count": {"type": "integer", "description": "Number of results returned."},
                    "total": {"type": "integer", "description": "Total number of matching articles."},
                    "limit": {"type": "integer"},
                    "offset": {"type": "integer"}
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/company/news/": {
      "get": {
        "tags": [
          "Monitoring"
        ],
        "operationId": "companyNewsMonitoring",
        "summary": "Company News Monitoring",
        "description": "Fetches the latest news articles for a given company, enriched with AI-generated summaries,\ncategories, sentiment, and publisher details. Results are returned directly in the HTTP response\n(no async polling needed).\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Company permalink or URL (e.g., `tesla` or `https://www.tesla.com/`).",
            "example": "tesla"
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of news categories to filter by.",
            "example": "PRODUCT RELATED"
          },
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Start date for news fetch (e.g., `2024-01-01`)."
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "End date for news fetch (e.g., `2024-12-31`)."
          },
          {
            "name": "publishers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of publisher domains to include."
          },
          {
            "name": "blacklisted",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of publisher domains to exclude."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 100,
              "maximum": 1000
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "News articles returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NewsArticle"
                      }
                    },
                    "count": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/industry/news/": {
      "get": {
        "tags": [
          "Monitoring"
        ],
        "operationId": "industryNewsMonitoring",
        "summary": "Industry News Monitoring",
        "description": "Fetches the latest news articles for a given industry topic, enriched with AI-generated summaries,\ncategories and publisher details. Results are returned directly in the HTTP response.",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "topic",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Industry topic for which news articles should be fetched (e.g., 'Warehouse Automation')."
          },
          {
            "name": "blacklisted",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of publisher domains to exclude from results."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 100,
              "maximum": 1000
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Start date for news fetch (e.g., `2024-01-01`)."
          },
          {
            "name": "end_date",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "End date for news fetch (e.g., `2024-12-31`)."
          },
          {
            "name": "geo",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of 3 letter ISO country codes."
          }
        ],
        "responses": {
          "200": {
            "description": "News articles returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NewsArticle"
                      }
                    },
                    "count": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/notebooks/company-research/": {
      "post": {
        "tags": [
          "Workflow Automation"
        ],
        "operationId": "companyResearch",
        "summary": "Company Research",
        "description": "Initiates a full company research workflow inside a Wokelo notebook.\nUse `/api/enterprise/report/status/` to track completion and\n`/api/enterprise/report/download/` to export to PDF, PPT, DOC, or JSON.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "company"
                ],
                "properties": {
                  "company": {
                    "type": "string",
                    "example": "openai"
                  },
                  "sections": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Workflow initiated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "notebook_id": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/notebooks/industry-research/": {
      "post": {
        "tags": [
          "Workflow Automation"
        ],
        "operationId": "industryResearch",
        "summary": "Industry Research",
        "description": "Initiates a full industry research workflow inside a Wokelo notebook.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "industry"
                ],
                "properties": {
                  "industry": {
                    "type": "string",
                    "example": "Generative AI"
                  },
                  "sections": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Workflow initiated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "notebook_id": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/notebooks/peer-comparison/": {
      "post": {
        "tags": [
          "Workflow Automation"
        ],
        "operationId": "peerComparison",
        "summary": "Peer Comparison",
        "description": "Initiates a peer/competitor comparison workflow for a set of companies inside a Wokelo notebook.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "companies"
                ],
                "properties": {
                  "companies": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "tesla-motors",
                      "rivian",
                      "lucid-motors"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Workflow initiated"
          }
        }
      }
    },
    "/api/enterprise/notebooks/custom-workflow/": {
      "post": {
        "tags": [
          "Workflow Automation"
        ],
        "operationId": "customWorkflow",
        "summary": "Custom Workflows",
        "description": "Runs a user-defined workflow within a Wokelo notebook using a custom prompt or template.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "workflow_prompt"
                ],
                "properties": {
                  "workflow_prompt": {
                    "type": "string",
                    "description": "Custom prompt describing the research task."
                  },
                  "companies": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "File IDs uploaded via `/api/enterprise/file/upload/`."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Workflow initiated"
          }
        }
      }
    },
    "/api/workflow_manager/start/": {
      "post": {
        "tags": ["Workflow Automation"],
        "operationId": "workflowStart",
        "summary": "Start Workflow",
        "description": "Starts generating a report for a given workflow type. Pass the appropriate `workflow` value to trigger Company Research, Industry Research, Peer Comparison, or a Custom Workflow. Returns a `report_id` to track and download the report.\n\n**Workflow values:**\n- `company_primer` – Company Research\n- `industry_primer` – Industry Research\n- `player_comparison` – Peer Comparison\n- Your custom workflow ID (e.g. `comp_research_f312g`) – Custom Workflows\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["workflow"],
                "properties": {
                  "workflow": {
                    "type": "string",
                    "description": "Workflow identifier. Use `company_primer`, `industry_primer`, `player_comparison`, or your custom workflow ID from the dashboard URL.",
                    "example": "company_primer"
                  },
                  "permalink": {
                    "type": "string",
                    "description": "Crunchbase permalink of the company. Required for company-based workflows (either `permalink` or `website` must be provided).",
                    "example": "wokelo-ai"
                  },
                  "website": {
                    "type": "string",
                    "description": "Website of the company. Required for company-based workflows (either `permalink` or `website` must be provided).",
                    "example": "wokelo.ai"
                  },
                  "websites": {
                    "type": "array",
                    "description": "Array of company websites to compare. Required for `player_comparison` workflow.",
                    "items": {"type": "string"},
                    "example": ["stripe.com", "paypal.com"]
                  },
                  "industry": {
                    "type": "string",
                    "description": "Company's industry. If not provided for company workflows, Wokelo will auto-detect it.",
                    "example": "Fintech"
                  },
                  "industry_research_topic": {
                    "type": "string",
                    "description": "For industry workflows: the industry to analyze (required). For company workflows: the company's industry (optional).",
                    "example": "Electric vehicles"
                  },
                  "workbook_name": {
                    "type": "string",
                    "description": "Name with which the workbook will be saved.",
                    "example": "Wokelo AI - Company Research"
                  },
                  "custom_files": {
                    "type": "array",
                    "description": "Files to include in the report. Use `fileName` values from the Upload File response.",
                    "items": {"type": "string"},
                    "example": ["file_116e55ec-041d-4c1e-897c-3adef1576a09"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Workflow started successfully. Returns the `report_id` to use with Get Report Status and Download Report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "report_id": {
                      "type": "integer",
                      "description": "Report ID for the initiated workflow report.",
                      "example": 123345
                    }
                  }
                },
                "example": {
                  "report_id": 123345
                }
              }
            }
          },
          "400": {
            "description": "Bad request – missing or invalid parameters"
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          }
        }
      }
    },
    "/api/enterprise/company/search": {
      "get": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "companySearch",
        "summary": "Company Search",
        "description": "Search for companies using name, website, or ticker. Returns a list of companies with their permalink and other attributes.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The search query string (e.g., company name, website or ticker).",
            "example": "wokelo"
          },
          {
            "name": "search_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": ["name", "website", "ticker"]
            },
            "description": "Field to search by. Supported values: `name`, `website`, `ticker`."
          },
          {
            "name": "company_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": ["private", "public", "all"],
              "default": "all"
            },
            "description": "Filter by company type. Use `all` to return all types (default)."
          }
        ],
        "responses": {
          "200": {
            "description": "Search results returned successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "data": {
                      "type": "array",
                      "description": "List of matching company objects.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": { "type": "string", "description": "Company name." },
                          "permalink": { "type": "string", "description": "Unique identifier/slug for the company." },
                          "short_description": { "type": "string", "description": "Brief description of the company." },
                          "founded_year": { "type": "string", "description": "Year the company was founded." },
                          "ipo_status": { "type": "string", "description": "IPO status.", "example": "private" },
                          "hq": { "type": "string", "description": "Headquarters location." },
                          "industries": { "type": "string", "description": "Industry or sector the company operates in." },
                          "website": { "type": "string", "format": "uri", "description": "Company website URL." },
                          "ticker": { "type": "string", "description": "Stock ticker symbol (if applicable)." },
                          "country_code": { "type": "string", "description": "ISO country code.", "example": "US" },
                          "country": { "type": "string", "description": "Full country name." },
                          "domain": { "type": "string", "description": "Company domain name." },
                          "last_funding_round": { "type": "string", "description": "Most recent funding round (e.g., Seed, Pre Seed)." }
                        }
                      }
                    },
                    "count": {
                      "type": "integer",
                      "description": "Total number of results returned.",
                      "example": 10
                    }
                  }
                },
                "example": {
                  "status": "success",
                  "data": [
                    {
                      "name": "Wokelo AI",
                      "permalink": "wokelo-ai",
                      "short_description": "Wokelo builds purpose-built AI agents for dealmaking and consulting.",
                      "founded_year": "2023",
                      "ipo_status": "private",
                      "hq": "Seattle, United States",
                      "industries": "AI Investment Research Platform",
                      "website": "https://www.wokelo.ai/",
                      "ticker": "",
                      "country_code": "US",
                      "country": "United States",
                      "domain": "wokelo.ai",
                      "last_funding_round": "Seed"
                    }
                  ],
                  "count": 10
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          }
        }
      }
    },
    "/api/assets/upload/": {
      "post": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "uploadFile",
        "summary": "Upload File",
        "description": "Upload files to Wokelo to supplement research reports with proprietary data. Each uploaded file receives a unique identifier (`fileName`) that can be referenced in the `custom_files` parameter when creating reports.\n\n- **Individual uploads preferred** – for best performance, upload files one at a time.\n- **Bulk upload limits** – maximum 10 files per request, 20 MB limit per file.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": ["files"],
                "properties": {
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    },
                    "description": "Array of files to be uploaded."
                  },
                  "fileUUID": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Your own UUIDs to track files. Must match the length and order of the `files` array. These UUIDs will be returned in the response alongside Wokelo's `fileName` identifiers.",
                    "example": ["a7f4b9e2c3", "k3m8n5p1q6"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Upload response including successfully uploaded files and any failures.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Overall upload status.",
                      "example": "success"
                    },
                    "success": {
                      "type": "array",
                      "description": "Array containing information on successfully uploaded files.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "fileName": {
                            "type": "string",
                            "description": "Wokelo's unique file identifier – use this in `custom_files` when creating reports.",
                            "example": "file_116e55ec-041d-4c1e-897c-3adef1576a09"
                          },
                          "originalName": {
                            "type": "string",
                            "description": "Original filename as uploaded.",
                            "example": "lemonade.pdf"
                          },
                          "mimeType": {
                            "type": "string",
                            "description": "Detected file type/format.",
                            "example": "pdf"
                          },
                          "uuid": {
                            "type": "string",
                            "description": "Your provided UUID (if supplied in request).",
                            "example": "a7f4b9e2c3"
                          }
                        }
                      }
                    },
                    "fails": {
                      "type": "array",
                      "description": "Array containing information about failed uploads (empty on full success).",
                      "items": {
                        "type": "object",
                        "properties": {
                          "originalName": {
                            "type": "string",
                            "description": "Filename that failed to upload."
                          },
                          "reason": {
                            "type": "string",
                            "description": "Reason the file upload failed."
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "status": "success",
                  "success": [
                    {
                      "fileName": "file_116e55ec-041d-4c1e-897c-3adef1576a09",
                      "originalName": "lemonade.pdf",
                      "mimeType": "pdf",
                      "uuid": "a7f4b9e2c3"
                    },
                    {
                      "fileName": "file_e30c7d3f-8bed-46b2-ae9c-eebc879323cc",
                      "originalName": "lemonade_diligence.pdf",
                      "mimeType": "pdf",
                      "uuid": "k3m8n5p1q6"
                    }
                  ],
                  "fails": []
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          }
        }
      }
    },
    "/api/enterprise/request/status/": {
      "get": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "requestStatus",
        "summary": "Request Status",
        "description": "Retrieves the current status of a previously submitted async API request.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "request_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "11db67b6-8345-4837-950f-87bbd8d7dcbe"
          }
        ],
        "responses": {
          "200": {
            "description": "Status returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/request/cancel/": {
      "post": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "requestCancel",
        "summary": "Request Cancel",
        "description": "Cancels a request already submitted. Pass the unique `request_id` to cancel a pending or in-progress async request.",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["request_id"],
                "properties": {
                  "request_id": {
                    "type": "string",
                    "description": "The unique identifier of the request to be cancelled.",
                    "example": "5b0eff60-366f-465c-b795-68837043a2d3"
                  }
                }
              },
              "example": {
                "request_id": "5b0eff60-366f-465c-b795-68837043a2d3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successfully cancelled.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "message": {
                      "type": "string",
                      "example": "Request has been cancelled."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request – missing or invalid `request_id`"
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          },
          "404": {
            "description": "Request not found"
          }
        }
      }
    },
    "/api/enterprise/request/result/": {
      "get": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "requestResult",
        "summary": "Request Result",
        "description": "Retrieves the final JSON result of a COMPLETED async request.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "request_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "11db67b6-8345-4837-950f-87bbd8d7dcbe"
          }
        ],
        "responses": {
          "200": {
            "description": "Result data returned"
          }
        }
      }
    },
    "/api/assets/get_notebook_status/": {
      "get": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "getReportStatus",
        "summary": "Get Report Status",
        "description": "Retrieves the current status of a previously triggered report using its unique ID. Poll this endpoint until the status is `Completed`, `Exported`, or `No Data Found`.\n\nPossible status values:\n- `Completed`\n- `Processing`\n- `Queued`\n- `Delayed`\n- `Exported`\n- `No Data Found`\n",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "report_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "The ID returned in the response to the start report request.",
            "example": 98564
          }
        ],
        "responses": {
          "200": {
            "description": "Report status returned successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "report_id": {
                      "type": "integer",
                      "description": "The unique report identifier.",
                      "example": 98564
                    },
                    "status": {
                      "type": "string",
                      "description": "Current status of the report.",
                      "enum": ["Completed", "Processing", "Queued", "Delayed", "Exported", "No Data Found"],
                      "example": "Delayed"
                    },
                    "title": {
                      "type": "string",
                      "description": "Title of the report.",
                      "example": "One Signal"
                    }
                  }
                },
                "example": {
                  "report_id": 98564,
                  "status": "Delayed",
                  "title": "One Signal"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          },
          "404": {
            "description": "Report not found"
          }
        }
      }
    },
    "/api/assets/download_report/": {
      "post": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "downloadReport",
        "summary": "Download Report",
        "description": "Downloads the generated report in the required format. Supported formats: `pdf`, `docx`, and `json`.\n\n- For `json` format, the response body contains the structured report data.\n- For `pdf` and `docx`, the response contains the binary file content.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["report_id", "file_type"],
                "properties": {
                  "report_id": {
                    "type": "integer",
                    "description": "ID of the report to be exported.",
                    "example": 84102
                  },
                  "file_type": {
                    "type": "string",
                    "description": "Export format.",
                    "enum": ["pdf", "docx", "json"],
                    "example": "json"
                  }
                }
              },
              "example": {
                "report_id": 84102,
                "file_type": "json"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Report downloaded successfully. Returns binary file for `pdf`/`docx`, or structured JSON data for `json` format.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Structured report data (returned only when `file_type` is `json`).",
                  "additionalProperties": true
                },
                "example": {
                  "Executive Summary": {
                    "Executive Summary": {
                      "summary": {
                        "source": [
                          {
                            "id": 1,
                            "title": "L4 Self-driving Vehicle Market Current Status and Future Prospects till 2033",
                            "url": "https://www.openpr.com/news/4132700/l4-self-driving-vehicle-market-current-status-and-future",
                            "publisher": "",
                            "date": ""
                          }
                        ]
                      }
                    }
                  }
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "Binary PDF file content."
                }
              },
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "Binary DOCX file content."
                }
              }
            }
          },
          "400": {
            "description": "Bad request – invalid `file_type` or missing `report_id`"
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          },
          "404": {
            "description": "Report not found"
          }
        }
      }
    },
    "/api/enterprise/company/earnings-calls/": {
      "get": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "fetchEarningsTranscripts",
        "summary": "Fetch Earnings Transcripts",
        "description": "Fetch earnings call transcripts for a public company. Supports year-range filtering via `from_year` and `to_year`.",
        "security": [{"bearerAuth": []}],
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Permalink or URL of the company.",
            "example": "salesforce"
          },
          {
            "name": "from_year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Start year of the date range.",
            "example": 2021
          },
          {
            "name": "to_year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "End year of the date range.",
            "example": 2023
          }
        ],
        "responses": {
          "200": {
            "description": "Earnings transcripts returned successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "data": {
                      "type": "array",
                      "description": "List of earnings call transcript objects.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "transcript_title": {
                            "type": "string",
                            "description": "Short title of the earnings call.",
                            "example": "Tesla, Inc. - Q4 2023"
                          },
                          "transcript_name": {
                            "type": "string",
                            "description": "Full name of the earnings call including date.",
                            "example": "Tesla, Inc., Q4 2023 Earnings Call, Jan 24, 2024"
                          },
                          "ticker": {
                            "type": "string",
                            "description": "Stock ticker symbol with exchange prefix.",
                            "example": "NASDAQ:TSLA"
                          },
                          "transcript_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "URL to the raw transcript file."
                          },
                          "date": {
                            "type": "string",
                            "format": "date",
                            "description": "Date the earnings call took place.",
                            "example": "2024-01-24"
                          },
                          "year": {
                            "type": "integer",
                            "description": "Fiscal year of the earnings call.",
                            "example": 2023
                          },
                          "quarter": {
                            "type": "integer",
                            "description": "Fiscal quarter of the earnings call (1–4).",
                            "example": 4
                          },
                          "transcript_data": {
                            "type": "object",
                            "description": "Full structured transcript content.",
                            "properties": {
                              "date": {
                                "type": "string",
                                "format": "date",
                                "description": "Date of the transcript."
                              },
                              "participant": {
                                "type": "array",
                                "description": "List of participants (executives and analysts) on the call.",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "name": { "type": "string", "description": "Participant full name." },
                                    "role": { "type": "string", "description": "Role category.", "example": "Executives" },
                                    "pro_id": { "type": "integer", "description": "Unique professional ID." },
                                    "job_title": { "type": "string", "description": "Participant's job title." },
                                    "description": { "type": "string", "description": "Role description." },
                                    "company_name": { "type": "string", "description": "Company the participant represents." },
                                    "transcript_person_id": { "type": "integer", "description": "Transcript-specific person ID." }
                                  }
                                }
                              },
                              "transcript": {
                                "type": "array",
                                "description": "Ordered list of speeches from the earnings call.",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "name": { "type": "string", "description": "Speaker's name." },
                                    "speech": { "type": "string", "description": "Full text of the speech segment." },
                                    "session": { "type": "string", "description": "Session type (e.g., Presenter Speech, Q&A).", "example": "Presenter Speech" },
                                    "person_id": { "type": "integer", "description": "ID of the speaker." },
                                    "person_company": { "type": "string", "nullable": true, "description": "Company of the speaker, if available." },
                                    "component_order": { "type": "integer", "description": "Order index of this speech within the transcript." }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "status": "success",
                  "data": [
                    {
                      "transcript_title": "Tesla, Inc. - Q4 2023",
                      "transcript_name": "Tesla, Inc., Q4 2023 Earnings Call, Jan 24, 2024",
                      "ticker": "NASDAQ:TSLA",
                      "transcript_url": "https://wkarticles.blob.core.windows.net/finnhub/snp_transcript_3003051",
                      "date": "2024-01-24",
                      "year": 2023,
                      "quarter": 4,
                      "transcript_data": {
                        "date": "2024-01-24",
                        "participant": [
                          {
                            "name": "Elon Musk",
                            "role": "Executives",
                            "pro_id": 27546373,
                            "job_title": "Co-Founder, Technoking of Tesla, CEO & Director",
                            "description": "Executives",
                            "company_name": "Tesla, Inc.",
                            "transcript_person_id": 175883
                          }
                        ],
                        "transcript": [
                          {
                            "name": "Martin Viecha",
                            "speech": "Good afternoon, everyone, and welcome to Tesla's Fourth Quarter 2023 Q&A Webcast.",
                            "session": "Presenter Speech",
                            "person_id": 370659,
                            "person_company": null,
                            "component_order": 0
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          },
          "404": {
            "description": "Company not found"
          }
        }
      }
    },
    "/api/assets/process_common/": {
      "post": {
        "tags": [
          "Workflow Automation"
        ],
        "operationId": "maActivity",
        "summary": "M&A Activity",
        "description": "Starts generating an Acquisitions workflow report for a specific company, providing structured intelligence on acquisition activity, target companies, and M&A landscape.\n\nUse `/api/assets/get_notebook_status/` to track completion and `/api/assets/download_report/` to export results.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["reportType", "reportSource", "payload"],
                "properties": {
                  "reportType": {
                    "type": "string",
                    "enum": ["acquisition_workflow"],
                    "default": "acquisition_workflow",
                    "description": "Fixed value for M&A Activity reports."
                  },
                  "reportSource": {
                    "type": "string",
                    "enum": ["WKLAPP"],
                    "default": "WKLAPP",
                    "description": "Source identifier for the report request."
                  },
                  "payload": {
                    "type": "object",
                    "required": ["topic", "workbook_name"],
                    "description": "Report configuration object.",
                    "properties": {
                      "topic": {
                        "type": "string",
                        "description": "Company name to generate the acquisitions report for."
                      },
                      "workbook_name": {
                        "type": "string",
                        "description": "Name to assign to the generated workbook."
                      },
                      "advanced_settings": {
                        "type": "object",
                        "description": "Advanced filtering options for the report.",
                        "properties": {
                          "company_type": {
                            "type": "string",
                            "enum": ["private", "public", "all"],
                            "default": "all",
                            "description": "Type of company to filter by."
                          },
                          "geography": {
                            "type": "array",
                            "items": {"type": "string"},
                            "description": "List of geographies to filter by (e.g. `[\"Worldwide\"]`)."
                          },
                          "funding_stage": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": ["Non-Equity Assistance", "Angel round", "Pre-seed", "Seed", "Series A", "Series B", "Series C", "Series D", "Series E", "Series F", "Series G", "Series H", "Series I", "Series J", "Corporate-Funded", "Debt-Funded", "Private equity round", "Others"]
                            },
                            "description": "Filter by funding stage. Pass an empty array to include all stages."
                          },
                          "employee_count": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": ["1-10", "11-50", "51-100", "101-250", "251-500", "501-1000", "1001-5000", "5001-10000", "10000+"]
                            },
                            "description": "Filter by employee headcount range. Pass an empty array to include all headcounts."
                          },
                          "total_funding_include_blanks": {
                            "type": "boolean",
                            "description": "Whether to include companies with no total funding data. Defaults to `true`."
                          }
                        }
                      }
                    }
                  }
                }
              },
              "examples": {
                "default": {
                  "summary": "M&A Activity",
                  "value": {
                    "reportType": "acquisition_workflow",
                    "reportSource": "WKLAPP",
                    "payload": {
                      "topic": "Salesforce",
                      "workbook_name": "Salesforce M&A Activity",
                      "advanced_settings": {
                        "company_type": "all",
                        "geography": ["Worldwide"],
                        "funding_stage": [],
                        "employee_count": [],
                        "total_funding_include_blanks": true
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Report initiated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "report_id": {
                      "type": "integer",
                      "description": "Report ID for the initiated M&A Activity report.",
                      "example": 123345
                    }
                  }
                },
                "example": {
                  "report_id": 123345
                }
              }
            }
          },
          "400": {
            "description": "Bad request – missing or invalid parameters."
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token."
          }
        }
      }
    },
    "/api/assets/process_fundraise/": {
      "post": {
        "tags": [
          "Workflow Automation"
        ],
        "operationId": "fundraisingActivity",
        "summary": "Fundraising Activity",
        "description": "Starts generating a Fundraise workflow report for a specific company, providing insights into fundraising activity, funding stages, and investor landscape.\n\nUse `/api/assets/get_notebook_status/` to track completion and `/api/assets/download_report/` to export results.\n",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["reportType", "reportSource", "payload"],
                "properties": {
                  "reportType": {
                    "type": "string",
                    "enum": ["fundraisers_workflow"],
                    "default": "fundraisers_workflow",
                    "description": "Fixed value for Fundraising Activity reports."
                  },
                  "reportSource": {
                    "type": "string",
                    "enum": ["WKLAPP"],
                    "default": "WKLAPP",
                    "description": "Source identifier for the report request."
                  },
                  "payload": {
                    "type": "object",
                    "required": ["topic", "workbook_name"],
                    "description": "Report configuration object.",
                    "properties": {
                      "topic": {
                        "type": "string",
                        "description": "Company name to generate the fundraise report for."
                      },
                      "workbook_name": {
                        "type": "string",
                        "description": "Name to assign to the generated workbook."
                      },
                      "advanced_settings": {
                        "type": "object",
                        "description": "Advanced filtering options for the report.",
                        "properties": {
                          "company_type": {
                            "type": "string",
                            "enum": ["private", "public", "all"],
                            "default": "all",
                            "description": "Type of company to filter by."
                          },
                          "geography": {
                            "type": "array",
                            "items": {"type": "string"},
                            "description": "List of geographies to filter by (e.g. `[\"Worldwide\"]`)."
                          },
                          "funding_stage": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": ["Non-Equity Assistance", "Angel round", "Pre-seed", "Seed", "Series A", "Series B", "Series C", "Series D", "Series E", "Series F", "Series G", "Series H", "Series I", "Series J", "Corporate-Funded", "Debt-Funded", "Private equity round", "Others"]
                            },
                            "description": "Filter by funding stage. Pass an empty array to include all stages."
                          },
                          "employee_count": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "enum": ["1-10", "11-50", "51-100", "101-250", "251-500", "501-1000", "1001-5000", "5001-10000", "10000+"]
                            },
                            "description": "Filter by employee headcount range. Pass an empty array to include all headcounts."
                          },
                          "total_funding_include_blanks": {
                            "type": "boolean",
                            "description": "Whether to include companies with no total funding data. Defaults to `true`."
                          }
                        }
                      }
                    }
                  }
                }
              },
              "examples": {
                "default": {
                  "summary": "Fundraising Activity",
                  "value": {
                    "reportType": "fundraisers_workflow",
                    "reportSource": "WKLAPP",
                    "payload": {
                      "topic": "Stripe",
                      "workbook_name": "Stripe Fundraising Activity",
                      "advanced_settings": {
                        "company_type": "all",
                        "geography": ["Worldwide"],
                        "funding_stage": [],
                        "employee_count": [],
                        "total_funding_include_blanks": true
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Report initiated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "report_id": {
                      "type": "integer",
                      "description": "Report ID for the initiated Fundraising Activity report.",
                      "example": 123345
                    }
                  }
                },
                "example": {
                  "report_id": 123345
                }
              }
            }
          },
          "400": {
            "description": "Bad request – missing or invalid parameters."
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token."
          }
        }
      }
    },
    "/api/wkl/notebook/configuration/": {
      "post": {
        "tags": [
          "Supporting APIs"
        ],
        "operationId": "notebookConfiguration",
        "summary": "Notebook Configuration",
        "description": "Retrieves and returns the settings originally configured while initiating the report. Pass the `notebook_id` (report ID) to get all initial configuration attributes used when triggering the workflow.",
        "security": [{"bearerAuth": []}],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["notebook_id"],
                "properties": {
                  "notebook_id": {
                    "type": "integer",
                    "description": "Report ID of the notebook for which the configuration is to be retrieved.",
                    "example": 103737
                  }
                }
              },
              "example": {
                "notebook_id": 103737
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Notebook configuration retrieved successfully. Returns all initial configuration attributes used when the workflow was triggered.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "All initial configuration attributes added while triggering the workflow.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Bad request – missing or invalid `notebook_id`"
          },
          "401": {
            "description": "Unauthorized – invalid or missing JWT token"
          },
          "404": {
            "description": "Notebook not found"
          }
        }
      }
    }
  }
}