Skip to main content

API Documentation

Integrate GetSignalHooks into your workflow. All authenticated endpoints accept a Bearer token via the Authorization header.

Trust surface

Evidence-first outputs

Hooks return source-backed context instead of ungrounded personalization filler, so teams can see why a line was generated before using it.

Trust surface

Built for workflow handoff

The API matches the product flow: generate hooks, save leads, assign sequences, then review queued drafts in Inbox.

Trust surface

Safe to test incrementally

Start with a single endpoint and a single API key. Free and Pro limits make it easy to verify value before rolling into production.

Quickstart flow

Map the API to the actual product workflow

If you are evaluating whether the API matches the app, this is the shortest path to proving it in a real outbound loop.

Base URL
https://app.getsignalhooks.com
  1. 1.Generate hooks from a company URL or company name.
  2. 2.Save the best contacts into Leads.
  3. 3.Assign a sequence if the lead should move into follow-up.
  4. 4.Approve or reject queued drafts in Inbox before send.

Authentication

You can authenticate using either your master bearer token (set in your environment) or a self-serve API key (prefixed with gsh_).

# Using bearer token
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://app.getsignalhooks.com/api/leads

# Using API key
curl -H "Authorization: Bearer gsh_your_api_key" \
  https://app.getsignalhooks.com/api/leads

Endpoints

POST/api/leadsAuth required

Create leads in batch. Duplicates by email are silently skipped.

Request Body

{
  "leads": [
    {
      "email": "jane@acme.com",
      "name": "Jane Doe",
      "title": "VP Sales",
      "company_name": "Acme Inc",
      "company_website": "https://acme.com",
      "source": "apollo"
    }
  ]
}

Response

{ "created": 1, "leads": [{ "id": "...", "email": "jane@acme.com", ... }] }
GET/api/leadsAuth required

List leads. Optional query params: status (cold|in_conversation|won|lost|unreachable), limit (max 500).

Response

{ "leads": [{ "id": "...", "email": "...", "status": "cold", ... }] }
POST/api/generate-hooks

Generate signal-backed opening lines from a company URL or name. Returns results with confidence scores and evidence tiers.

Request Body

{
  "url": "https://acme.com",
  "company_name": "Acme Inc"
}

Response

{
  "hooks": [
    {
      "text": "...",
      "angle": "trigger",
      "confidence": "high",
      "evidence_tier": "A",
      "source_snippet": "..."
    }
  ]
}
POST/api/generate-hooks-batch

Batch hook generation for multiple URLs (up to 75 for Pro tier).

Request Body

{ "urls": ["https://acme.com", "https://example.com"] }

Response

{ "results": [{ "url": "...", "hooks": [...] }] }
POST/api/generate-followupAuth required

Generate a follow-up email for a lead at a given sequence step. Uses angle rotation to avoid repeating hooks.

Request Body

{
  "lead_id": "uuid-here",
  "step": 1,
  "mode": "send",
  "avoid_angle": "trigger"
}

Response

{
  "email": { "subject": "...", "body": "..." },
  "meta": { "angle": "risk", "confidence": "high" }
}
GET/api/followup/dueAuth required

Check which leads are due for follow-up. Used by the n8n Follow-Up Engine workflow.

Response

{
  "leads": [
    {
      "lead_id": "...",
      "email_to": "...",
      "followup_step": 1,
      "mode": "send"
    }
  ]
}
GET/api/n8n-templatesAuth required

List available n8n workflow templates. Add ?id=<template-id> to get the full workflow JSON for import.

Response

{
  "templates": [
    {
      "id": "followup-core",
      "name": "Follow-Up Engine Core",
      "category": "automation",
      "requiredCredentials": ["GSH_AUTH", "GMAIL_CRED"]
    }
  ]
}
POST/api/api-keysAuth required

Create a new API key. The full key is only shown once in the response. Requires the master bearer token.

Request Body

{
  "name": "My Integration",
  "scopes": ["leads", "hooks", "followups"],
  "expires_at": "2026-12-31T00:00:00Z"
}

Response

{
  "id": "...",
  "name": "My Integration",
  "key": "gsh_abc123...",
  "key_prefix": "gsh_abc12345",
  "scopes": ["leads", "hooks", "followups"]
}

Rate Limits

TierHooks / monthBatch sizeFollow-Up Engine
Free ($0)103 URLs-
Pro ($79)75075 URLsIncluded