Skip to main content
GET
/
api
/
context
Get Company Profile
curl --request GET \
  --url https://app.puffle.ai/api/context \
  --header 'Authorization: Bearer <token>'
{
  "context": {
    "user": {
      "professionalBackground": "Former B2B SaaS founder, now building GTM tooling."
    },
    "company": {
      "overview": "Puffle is a unified GTM platform for founders doing outbound and enrichment in one place.",
      "product": "Lead finder + AI-enriched lists + multi-channel campaigns + buying signals.",
      "problemSolved": "Founders stitching together 8+ tools to run outbound.",
      "differentiators": "Single workspace, AI-native, built for founders who drive sales themselves.",
      "linkedInPresence": "Active founder-led presence, product-build-in-public posts."
    },
    "content": {
      "linkedInVoice": "Direct, candid, founder-to-founder.",
      "recommendedTopics": [
        "outbound",
        "GTM",
        "AI sales tooling"
      ],
      "preferredTone": "Confident, plainspoken, no fluff.",
      "contentFormats": [
        "text post",
        "carousel"
      ],
      "topicsToAvoid": [
        "politics",
        "motivational platitudes"
      ],
      "postingCadence": "3x/week"
    },
    "market": {
      "targetAudience": "Series A–B B2B SaaS founders running their own outbound.",
      "industryContext": "Crowded sales tooling market with fragmented point solutions.",
      "icpJobTitles": [
        "Founder",
        "CEO",
        "Head of GTM"
      ],
      "icpIndustries": [
        "B2B SaaS",
        "Developer tools",
        "Fintech"
      ],
      "icpCompanySizes": [
        "11-50",
        "51-200"
      ],
      "icpPainPoints": [
        "Manually coordinating across 8 tools",
        "Brittle enrichment data"
      ],
      "icpKeywords": [
        "outbound",
        "GTM",
        "founder-led sales"
      ]
    },
    "extra": null
  },
  "profile": {
    "firstName": "Sarah",
    "lastName": "Chen",
    "companyName": "Acme",
    "website": "https://acme.com",
    "linkedinUrl": "https://linkedin.com/in/sarahchen",
    "companyLinkedinUrl": "https://linkedin.com/company/acme",
    "lastContextRegeneratedAt": "2026-04-19T12:00:00Z"
  }
}
CLI:
puffle context

Overview

Returns the saved company profile for the authenticated workspace. The profile is the operating context Puffle uses for lead search, list enrichment, signal setup, and message generation. The response includes the assembled context object and profile identity fields. New or incomplete workspaces can return context: null or profile: null; treat that as setup not finished rather than an empty ICP.

AI agent notes

Call this during the boot sequence before launching workflows that depend on ICP, company positioning, content voice, or market assumptions. If the profile is missing, stop and ask the human to finish setup or provide the missing details. Do not invent company profile fields. To change the profile, fetch the current object first, preserve fields the human did not change, then send the full object to Update Company Profile.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Response

Context + identity fields. Both are null when the workspace has no profile row yet (new user mid-onboarding).

context
object
required

Assembled company profile. Each sub-object is stored as a separate JSONB column on user_profiles and merged at read time.

profile
object
required

Identity fields stored alongside the context JSONB columns. Returned so a UI can render a full profile page without a second round-trip.