Skip to content

GTM Context

These endpoints expose the org’s GTM context - the same data Studio uses to author campaigns. They are read-only and used by AI agents (MCP) and CLI tools to ground campaign generation in your specific brand, ICPs, and recent activity.

EndpointMethodDescription
/global-context/documentsGETList global context documents (44 per org - brand brief, value props, etc.)
/personasGETList campaign-builder personas
/icpsGETList Ideal Customer Profiles
/activitiesGETList recent CRM activities

For machine-readable schemas see the interactive API docs.


List Global Context Documents

GET /global-context/documents

Returns the org’s global context documents. Each org has 44 of these total: 21 context docs (brand brief, value props, personas, ICPs, messaging house, etc.), 16 intelligence docs (website scrape, competitor data, keywords), 6 research reports, and 1 campaign intelligence brief.

Query Parameters

ParameterTypeDefaultDescription
categorystring-Filter by context category
limitinteger501-200

Example

Terminal window
curl "https://be.graph8.com/api/v1/global-context/documents?limit=10" \
-H "Authorization: Bearer $API_KEY"

Response

{
"data": [
{
"id": "ctx_001",
"display_name": "Brand Brief",
"file_type": "brand_brief",
"category": "brand",
"folder_path": "/context/brand",
"status": "completed",
"priority": 100,
"version": 3,
"content": "# Acme brand brief\n\nMission: ...",
"created_at": "2026-03-01T10:00:00Z",
"updated_at": "2026-04-10T14:30:00Z"
}
]
}

Documents are sorted by priority DESC, updated_at DESC.


List Personas

GET /personas

Returns campaign-builder personas (target buyer profiles with messaging signals).

Query Parameters

ParameterTypeDefaultDescription
statusstring-Filter by persona status
limitinteger501-200

Example

Terminal window
curl "https://be.graph8.com/api/v1/personas" \
-H "Authorization: Bearer $API_KEY"

Response

{
"data": [
{
"id": "per_001",
"title": "VP of Marketing at mid-market SaaS",
"priority": 1,
"confidence": "high",
"confidence_score": 0.9,
"why_target": "Owns demand gen budget...",
"key_signals": ["hiring SDRs", "expanding into NA"],
"expected_receptivity": "warm",
"campaign_approach": "Lead with peer proof",
"recommended_goal": "Book discovery call",
"status": "approved",
"pinned": true,
"source": "studio_generated",
"created_at": "2026-03-15T10:00:00Z",
"updated_at": "2026-04-01T14:30:00Z"
}
]
}

Sorted: pinned first, then by priority ASC, updated_at DESC.


List ICPs

GET /icps

Returns Ideal Customer Profiles (firmographic + signal definitions used to find target accounts).

Query Parameters

ParameterTypeDefaultDescription
statusstring-Filter by ICP status
limitinteger501-200

Example

Terminal window
curl "https://be.graph8.com/api/v1/icps" \
-H "Authorization: Bearer $API_KEY"

Response

{
"data": [
{
"id": "icp_001",
"name": "Mid-market SaaS - North America",
"description": "Series B-D SaaS companies, 100-1000 FTE, US/CA HQ",
"firmographics": {"employee_min": 100, "employee_max": 1000, "country": ["US", "CA"]},
"tech_stack": {"required": ["Salesforce"]},
"buying_signals": ["hiring SDRs", "raised funding"],
"fit_score": 0.85,
"opportunity_score": 0.7,
"readiness_score": 0.8,
"total_score": 0.78,
"status": "approved",
"pinned": false,
"priority": 2,
"created_at": "2026-03-15T10:00:00Z",
"updated_at": "2026-04-01T14:30:00Z"
}
]
}

List Activities

GET /activities

Returns recent CRM activities (calls, meetings, emails, notes) across the org.

Query Parameters

ParameterTypeDefaultDescription
activity_typestring-Filter by type
contact_idstring-Filter to one contact
company_idstring-Filter to one company
deal_idstring-Filter to one deal
limitinteger501-200

Example

Terminal window
curl "https://be.graph8.com/api/v1/activities?activity_type=meeting&limit=20" \
-H "Authorization: Bearer $API_KEY"

Response

{
"data": [
{
"id": "act_001",
"activity_type": "meeting",
"activity_subtype": "discovery_call",
"subject": "Discovery call with Acme",
"description": "Walked through current outbound stack...",
"company_id": "comp_42",
"deal_id": "deal_7",
"contact_id": "cont_101",
"owner_id": "user_5",
"owner_name": "Jane Rep",
"activity_date": "2026-04-10T15:00:00Z",
"duration_minutes": 30,
"status": "completed",
"outcome": "qualified",
"next_steps": "Send pricing options by Friday",
"extra_data": {},
"source": "calendar_sync",
"external_id": "gcal_evt_xyz"
}
]
}

Sorted by activity_date DESC.