{"components":{"schemas":{"AiEnrichment":{"description":"AI-generated intelligence under `enrichment.ai` (Cerebras).","properties":{"buying_signals":{"items":{"type":"string"},"type":"array"},"category":{"nullable":true,"type":"string"},"industry":{"nullable":true,"type":"string"},"lead_score":{"maximum":100,"minimum":0,"nullable":true,"type":"integer"},"model":{"nullable":true,"type":"string"},"score_reasoning":{"nullable":true,"type":"string"},"summary":{"nullable":true,"type":"string"}},"type":"object"},"CompanyEnrichment":{"description":"Company firmographics extracted from the site's structured data (schema.org JSON-LD, OpenGraph, HTML lang) under `enrichment.company`.","properties":{"business_hours":{"items":{"type":"string"},"type":"array"},"city":{"nullable":true,"type":"string"},"contact_email":{"nullable":true,"type":"string"},"contact_phone":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"employee_count":{"nullable":true,"type":"integer"},"employee_range":{"nullable":true,"type":"string"},"founded_year":{"nullable":true,"type":"integer"},"languages":{"items":{"type":"string"},"type":"array"},"latitude":{"nullable":true,"type":"number"},"legal_name":{"nullable":true,"type":"string"},"longitude":{"nullable":true,"type":"number"},"org_type":{"nullable":true,"type":"string"},"postal_code":{"nullable":true,"type":"string"},"price_range":{"nullable":true,"type":"string"},"rating":{"nullable":true,"type":"number"},"region":{"nullable":true,"type":"string"},"review_count":{"nullable":true,"type":"integer"},"source":{"nullable":true,"type":"string"},"street_address":{"nullable":true,"type":"string"}},"type":"object"},"CrawlJobConfig":{"properties":{"concurrency":{"default":4,"type":"integer"},"max_depth":{"default":1,"type":"integer"},"max_retries":{"default":2,"type":"integer"},"rate_limit_per_host_ms":{"default":1000,"type":"integer"},"respect_robots_txt":{"default":true,"type":"boolean"},"rotate_user_agents":{"default":true,"type":"boolean"},"timeout_ms":{"default":20000,"type":"integer"}},"type":"object"},"DomainIntel":{"description":"Domain & infrastructure intelligence under `enrichment.domain`.","properties":{"cdn":{"nullable":true,"type":"string"},"csp":{"type":"boolean"},"dns_provider":{"nullable":true,"type":"string"},"hosting_provider":{"nullable":true,"type":"string"},"hsts":{"type":"boolean"},"https":{"type":"boolean"},"ip_addresses":{"items":{"type":"string"},"type":"array"},"nameservers":{"items":{"type":"string"},"type":"array"},"security_score":{"maximum":100,"minimum":0,"type":"integer"},"server":{"nullable":true,"type":"string"},"x_content_type_options":{"type":"boolean"},"x_frame_options":{"type":"boolean"}},"type":"object"},"EmailIntelligence":{"description":"Email deliverability & domain intelligence attached to each lead under `enrichment.email`.","properties":{"catch_all":{"nullable":true,"type":"boolean"},"deliverability":{"enum":["high","medium","low","unknown"],"type":"string"},"disposable":{"type":"boolean"},"dkim":{"type":"boolean"},"dmarc":{"type":"boolean"},"domain":{"nullable":true,"type":"string"},"has_mx":{"type":"boolean"},"mx_provider":{"nullable":true,"type":"string"},"role_addresses":{"items":{"type":"string"},"type":"array"},"spf":{"type":"boolean"}},"type":"object"},"Error":{"properties":{"error":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"type":"object"}},"type":"object"},"Icp":{"description":"A workspace's Ideal Customer Profile. The freeform description drives scoring; the arrays are optional hints.","properties":{"company_keywords":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"disqualifiers":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"target_industries":{"items":{"type":"string"},"type":"array"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"type":"object"},"IcpMatch":{"description":"How well a lead fits the workspace's Ideal Customer Profile, under `enrichment.icp` (AI-scored).","properties":{"matched_signals":{"items":{"type":"string"},"type":"array"},"model":{"nullable":true,"type":"string"},"reasoning":{"nullable":true,"type":"string"},"score":{"maximum":100,"minimum":0,"nullable":true,"type":"integer"},"verdict":{"enum":["strong","medium","weak"],"nullable":true,"type":"string"}},"type":"object"},"Job":{"type":"object"},"Lead":{"description":"An extracted lead. `enrichment` carries email deliverability, domain/infra, AI intelligence, and ICP fit.","properties":{"company_name":{"nullable":true,"type":"string"},"emails":{"items":{"type":"string"},"type":"array"},"enrichment":{"properties":{"ai":{"$ref":"#/components/schemas/AiEnrichment"},"company":{"$ref":"#/components/schemas/CompanyEnrichment"},"domain":{"$ref":"#/components/schemas/DomainIntel"},"email":{"$ref":"#/components/schemas/EmailIntelligence"},"icp":{"$ref":"#/components/schemas/IcpMatch"},"phone":{"$ref":"#/components/schemas/PhoneIntel"},"quality":{"$ref":"#/components/schemas/WebsiteQuality"},"seo":{"$ref":"#/components/schemas/SeoAnalysis"}},"type":"object"},"phones":{"items":{"type":"string"},"type":"array"},"website":{"type":"string"}},"type":"object"},"Paginated":{"properties":{"data":{"items":{},"type":"array"},"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"},"PhoneIntel":{"description":"Phone intelligence under `enrichment.phone` (country from the E.164 calling code).","properties":{"countries":{"items":{"type":"string"},"type":"array"},"line_types":{"items":{"type":"string"},"type":"array"},"primary_country":{"nullable":true,"type":"string"}},"type":"object"},"SeoAnalysis":{"description":"On-page SEO analysis of the entry page under `enrichment.seo`.","properties":{"external_links":{"type":"integer"},"h1_count":{"type":"integer"},"has_canonical":{"type":"boolean"},"has_favicon":{"type":"boolean"},"has_open_graph":{"type":"boolean"},"has_robots_txt":{"type":"boolean"},"has_sitemap":{"type":"boolean"},"has_structured_data":{"type":"boolean"},"has_twitter_card":{"type":"boolean"},"has_viewport":{"type":"boolean"},"image_count":{"type":"integer"},"images_with_alt":{"type":"integer"},"internal_links":{"type":"integer"},"issues":{"items":{"type":"string"},"type":"array"},"lang":{"nullable":true,"type":"string"},"meta_description_length":{"type":"integer"},"robots_meta":{"nullable":true,"type":"string"},"score":{"maximum":100,"minimum":0,"type":"integer"},"title_length":{"type":"integer"},"word_count":{"type":"integer"}},"type":"object"},"WebsiteQuality":{"description":"Composite website-quality score under `enrichment.quality`.","properties":{"data_completeness_score":{"type":"integer"},"deliverability_score":{"type":"integer"},"grade":{"enum":["A","B","C","D","F"],"type":"string"},"score":{"maximum":100,"minimum":0,"type":"integer"},"security_score":{"type":"integer"},"seo_score":{"type":"integer"}},"type":"object"}},"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"X-API-Key","type":"apiKey"},"BearerAuth":{"scheme":"bearer","type":"http"}}},"info":{"description":"Extract business leads from websites at scale. Authenticate with an API key (X-API-Key) or a Bearer access token.","title":"OrbiCrawl AI API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/ai/assistant":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"required":["message"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Assistant reply"}},"summary":"In-dashboard AI assistant grounded in the workspace's data"}},"/ai/jobs/{id}/icp-match-all":{"post":{"description":"Scores up to 20 leads per call. Repeat while remaining_unscored > 0. Rate limited to 20/hour per workspace.","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"scored, failed, remaining_unscored, out_of_credits, credits_remaining"}},"summary":"Score a job's unscored leads against the workspace ICP"}},"/ai/leads/{id}/email":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"product":{"type":"string"},"tone":{"type":"string"}},"required":["product"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Email draft"}},"summary":"Generate a personalized outreach email for a lead — charges credits"}},"/ai/leads/{id}/enrich":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"ai":{"$ref":"#/components/schemas/AiEnrichment"}},"type":"object"}}},"description":"AI enrichment"},"402":{"description":"Insufficient credits"},"503":{"description":"AI not configured"}},"summary":"AI-enrich a lead (summary, category, industry, lead score) — charges credits"}},"/ai/leads/{id}/icp-match":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"icp":{"$ref":"#/components/schemas/IcpMatch"}},"type":"object"}}},"description":"ICP fit"},"400":{"description":"No ICP configured for the workspace"},"402":{"description":"Insufficient credits"},"503":{"description":"AI not configured"}},"summary":"Score a lead against the workspace's Ideal Customer Profile — charges credits"}},"/ai/leads/{id}/outreach":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Up to 20 generations, newest first"}},"summary":"Stored outreach generations for a lead"},"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"kind":{"enum":["first_line","cold_email","linkedin_opener","pitch","follow_up"],"type":"string"},"product":{"description":"What you are offering","type":"string"},"tone":{"type":"string"}},"required":["kind","product"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Generated content + credits_remaining"},"402":{"description":"Insufficient credits"}},"summary":"Generate and store an outreach asset"}},"/ai/search":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"type":"integer"},"query":{"type":"string"}},"required":["query"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Interpreted filter + matching leads"}},"summary":"Natural-language lead search — AI translates the query into a filter and returns matching leads"}},"/analytics/forecast":{"get":{"responses":{"200":{"description":"Forecast"}},"summary":"Usage & credit forecast — avg daily burn, days-until-empty, 30-day projection"}},"/analytics/overview":{"get":{"responses":{"200":{"description":"Analytics overview"}},"summary":"Workspace analytics — activity charts, top segments, quality/deliverability breakdowns"}},"/billing/currencies":{"get":{"responses":{"200":{"description":"Currencies"}},"security":[],"summary":"Supported display currencies + FX rates"}},"/billing/overview":{"get":{"responses":{"200":{"description":"Billing overview"}},"summary":"Subscription, wallet and recent ledger"}},"/billing/plans":{"get":{"parameters":[{"in":"query","name":"currency","schema":{"type":"string"}}],"responses":{"200":{"description":"Plans"}},"security":[],"summary":"Public plan catalog (optional ?currency= converts prices)"}},"/compliance/deletion-requests":{"get":{"responses":{"200":{"description":"Requests"}},"summary":"List deletion requests"},"post":{"responses":{"201":{"description":"Created"}},"summary":"File a data-deletion request"}},"/compliance/export":{"get":{"responses":{"200":{"description":"JSON export file"}},"summary":"Export all workspace data as JSON (GDPR portability)"}},"/compliance/leads":{"delete":{"responses":{"200":{"description":"Erased count"}},"summary":"Erase all leads (right to erasure)"}},"/compliance/retention":{"put":{"responses":{"200":{"description":"Updated policy"}},"summary":"Set the lead data-retention window (days)"}},"/digests":{"get":{"responses":{"200":{"description":"Subscriptions"}},"summary":"List digest subscriptions"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string"},"frequency":{"enum":["daily","weekly","monthly"],"type":"string"},"include_changes":{"type":"boolean"},"include_new_leads":{"type":"boolean"},"include_recommendations":{"type":"boolean"},"include_top_icp":{"type":"boolean"},"include_verification":{"type":"boolean"},"slack_webhook":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"201":{"description":"Digest scheduled"}},"summary":"Schedule a recurring digest by email and/or Slack"}},"/discovery":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"type":"integer"},"query":{"type":"string"}},"required":["query"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Candidate domains to crawl"}},"summary":"Search-engine discovery — find candidate company websites for a query"}},"/discovery/maps":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"limit":{"type":"integer"},"query":{"type":"string"}},"required":["query"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Businesses"},"503":{"description":"Provider not configured"}},"summary":"Google Maps / Places discovery (needs GOOGLE_PLACES_API_KEY)"}},"/health":{"get":{"responses":{"200":{"description":"OK"}},"security":[],"summary":"Liveness + dependency check"}},"/hiring/companies":{"get":{"description":"Ranked by number of matching open roles — more open roles is a proxy for a larger budget.","parameters":[{"in":"query","name":"tech","schema":{"type":"string"}},{"in":"query","name":"title","schema":{"type":"string"}},{"in":"query","name":"country","schema":{"type":"string"}},{"in":"query","name":"posted_within_days","schema":{"type":"integer"}},{"description":"Only companies with at least this many matching roles","in":"query","name":"min_roles","schema":{"type":"integer"}},{"in":"query","name":"limit","schema":{"default":50,"type":"integer"}}],"responses":{"200":{"description":"company_name, domain, open_roles, latest_posted_at, sample_titles"}},"summary":"Companies hiring, aggregated into a lead list"}},"/hiring/search":{"get":{"description":"Job postings indexed from public ATS boards. A posted role is a dated buying signal: it names the work a company is paying for right now.","parameters":[{"description":"Technology named in the posting; aliases resolve (reactjs -> React)","in":"query","name":"tech","schema":{"type":"string"}},{"description":"Substring of the job title","in":"query","name":"title","schema":{"type":"string"}},{"in":"query","name":"country","schema":{"example":"IN","type":"string"}},{"in":"query","name":"remote","schema":{"type":"boolean"}},{"in":"query","name":"posted_within_days","schema":{"example":7,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":200,"type":"integer"}}],"responses":{"200":{"description":"Matching postings with company, location, dates and detected technologies"}},"summary":"Open roles matching a hiring signal"}},"/hiring/technologies":{"get":{"description":"Doubles as the option list for the tech filter. A vendor naming its own product is excluded, so Databricks postings do not make 'Databricks' look like market demand.","responses":{"200":{"description":"technology, category, open_roles, companies"}},"summary":"What the market is hiring for, most in demand first"}},"/icp":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Icp"}}},"description":"ICP"}},"summary":"Get the workspace's Ideal Customer Profile"},"put":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Icp"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Icp"}}},"description":"Saved ICP"}},"summary":"Create or update the workspace's Ideal Customer Profile"}},"/integrations":{"get":{"responses":{"200":{"description":"Integrations"}},"summary":"List outbound integrations (CRM / Zapier / Make / n8n)"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"auth_token":{"type":"string"},"auto_push":{"type":"boolean"},"config":{"description":"Provider-specific: airtable {base,table}; pipedrive {domain}; zoho {client_id,client_secret,region,module}","type":"object"},"field_map":{"description":"Destination column overrides, e.g. {\"company_name\": \"Account\"}","type":"object"},"name":{"type":"string"},"provider":{"enum":["webhook","hubspot","pipedrive","zoho","airtable","google_sheets","slack"],"type":"string"},"target_url":{"type":"string"}},"required":["provider","name"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Connected"}},"summary":"Connect an integration (webhook | hubspot | pipedrive | zoho | airtable | google_sheets | slack)"}},"/integrations/pushes":{"get":{"responses":{"200":{"description":"Push history"}},"summary":"Recent integration push attempts, including retries"}},"/integrations/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Removed"}},"summary":"Remove an integration"}},"/integrations/{id}/push":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"job_id":{"type":"string"},"lead_ids":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"}},"type":"object"}}}},"responses":{"200":{"description":"Pushed count"}},"summary":"Push leads to the integration (by job_id or lead_ids)"}},"/jobs":{"get":{"parameters":[{"in":"query","name":"page","schema":{"type":"integer"}},{"in":"query","name":"per_page","schema":{"type":"integer"}},{"in":"query","name":"status","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Paginated"}}},"description":"A page of jobs"}},"summary":"List crawl jobs"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"config":{"$ref":"#/components/schemas/CrawlJobConfig"},"name":{"type":"string"},"urls":{"items":{"type":"string"},"type":"array"}},"required":["urls"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Job created"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient credits"}},"summary":"Create a crawl job from one or more URLs"}},"/jobs/csv":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"config":{"description":"JSON-encoded CrawlJobConfig","type":"string"},"file":{"format":"binary","type":"string"},"name":{"type":"string"}},"type":"object"}}}},"responses":{"201":{"description":"Job created"}},"summary":"Create a crawl job from a CSV upload (multipart/form-data)"}},"/jobs/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Job"}},"summary":"Get a job"}},"/jobs/{id}/cancel":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Canceled"}},"summary":"Cancel a running job (refunds unspent credits)"}},"/jobs/{id}/events":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"text/event-stream"}},"summary":"Server-Sent Events stream of live progress"}},"/jobs/{id}/export":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"format":{"enum":["csv","xlsx","json"],"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"Presigned download URL"}},"summary":"Export a job's leads (csv | xlsx | json)"}},"/jobs/{id}/leads":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A page of leads"}},"summary":"List leads for a job"}},"/leads":{"get":{"responses":{"200":{"description":"A page of leads"}},"summary":"List all leads in the workspace"}},"/leads/capture":{"post":{"description":"Files the lead under the workspace's 'Browser extension' job and verifies the supplied addresses. Re-capturing a domain updates the existing lead. Costs no credits.","requestBody":{"content":{"application/json":{"schema":{"properties":{"company_name":{"type":"string"},"emails":{"items":{"type":"string"},"type":"array"},"meta_description":{"type":"string"},"page_title":{"type":"string"},"phones":{"items":{"type":"string"},"type":"array"},"socials":{"type":"object"},"technologies":{"items":{"type":"string"},"type":"array"},"url":{"type":"string"}},"required":["url"],"type":"object"}}},"required":true},"responses":{"200":{"description":"lead_id, job_id, updated, emails_verified"}},"summary":"Save a page as a lead (browser extension)"}},"/leads/duplicates":{"get":{"responses":{"200":{"description":"Duplicate groups"}},"summary":"Duplicate leads grouped by registrable domain"}},"/leads/{id}/emails":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Addresses with status, confidence (0-100), provenance and verification timestamps"}},"summary":"Per-address email verification state for a lead"}},"/leads/{id}/emails/verify":{"post":{"description":"DNS-level by default; SMTP mailbox probing when the operator enables ENABLE_SMTP_VERIFY. Rate limited to 30/hour per workspace.","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Updated addresses"},"429":{"description":"Rate limited"}},"summary":"Re-verify every address on a lead now"}},"/leads/{id}/emails/{email_id}/history":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"email_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Append-only verification checks, newest first"}},"summary":"Verification history for one address"}},"/leads/{id}/notes":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Notes, newest first"}},"summary":"Notes on a lead"},"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"maxLength":5000,"type":"string"}},"required":["body"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Note created"}},"summary":"Add a note to a lead"}},"/leads/{id}/tags":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Tags"}},"summary":"Tags on a lead"},"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"},"tag_id":{"format":"uuid","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Assigned"}},"summary":"Assign a tag to a lead (by id, or create by name)"}},"/saved-searches":{"get":{"responses":{"200":{"description":"Saved searches, most-recently-used first"}},"summary":"List saved lead searches"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"filters":{"type":"object"},"name":{"maxLength":80,"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Saved"}},"summary":"Save a lead search"}},"/schedules":{"get":{"responses":{"200":{"description":"Schedules"}},"summary":"List crawl schedules & monitors"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"incremental":{"type":"boolean"},"interval_minutes":{"minimum":5,"type":"integer"},"kind":{"enum":["schedule","monitor"],"type":"string"},"name":{"type":"string"},"urls":{"items":{"type":"string"},"type":"array"}},"required":["name","urls","interval_minutes"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Schedule created"}},"summary":"Create a recurring crawl or change monitor"}},"/schedules/changes":{"get":{"responses":{"200":{"description":"Changes"}},"summary":"Recent content-change events (website monitoring)"}},"/schedules/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deleted"}},"summary":"Delete a schedule"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Schedule"}},"summary":"Get a schedule"},"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Updated"}},"summary":"Update a schedule (enable/pause, interval, urls)"}},"/schedules/{id}/run":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Job started"}},"summary":"Run a schedule immediately"}},"/tags":{"get":{"responses":{"200":{"description":"Tags"}},"summary":"List workspace lead tags with usage counts"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"color":{"enum":["neutral","info","success","warning","danger"],"type":"string"},"name":{"maxLength":40,"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Tag created"}},"summary":"Create a tag"}},"/tools/extract-contacts":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"}}},"required":true},"responses":{"200":{"description":"emails, phones, socials"},"429":{"description":"Daily free limit reached"}},"security":[],"summary":"Extract emails, phones and socials from a page (public, no auth)"}},"/tools/tech":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"}}},"required":true},"responses":{"200":{"description":"technologies: [{ name, category }]"}},"security":[],"summary":"Detect the technologies behind a website (public, no auth)"}},"/tools/verify-email":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"status, confidence (0-100), has_mx, is_role, disposable, reasons"},"429":{"description":"Daily free limit reached"}},"security":[],"summary":"Verify an email address (public, no auth)"}},"/workflows":{"get":{"responses":{"200":{"description":"Workflows"}},"summary":"List automation workflows"},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"},"steps":{"items":{"type":"object"},"type":"array"},"trigger":{"enum":["manual","job_completed"],"type":"string"}},"required":["name","steps"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Created"}},"summary":"Create a workflow (steps run against a job's leads)"}},"/workflows/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deleted"}},"summary":"Delete a workflow"}},"/workflows/{id}/run":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"job_id":{"type":"string"}},"required":["job_id"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Run summary"}},"summary":"Run a workflow against a job's leads"}},"/workspace/branding":{"get":{"responses":{"200":{"description":"Branding"}},"summary":"Get white-label branding"},"put":{"responses":{"200":{"description":"Saved branding"}},"summary":"Update white-label branding (admin)"}}},"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"servers":[{"url":"/api/v1"}]}