Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.thehog.ai/llms.txt

Use this file to discover all available pages before exploring further.

A project in The Hog is a container for your go-to-market configuration: your brand voice, ICP personas, and the competitive landscape you’re operating in. When you attach a project to an API request, the response is enriched with that context — so instead of generic data, you get results that are already shaped around your messaging, your target buyers, and your competitive positioning.

How to pass project context

You have two ways to attach a project to any request. Both are equivalent; use whichever fits your integration style. Option 1 — Request header:
curl -X POST https://api.thehog.ai/api/companies/search \
  -H "Authorization: Bearer <your-api-key>" \
  -H "X-Project-Id: proj_abc123" \
  -H "Content-Type: application/json" \
  -d '{"tech_stack": ["Salesforce"], "hiring": true}'
Option 2 — Request body field:
curl -X POST https://api.thehog.ai/api/companies/search \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "tech_stack": ["Salesforce"],
    "hiring": true,
    "projectId": "proj_abc123"
  }'
When both X-Project-Id and projectId are present, the body field takes precedence.

What project context adds to responses

When project context is active, each company result includes a projectContext object alongside the standard firmographic and signal data:
{
  "id": "comp_xyz789",
  "name": "Acme Corp",
  "industry": "Software",
  "employee_count": 220,
  "is_hiring": true,
  "signal_summary": ["hiring in sales", "recent funding"],
  "projectContext": {
    "brandVoice": "Lead with ROI reduction messaging. Acme's sales team is expanding — emphasise onboarding speed.",
    "personas": ["VP of Sales", "RevOps Lead"],
    "isCompetitor": false,
    "competitiveIntel": null
  }
}
FieldDescription
brandVoicePositioning and messaging guidance tailored to this company, drawn from your project’s messaging guide
personasICP persona names or IDs from your project that match this account
isCompetitorWhether this company is tracked as a competitor in your project
competitiveIntelA summary of competitive intelligence when the company is a known competitor

Generate

When you call POST /api/generate with a project ID, the generated content uses your brand voice and persona context automatically — you don’t need to re-supply your messaging guide in the prompt.

Use cases

Personalized outreach

Generate outreach emails or sequences that reference your brand voice and speak directly to the persona matched at each target account.

Competitive filtering

Flag or exclude companies where isCompetitor is true so your outreach list only contains genuine prospects.

Persona-matched discovery

Surface which of your defined ICP personas maps to each company, so you know which job titles to search for in the people step.

Account-level messaging

Use brandVoice to pre-load account-specific talking points into your sales team’s CRM notes or sequence steps.

Example: company search with project context

The request below searches for hiring software companies and activates project context via the X-Project-Id header. The response for each matching company includes the projectContext block.
curl -X POST https://api.thehog.ai/api/companies/search \
  -H "Authorization: Bearer <your-api-key>" \
  -H "X-Project-Id: proj_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "industry": "Software",
    "hiring": true,
    "employee_count_min": 50,
    "employee_count_max": 500,
    "limit": 10
  }'
Example response (single result shown):
{
  "data": [
    {
      "id": "comp_xyz789",
      "name": "Acme Corp",
      "domain": "acme.com",
      "industry": "Software",
      "employee_count": 220,
      "is_hiring": true,
      "growth_band": "high",
      "signal_summary": ["hiring in sales", "high growth"],
      "match_score": 0.91,
      "projectContext": {
        "brandVoice": "Lead with ROI reduction messaging. Acme's sales team is expanding — emphasise onboarding speed.",
        "personas": ["VP of Sales", "RevOps Lead"],
        "isCompetitor": false,
        "competitiveIntel": null
      }
    }
  ],
  "meta": {
    "requestId": "req_11223344",
    "projectId": "proj_abc123",
    "cost": { "estimated": 1, "actual": 1 }
  }
}
Store your project ID in an environment variable (e.g. HOG_PROJECT_ID) and pass it as the X-Project-Id header on every request. This lets you switch projects without changing your request bodies.