Capability catalog

Everything the platform exposes

One map of the graph8 Developer API: REST resources, webhook events, and the reference workflow. Generated from the frozen contract (graph8 Developer API v1.0.0), so it matches the API exactly.
54 REST resources
460 API operations
37 Active webhook events
1 Reference workflow
01 / Resources

54 resources, 460 operations.

Grouped by resource. Expand any card for its exact operations. The full request and response shapes render in the API reference.

Appointments GET17 POST20 PUT2 PATCH8 DELETE8 55
  • GET /appointments/bookings List the caller's bookings (paginated)
  • POST /appointments/bookings Create a booking (charges credits + sends notifications)
  • GET /appointments/bookings/{booking_uid} Get a single booking by UID
  • POST /appointments/bookings/{booking_uid}/cancel Cancel a booking and notify both parties
  • POST /appointments/bookings/{booking_uid}/confirm Confirm or reject a pending booking
  • POST /appointments/bookings/{booking_uid}/guests Add guest attendees to a booking
  • PATCH /appointments/bookings/{booking_uid}/location Update the meeting location and notify both parties
  • POST /appointments/bookings/{booking_uid}/mark-absent Mark host or attendees as no-show
  • POST /appointments/bookings/{booking_uid}/notes Add an internal note to a booking
  • POST /appointments/bookings/{booking_uid}/request-reschedule Send a reschedule-request email to the attendee (host action)
  • POST /appointments/bookings/{booking_uid}/reschedule Reschedule a booking to a new start time
  • PATCH /appointments/bookings/{booking_uid}/sequence Associate a booking with a sequence (or detach)
  • GET /appointments/bookings/insights Get aggregated booking insights
  • GET /appointments/calendars List connected calendar accounts
  • DELETE /appointments/calendars/{credential_id} Disconnect a calendar account
  • GET /appointments/calendars/destination Get the destination calendar (with event-type fallback)
  • PUT /appointments/calendars/destination Set the destination calendar for new booking events
  • POST /appointments/calendars/selected Select a sub-calendar for conflict checking
  • DELETE /appointments/calendars/selected Deselect a sub-calendar from conflict checking
  • GET /appointments/conferencing List connected conferencing providers
  • POST /appointments/conferencing/{provider}/default Set the default conferencing provider
  • DELETE /appointments/conferencing/{provider}/disconnect Disconnect a conferencing provider
  • PUT /appointments/conferencing/{provider}/link Set or update a link-based conferencing provider's meeting URL
  • POST /appointments/conferencing/connect/{provider} Connect a conferencing provider (link-based / no-OAuth only)
  • GET /appointments/conferencing/default Get the current default conferencing provider
  • POST /appointments/event-types Create a bookable event type
  • GET /appointments/event-types/{event_type_id} Get full detail for one bookable event type
  • PATCH /appointments/event-types/{event_type_id} Update an event type (partial)
  • DELETE /appointments/event-types/{event_type_id} Delete an event type
  • POST /appointments/event-types/{event_type_id}/duplicate Duplicate an event type (with a '-copy' slug)
  • GET /appointments/out-of-office List out-of-office entries for the calling user
  • POST /appointments/out-of-office Create an out-of-office entry
  • PATCH /appointments/out-of-office/{ooo_uuid} Update an out-of-office entry
  • DELETE /appointments/out-of-office/{ooo_uuid} Delete an out-of-office entry
  • GET /appointments/routing-forms List routing forms (includes response_count)
  • POST /appointments/routing-forms Create a routing form
  • GET /appointments/routing-forms/{form_id} Get a single routing form
  • PATCH /appointments/routing-forms/{form_id} Update a routing form (partial)
  • DELETE /appointments/routing-forms/{form_id} Delete a routing form (cascades fields and routes)
  • POST /appointments/routing-forms/{form_id}/duplicate Duplicate a routing form (copy with all fields and routes)
  • GET /appointments/routing-forms/{form_id}/responses List captured responses for a routing form (paginated)
  • GET /appointments/schedules List the caller's availability schedules
  • POST /appointments/schedules Create an availability schedule
  • GET /appointments/schedules/{schedule_id} Get a schedule with availability and linked event types
  • PATCH /appointments/schedules/{schedule_id} Update a schedule (partial)
  • DELETE /appointments/schedules/{schedule_id} Delete a schedule
  • GET /appointments/schedules/{schedule_id}/availability Get availability rules and overrides for a schedule
  • PATCH /appointments/schedules/{schedule_id}/availability Replace availability rules and/or date overrides for a schedule
  • POST /appointments/schedules/{schedule_id}/set-default Set a schedule as the caller's default
  • GET /appointments/workflows List all workflows
  • POST /appointments/workflows Create a workflow
  • GET /appointments/workflows/{workflow_id} Get a single workflow
  • PATCH /appointments/workflows/{workflow_id} Update a workflow (partial)
  • DELETE /appointments/workflows/{workflow_id} Delete a workflow and cancel pending reminders
  • POST /appointments/workflows/{workflow_id}/toggle Activate or deactivate a workflow
Radar GET28 POST10 PUT1 PATCH2 DELETE1 42
  • GET /radar/aeo Aeo Overview
  • GET /radar/aeo/probes Aeo Probes
  • POST /radar/aeo/run Aeo Run
  • POST /radar/alerts/dispatch Dispatch Alerts
  • GET /radar/competitors List Competitors
  • POST /radar/competitors Create Competitor
  • GET /radar/competitors/{competitor_id} Get Competitor
  • PATCH /radar/competitors/{competitor_id} Update Competitor
  • DELETE /radar/competitors/{competitor_id} Delete Competitor
  • GET /radar/competitors/{competitor_id}/ads Get Competitor Ads
  • GET /radar/competitors/{competitor_id}/battle-card Competitor Battle Card
  • GET /radar/competitors/{competitor_id}/discover-pages Discover Competitor Pages
  • GET /radar/competitors/{competitor_id}/engagers Get Competitor Engagers
  • GET /radar/competitors/{competitor_id}/pages Get Competitor Pages
  • GET /radar/competitors/{competitor_id}/posts Get Competitor Posts
  • POST /radar/competitors/{competitor_id}/scan Scan Competitor
  • GET /radar/competitors/{competitor_id}/traffic Get Competitor Traffic
  • POST /radar/competitors/bulk Bulk Add Competitors
  • GET /radar/competitors/suggestions Competitor Suggestions
  • GET /radar/feature-matrix Feature Matrix
  • GET /radar/gaps List Gaps
  • PATCH /radar/gaps/{gap_id} Update Gap
  • POST /radar/gaps/analyze Analyze Gaps
  • GET /radar/initiatives List Initiatives
  • POST /radar/initiatives/measure Measure Initiatives
  • GET /radar/keyword-gap Keyword Gap
  • GET /radar/monitoring/ads Monitoring Ads
  • GET /radar/monitoring/ads/{ad_id} Monitoring Ad Detail
  • GET /radar/monitoring/content Monitoring Content
  • GET /radar/monitoring/linkedin Monitoring Linkedin
  • GET /radar/monitoring/page-history Page History
  • GET /radar/opportunities List Opportunities
  • POST /radar/opportunities/{gap_id}/approve Approve Opportunity
  • POST /radar/opportunities/approve-all Approve All Opportunities
  • GET /radar/optimization-runs Optimization Runs
  • GET /radar/overview Overview
  • GET /radar/own-traffic-estimate Own Traffic Estimate
  • POST /radar/scan-all Scan All Competitors
  • GET /radar/settings Get Settings
  • PUT /radar/settings Put Settings
  • GET /radar/snapshots/{snapshot_id}/compare Compare Snapshot
  • GET /radar/traffic Traffic
Marketplace GET22 POST10 PATCH3 DELETE1 36
  • GET /marketplace/admin/analytics/funnel Section A — SDR supply funnel (platform admin only)
  • GET /marketplace/admin/analytics/hires Section C — hire conversion, termination, rehire metrics
  • GET /marketplace/admin/analytics/operational Section F — operational health (SLAs, disputes, payouts)
  • GET /marketplace/admin/analytics/revenue Section D — GMV, net commission, money-loop distribution
  • PATCH /marketplace/applications/{application_id} Update an applicant (shortlist / reject / link a hiring)
  • GET /marketplace/job-posts List the calling org's job posts
  • POST /marketplace/job-posts Create a marketplace job post (Open Role)
  • GET /marketplace/job-posts/{post_id} Get one job post the org owns
  • PATCH /marketplace/job-posts/{post_id} Edit a job post or change its status (publish/pause/close/filled)
  • DELETE /marketplace/job-posts/{post_id} Delete a job post the org owns
  • GET /marketplace/job-posts/{post_id}/applications List applicants for a job post (applicant inbox)
  • GET /marketplace/me/connect/status Get the caller's Stripe Connect onboarding status
  • GET /marketplace/me/hirings List the caller's active marketplace hirings
  • GET /marketplace/me/invoices List the caller's marketplace invoices
  • POST /marketplace/me/invoices Submit a monthly invoice for a hiring contract
  • POST /marketplace/me/invoices/{invoice_id}/approve SDR approves their own draft invoice (sdr_review → pending)
  • GET /marketplace/me/meetings List the caller's meetings across all hirings
  • GET /marketplace/me/meetings/{meeting_id} Get a single meeting (SDR side)
  • PATCH /marketplace/me/meetings/{meeting_id} Update meeting notes + contact info (SDR side)
  • GET /marketplace/me/offers List the caller's pending marketplace hire offers
  • POST /marketplace/me/offers/{hiring_id}/accept Accept a pending marketplace hire offer (SDR side)
  • POST /marketplace/me/offers/{hiring_id}/reject Reject a pending marketplace hire offer (SDR side)
  • GET /marketplace/me/payout-account Get the caller's payout account status
  • GET /marketplace/me/profile Get the caller's marketplace SDR profile
  • GET /marketplace/org/hirings List active SDR hirings for the caller's org
  • GET /marketplace/org/hirings/{hiring_id} Get one hiring contract (org side)
  • POST /marketplace/org/hirings/{hiring_id}/terminate Terminate an active hiring contract (org side)
  • POST /marketplace/org/hirings/{hiring_id}/withdraw Withdraw a pending hiring offer (org side)
  • GET /marketplace/org/invoices List SDR invoices owed by the caller's org
  • GET /marketplace/org/invoices/{invoice_id} Get one SDR invoice (org side)
  • POST /marketplace/org/invoices/{invoice_id}/approve Approve an SDR invoice → triggers immediate Stripe charge
  • POST /marketplace/org/invoices/{invoice_id}/dispute Dispute an SDR invoice within the grace period
  • GET /marketplace/talent Browse available SDR/AE/GTM marketplace profiles
  • GET /marketplace/talent/{sdr_id} Get one talent profile (masked unless already hired)
  • POST /marketplace/talent/{sdr_id}/hire Send a hire offer to a talent profile
  • GET /marketplace/talent/{sdr_id}/match Get the cached talent-org match score
Workflows GET14 POST9 PUT1 DELETE1 25
  • GET /workflows List workflows for the caller's org
  • POST /workflows Create a workflow
  • GET /workflows/{action_id} Get a workflow's full graph
  • PUT /workflows/{action_id} Update a workflow's graph
  • DELETE /workflows/{action_id} Delete a workflow
  • POST /workflows/{action_id}/execute Execute a workflow
  • POST /workflows/{action_id}/plan Preview a normalized execution plan for a saved workflow
  • POST /workflows/{action_id}/trigger-reset Reset the trigger cursor to now
  • GET /workflows/{action_id}/trigger-status Trigger status (cursor + config) for a workflow
  • GET /workflows/dispositions List valid call disposition values (system + this org's custom)
  • GET /workflows/executions List workflow executions for the caller's org (recover a lost execution_id)
  • GET /workflows/executions/{execution_id} Get execution status / result
  • POST /workflows/executions/{execution_id}/pause Pause a running execution (tenant-checked)
  • POST /workflows/executions/{execution_id}/resume Resume a paused execution (tenant-checked)
  • POST /workflows/executions/{execution_id}/stop Permanently stop an execution (tenant-checked)
  • GET /workflows/forms/{form_id}/fields Discover form field names from recent submissions (resolver helper)
  • GET /workflows/inbox-tags List AI Inbox tags for the org (resolver helper)
  • GET /workflows/integrations/roam/groups List Roam groups connected to the org (resolver helper)
  • GET /workflows/integrations/roam/users List Roam users connected to the org (resolver helper)
  • GET /workflows/integrations/slack/channels List Slack channels for the org (resolver helper)
  • GET /workflows/integrations/slack/users List Slack users for the org (resolver helper)
  • GET /workflows/mcp-servers List MCP servers connected to the org (resolver helper)
  • GET /workflows/node-types/schema Catalog of all workflow node types and their config schemas
  • POST /workflows/plan Preview a normalized execution plan for an inline workflow graph
  • POST /workflows/validate Validate a workflow graph (structural + reference resolution)
GTM Campaigns GET9 POST5 PUT4 PATCH2 DELETE2 22
  • GET /campaigns List Campaigns
  • POST /campaigns Create Campaign
  • GET /campaigns/{campaign_id} Get Campaign
  • PATCH /campaigns/{campaign_id} Update Campaign
  • GET /campaigns/{campaign_id}/ad-images List Campaign Ad Images
  • POST /campaigns/{campaign_id}/ad-images/{image_id}/hide Hide Campaign Ad Image
  • PUT /campaigns/{campaign_id}/audience Attach Audience To Campaign
  • GET /campaigns/{campaign_id}/documents List Campaign Documents
  • POST /campaigns/{campaign_id}/documents Create Campaign Document
  • GET /campaigns/{campaign_id}/documents/{document_id} Get Campaign Document
  • PUT /campaigns/{campaign_id}/documents/{document_id} Update Campaign Document
  • DELETE /campaigns/{campaign_id}/documents/{document_id} Delete Campaign Document
  • GET /campaigns/{campaign_id}/full Get Campaign Full
  • PATCH /campaigns/{campaign_id}/full Patch Campaign Full
  • POST /campaigns/{campaign_id}/launch Launch Campaign
  • GET /campaigns/{campaign_id}/metrics Get Campaign Metrics
  • GET /campaigns/{campaign_id}/sequence Get Campaign Sequence
  • PUT /campaigns/{campaign_id}/sequence Update Campaign Sequence
  • POST /campaigns/{campaign_id}/sequence/steps Create Campaign Step
  • PUT /campaigns/{campaign_id}/sequence/steps/{step_id} Update Campaign Step
  • DELETE /campaigns/{campaign_id}/sequence/steps/{step_id} Delete Campaign Step
  • GET /campaigns/ideas List Campaign Ideas
GTM Context GET9 POST6 PUT1 PATCH4 20
  • GET /activities List Activities
  • GET /company-profile Get Company Profile
  • PUT /company-profile Update Company Profile
  • POST /enablement/assets Upload Enablement Asset
  • GET /global-context/documents List Global Context Documents
  • PATCH /global-context/documents/{doc_id} Update Global Context Document
  • POST /global-context/regenerate Regenerate Global Context
  • GET /icps List Icps
  • POST /icps Create Icp
  • PATCH /icps/{icp_id} Update Icp
  • POST /icps/{icp_id}/archive Archive Icp
  • GET /intelligence-data List Intelligence Data
  • GET /mailboxes List Mailboxes
  • GET /mailboxes/{mailbox_id}/warmup Get Mailbox Warmup Analytics
  • GET /personas List Personas
  • POST /personas Create Persona
  • PATCH /personas/{persona_id} Update Persona
  • POST /personas/{persona_id}/archive Archive Persona
  • GET /research-reports List Research Reports
  • PATCH /research-reports/{report_id} Update Research Report
Intent GET1 POST13 DELETE1 15
  • DELETE /intent/keywords/{keyword_id} Keywords Delete
  • POST /intent/keywords/{keyword_id}/companies Keyword Companies
  • POST /intent/keywords/{keyword_id}/contacts Keyword Contacts
  • POST /intent/keywords/{keyword_id}/filters Keyword Update Filters
  • POST /intent/keywords/{keyword_id}/urls Keyword Urls
  • POST /intent/keywords/create-from-domain Keywords Create From Domain
  • POST /intent/keywords/create-from-search Keywords Create From Search
  • POST /intent/keywords/list Keywords List
  • POST /intent/pages-by-domain Pages By Domain
  • POST /intent/pages/contacts Pages Contacts
  • POST /intent/pages/search Pages Search
  • POST /intent/pages/visitor-counts Pages Visitor Counts
  • POST /intent/pages/visitors Pages Visitors
  • GET /intent/stats Intent Stats
  • POST /intent/url-companies Url Companies
Newsletter GET7 POST6 PUT1 PATCH1 15
  • GET /newsletters List Newsletters
  • POST /newsletters Create Newsletter
  • GET /newsletters/{newsletter_id} Get Newsletter
  • GET /newsletters/{newsletter_id}/issues List Issues
  • POST /newsletters/{newsletter_id}/issues Create Issue
  • GET /newsletters/{newsletter_id}/issues/{issue_id} Get Issue
  • PUT /newsletters/{newsletter_id}/issues/{issue_id} Update Issue
  • GET /newsletters/{newsletter_id}/issues/{issue_id}/analytics/kpis Get Issue Analytics Kpis
  • POST /newsletters/{newsletter_id}/issues/{issue_id}/duplicate Duplicate Issue
  • POST /newsletters/{newsletter_id}/issues/{issue_id}/send Send Issue
  • POST /newsletters/{newsletter_id}/issues/{issue_id}/send-test Send Test Email
  • GET /newsletters/{newsletter_id}/subscribers List Subscribers
  • POST /newsletters/{newsletter_id}/subscribers Add Subscriber
  • PATCH /newsletters/{newsletter_id}/subscribers/{subscriber_id}/unsubscribe Unsubscribe Subscriber
  • GET /newsletters/templates List Templates
Quotes GET6 POST4 PUT1 PATCH1 DELETE1 13
  • GET /companies/{company_id}/quotes Get Company Quotes
  • GET /contacts/{contact_id}/quotes Get Contact Quotes
  • GET /quotable-products List Quotable Products
  • GET /quote-settings Get Quote Settings
  • GET /quotes List Quotes
  • POST /quotes Create Quote
  • GET /quotes/{quote_id} Get Quote
  • PUT /quotes/{quote_id} Update Quote
  • PATCH /quotes/{quote_id} Update Quote
  • DELETE /quotes/{quote_id} Delete Quote
  • POST /quotes/{quote_id}/duplicate Duplicate Quote
  • POST /quotes/{quote_id}/edit-as-draft Edit Quote As Draft
  • POST /quotes/{quote_id}/send Send Quote
CLI Pipelines GET3 POST4 PUT3 DELETE2 12
  • GET /pipelines List Pipelines
  • POST /pipelines Create Pipeline
  • GET /pipelines/{pipeline_id} Get Pipeline
  • PUT /pipelines/{pipeline_id} Update Pipeline
  • DELETE /pipelines/{pipeline_id} Delete Pipeline
  • POST /pipelines/{pipeline_id}/stages Create Stage
  • PUT /pipelines/{pipeline_id}/stages/{stage_id} Update Stage
  • DELETE /pipelines/{pipeline_id}/stages/{stage_id} Delete Stage
  • PUT /pipelines/{pipeline_id}/stages/reorder Reorder Stages
  • GET /pipelines/evidence-library List Stage Evidence Library
  • POST /pipelines/from-suggestion Create Pipeline From Suggestion
  • POST /pipelines/suggest Suggest Pipeline
Skills GET5 POST5 PUT1 DELETE1 12
  • GET /skills List skills (LLM + API) for the caller's org
  • POST /skills Create a skill (LLM or API runtime)
  • GET /skills/{action_id} Get a skill's full configuration
  • PUT /skills/{action_id} Update a skill
  • DELETE /skills/{action_id} Delete a skill
  • POST /skills/{action_id}/execute Execute a skill once
  • GET /skills/{action_id}/variables Extract {variable} placeholders from a skill's templates
  • POST /skills/from-node Lift a workflow action node into a standalone skill
  • POST /skills/from-template Create a skill from a template
  • GET /skills/models List supported LLM model identifiers
  • GET /skills/templates List skill templates
  • POST /skills/validate Validate a skill template (extract + warn on common mistakes)
Enrichment GET4 POST7 11
  • GET /enrichment/ai/configs List Ai Configs
  • POST /enrichment/ai/enrich Run Ai Enrichment
  • POST /enrichment/enrich Start Enrichment
  • GET /enrichment/jobs/{job_id} Get Enrichment Job
  • POST /enrichment/lookup/company Lookup Company
  • POST /enrichment/lookup/person Lookup Person
  • GET /enrichment/providers List Enrichment Providers
  • POST /enrichment/verify-email Verify Email
  • GET /enrichment/waterfall/configs List Waterfall Configs
  • POST /enrichment/waterfall/configs Create Default Waterfall Config
  • POST /enrichment/waterfall/enrich Run Waterfall Pipeline
Voice GET8 POST2 PATCH1 11
  • GET /voice/dialer/agents List voice agents available for a dialer session
  • GET /voice/dialer/calls List dialer calls (filter by contact, SDR, or session)
  • GET /voice/dialer/calls/{room_name}/grading Get AI call grading for a single dialer call
  • GET /voice/dialer/calls/{room_name}/transcript Get the persisted transcript for a single dialer call
  • GET /voice/dialer/missed-callbacks List missed inbound callbacks
  • GET /voice/dialer/numbers List dialer-eligible phone numbers
  • GET /voice/dialer/sessions List parallel dialer sessions
  • POST /voice/dialer/sessions Create a parallel-dialer session in PAUSED state
  • POST /voice/dialer/sessions/{session_id}/resume Resume a paused parallel-dialer session by auto-fetching next batch
  • PATCH /voice/dialer/sessions/{session_id}/status Pause, resume, or stop a parallel-dialer session
  • GET /voice/dialer/stats Parallel dialer analytics report
Companies GET4 POST3 PATCH1 DELETE2 10
  • GET /companies List Companies
  • POST /companies Create Company
  • GET /companies/{company_id} Get Company
  • PATCH /companies/{company_id} Update Company
  • DELETE /companies/{company_id} Delete Company
  • GET /companies/{company_id}/contacts Get Company Contacts
  • GET /companies/columns List Company Columns
  • DELETE /companies/columns/{column_id} Delete Company Column
  • POST /companies/columns/create Create Company Column
  • POST /companies/open-jobs Get Companies Open Jobs
sandbox GET3 POST4 PUT1 DELETE1 9
  • GET /sandbox/failure-injection List failure rules
  • PUT /sandbox/failure-injection Set a failure rule
  • DELETE /sandbox/failure-injection Clear failure rules
  • POST /sandbox/fixtures/reset Reset fixture data
  • POST /sandbox/fixtures/restore Restore a snapshot
  • POST /sandbox/fixtures/seed Seed sample data
  • POST /sandbox/fixtures/snapshot Snapshot fixture tables
  • GET /sandbox/outbox List simulated outbox
  • GET /sandbox/status Sandbox status
Audience Syncs GET4 POST2 PATCH1 DELETE1 8
  • GET /audience-syncs List Audience Syncs
  • POST /audience-syncs Create Audience Sync
  • GET /audience-syncs/{config_id} Get Audience Sync
  • PATCH /audience-syncs/{config_id} Update Audience Sync
  • DELETE /audience-syncs/{config_id} Delete Audience Sync
  • GET /audience-syncs/{config_id}/errors List Sync Errors
  • GET /audience-syncs/{config_id}/runs List Sync Runs
  • POST /audience-syncs/{config_id}/trigger Trigger Audience Sync
Contacts GET3 POST2 PATCH1 DELETE2 8
  • GET /contacts List Contacts
  • POST /contacts Create Contacts
  • GET /contacts/{contact_id} Get Contact
  • PATCH /contacts/{contact_id} Update Contact
  • DELETE /contacts/{contact_id} Delete Contact
  • GET /contacts/columns List Contact Columns
  • DELETE /contacts/columns/{column_id} Delete Contact Column
  • POST /contacts/columns/create Create Contact Column
Deals GET5 POST1 PATCH1 DELETE1 8
  • GET /companies/{company_id}/deals Get Company Deals
  • GET /contacts/{contact_id}/deals Get Contact Deals
  • GET /deals List Deals
  • POST /deals Create Deal
  • GET /deals/{deal_id} Get Deal
  • PATCH /deals/{deal_id} Update Deal
  • DELETE /deals/{deal_id} Delete Deal
  • GET /deals/pipelines List Pipelines
Fields GET3 POST2 PATCH2 DELETE1 8
  • GET /fields List Contact Fields
  • POST /fields Create Field
  • DELETE /fields/{column_id} Delete Field
  • GET /fields/{column_id}/values Get Field Value
  • PATCH /fields/{column_id}/values Set Field Value
  • POST /fields/batch Create Fields Batch
  • GET /fields/companies List Company Fields
  • PATCH /fields/values/batch Set Field Values Batch
Sequences GET3 POST5 8
  • GET /sequences List Sequences
  • GET /sequences/{sequence_id} Get Sequence
  • GET /sequences/{sequence_id}/contacts List Sequence Contacts
  • POST /sequences/{sequence_id}/contacts Add Contacts To Sequence
  • POST /sequences/{sequence_id}/pause Pause Sequence
  • POST /sequences/{sequence_id}/resume Resume Sequence
  • POST /sequences/{sequence_id}/run Run Sequence
  • POST /sequences/generate-spintax Generate Sequence Spintax
Webhooks GET4 POST2 PATCH1 DELETE1 8
  • GET /webhooks List Webhooks
  • POST /webhooks Create Webhook
  • GET /webhooks/{webhook_id} Get Webhook
  • PATCH /webhooks/{webhook_id} Update Webhook
  • DELETE /webhooks/{webhook_id} Delete Webhook
  • GET /webhooks/{webhook_id}/deliveries List Webhook Deliveries
  • POST /webhooks/{webhook_id}/rotate-secret Rotate Webhook Secret
  • GET /webhooks/events List Webhook Events
Inbox GET4 POST3 7
  • GET /inbox List Inbox
  • GET /inbox/{reply_id} Get Reply
  • POST /inbox/{reply_id}/assign Assign Reply
  • GET /inbox/{reply_id}/draft Get Draft
  • POST /inbox/{reply_id}/send Send Reply
  • POST /inbox/{reply_id}/tag Tag Reply
  • GET /inbox/hot-contacts Hot Contacts
Knowledge GET6 POST1 7
  • GET /knowledge List Knowledge
  • GET /knowledge/{concept_id} Get Knowledge
  • GET /knowledge/{concept_id}/related Related Knowledge
  • GET /knowledge/{concept_id}/sources Knowledge Sources
  • POST /knowledge/context Assemble Knowledge Context
  • GET /knowledge/export Export Knowledge
  • GET /knowledge/search Search Knowledge
Lists GET2 POST2 PATCH1 DELETE2 7
  • GET /lists List Lists
  • POST /lists Create List
  • PATCH /lists/{list_id} Update List
  • DELETE /lists/{list_id} Delete List
  • GET /lists/{list_id}/contacts Get List Contacts
  • POST /lists/{list_id}/contacts Add Contacts To List
  • DELETE /lists/{list_id}/contacts Remove Contacts From List
Assert / Upsert PUT6 6
  • PUT /companies/assert Assert Company
  • PUT /companies/assert/batch Assert Companies Batch
  • PUT /contacts/{contact_id}/deals/assert Assert Deal Contact
  • PUT /contacts/assert Assert Contact
  • PUT /contacts/assert/batch Assert Contacts Batch
  • PUT /deals/assert Assert Deal
CLI Campaigns GET3 POST2 PATCH1 6
  • GET /repos/{repo_id}/campaigns List Campaigns
  • POST /repos/{repo_id}/campaigns Create Campaign
  • GET /repos/{repo_id}/campaigns/{campaign_id} Get Campaign
  • PATCH /repos/{repo_id}/campaigns/{campaign_id} Update Campaign
  • GET /repos/{repo_id}/campaigns/{campaign_id}/documents/{document_id} Get Campaign Document
  • POST /repos/{repo_id}/campaigns/{campaign_id}/launch Launch Campaign
CRM Syncs GET3 POST3 6
  • GET /crm-syncs List Crm Syncs
  • POST /crm-syncs/{provider}/companies/push Push Companies To Crm
  • POST /crm-syncs/{provider}/contacts/push Push Contacts To Crm
  • GET /crm-syncs/{provider}/fields Get Crm Fields
  • POST /crm-syncs/{provider}/lists/push Push List Memberships
  • GET /crm-syncs/{provider}/status Get Crm Status
Install GET3 POST3 6
  • POST /repos/{repo_id}/install Generate Install
  • POST /repos/{repo_id}/install/apply Apply Install
  • GET /repos/{repo_id}/install/status Get Install Status
  • POST /repos/{repo_id}/rollback Rollback Install
  • GET /repos/{repo_id}/snippet Get Snippet
  • GET /repos/{repo_id}/streams List Streams
Sequence Lifecycle GET2 POST1 PATCH2 DELETE1 6
  • POST /sequences Create Sequence
  • PATCH /sequences/{sequence_id} Update Sequence
  • DELETE /sequences/{sequence_id} Delete Sequence
  • GET /sequences/{sequence_id}/analytics Get Sequence Analytics
  • GET /sequences/{sequence_id}/preview Preview Sequence
  • PATCH /sequences/{sequence_id}/steps/{step_id} Update Sequence Step
Tasks GET2 POST1 PATCH1 DELETE1 5
  • GET /contacts/{contact_id}/tasks List Contact Tasks
  • POST /contacts/{contact_id}/tasks Create Task
  • GET /tasks List All Tasks
  • PATCH /tasks/{task_id} Update Task
  • DELETE /tasks/{task_id} Delete Task
Notes GET1 POST1 PATCH1 DELETE1 4
  • GET /contacts/{contact_id}/notes List Notes
  • POST /contacts/{contact_id}/notes Create Note
  • PATCH /notes/{note_id} Update Note
  • DELETE /notes/{note_id} Delete Note
OpenSearch POST4 4
  • POST /opensearch/aggregate Opensearch Aggregate
  • POST /opensearch/count Opensearch Count
  • POST /opensearch/resolve Opensearch Resolve
  • POST /opensearch/search Opensearch Search
Repos GET2 POST1 DELETE1 4
  • GET /repos List Repos
  • POST /repos Connect Repo
  • GET /repos/{repo_id} Get Repo
  • DELETE /repos/{repo_id} Delete Repo
Search POST4 4
  • POST /search/companies Search Companies
  • POST /search/companies/save Save Company Search
  • POST /search/contacts Search Contacts
  • POST /search/contacts/save Save Contact Search
Meetings GET3 3
  • GET /inbox/meetings List Meetings
  • GET /inbox/meetings/{meeting_id} Get Meeting
  • GET /inbox/meetings/booked Meetings Booked
Agency GET2 2
  • GET /agency/clients List Agency Clients
  • GET /agency/me Get Agency Me
ClickHouse POST2 2
  • POST /clickhouse/mashup Clickhouse Mashup
  • POST /clickhouse/org-analytics Clickhouse Org Analytics
GTM Knowledge Base GET1 POST1 2
  • GET /kb List Kb Documents
  • POST /kb/search Search Kb
GTM Launch Helpers GET2 2
  • GET /event-types List bookable calendar event types (Cal.com appointments)
  • GET /schedules List sending schedules (send windows + timezone)
Knowledge Base GET1 POST1 2
  • GET /repos/{repo_id}/kb List Kb Documents
  • POST /repos/{repo_id}/kb/search Search Kb
Landing Pages GET1 POST1 2
  • GET /landing-pages/agent-sessions/{session_id} Get Landing Page Source
  • POST /landing-pages/agent-sessions/{session_id}/patch Patch Landing Page
Public - Visitors GET2 2
  • GET /public/visitors/company Public Visitor Company
  • GET /public/visitors/score Public Visitor Score
Scans GET1 POST1 2
  • GET /repos/{repo_id}/scan Get Scan
  • POST /repos/{repo_id}/scan Create Scan
Snippet GET2 2
  • GET /snippet Get Org Snippet
  • GET /snippet/form Get Form Template
Usage GET2 2
  • GET /usage Get Usage
  • GET /usage/transactions List Usage Transactions
Analytics GET1 1
  • GET /analytics/campaign-visitors Get Campaign Visitors
GTM Deliverability GET1 1
  • GET /deliverability/metrics Get Deliverability Metrics
Logs GET1 1
  • GET /logs List Request Logs
MCP GET1 1
  • GET /mcp/connection Get Mcp Connection
Me GET1 1
  • GET /me Describe Current Key
Public POST1 1
  • POST /public/enrich/lookup Public Enrich Lookup
Public - Copilot POST1 1
  • POST /public/copilot/chat Public Copilot Chat
Public - Signals GET1 1
  • GET /public/signals/company Public Signals Company
Support POST1 1
  • POST /support/contact Contact Support
02 / Events

38 webhook events, 37 active.

Signed, retried deliveries to your endpoint. Build on the active ones today; the planned ones are declared in the contract ahead of emission.

Deliveries are signed with HMAC-SHA256 (X-Studio-Signature, X-Studio-Timestamp) and retried with backoff. 37 of 38 event types are active (a production code path dispatches them). The rest are planned: defined in the catalog, not yet emitted. Check the lifecycle before you build on an event.

Engagement 15 active
  • active engagement.call_connected A dialer call connected to a live person.
  • active engagement.call_dispatched A call task was dispatched to the dialer.
  • active engagement.call_graded A dialer call was graded, including its overall and per-category scores.
  • active engagement.email_bounced An email to a contact bounced.
  • active engagement.email_replied A contact replied to an email.
  • active engagement.email_sent An email was sent to a contact.
  • active engagement.email_skipped An email step was skipped for a contact.
  • active engagement.linkedin_connection_accepted A LinkedIn connection request was accepted.
  • active engagement.linkedin_connection_sent A LinkedIn connection request was sent.
  • active engagement.linkedin_inmail_sent A LinkedIn InMail was sent.
  • active engagement.linkedin_message_sent A LinkedIn message was sent.
  • active engagement.linkedin_reply_received A LinkedIn reply was received from a contact.
  • active engagement.sms_replied A contact replied to an SMS.
  • active engagement.sms_sent An SMS was sent to a contact.
  • active engagement.whatsapp_sent A WhatsApp message was sent to a contact.
Campaign 6 active / 1 planned
  • active campaign.completed A campaign finished all of its steps.
  • active campaign.created A campaign was created.
  • active campaign.deleted A campaign was deleted.
  • active campaign.launched A campaign was launched and is now sending.
  • active campaign.paused A campaign was paused.
  • active campaign.status_changed A campaign's status changed.
  • planned campaign.updated A campaign's configuration was updated. NOT YET EMITTED: this event type is defined but no production code path dispatches it. Do not build on it until it is marked active.
Sequence 4 active
  • active sequence.completed A sequence completed all steps for a contact.
  • active sequence.draft_created A campaign created a Sequencer draft.
  • active sequence.paused A sequence was paused.
  • active sequence.started A sequence started running for a contact.
Content 3 active
  • active campaign.content_ready All content for a campaign is ready.
  • active document.failed A campaign document failed to generate.
  • active document.generated A campaign document finished generating.
Meetings 3 active
  • active meeting.booked A meeting was booked.
  • active meeting.cancelled A booked meeting was cancelled.
  • active meeting.rescheduled A booked meeting was rescheduled.
Audience 2 active
  • active audience.failed An audience failed to build.
  • active audience.ready An audience finished building and is ready to use.
Enrichment 2 active
  • active company_intelligence.completed Company intelligence gathering completed.
  • active company.enriched A company record was enriched.
Intelligence 2 active
  • active intelligence.completed An intelligence/research run completed.
  • active intelligence.failed An intelligence/research run failed.
03 / Workflow

Signal to Qualified Meeting.

Build an audience, enrich it, launch outreach, and book a meeting. Each step resolves to a real operation in the contract, so the blueprint is executable, not illustrative.

The developer-facing reference outcome. Each step resolves to a public operationId in the graph8 release contract; outputs chain into later steps.

Inputs

  • search_query object

    Search filter for the candidate contacts (search/contacts body).

  • audience_title string required

    Title for the audience/list to create.

  • campaign_name string required

    Name for the outreach campaign.

  • event_type_id string

    Event type to book the qualified meeting against.

Steps

  1. 1
    find-candidates Search POST /search/contacts

    WP5.2 - find the candidate contacts to work.

  2. 2
    create-audience Lists POST /lists

    WP5.3 - create the audience/list that scopes the run.

  3. 3
    add-to-audience Lists POST /lists/{list_id}/contacts

    WP5.4 - add the found contacts to the audience.

  4. 4
    enrich-audience Enrichment POST /enrichment/enrich

    WP5.5 - enrich the audience so outreach has real data.

  5. 5
    verify-deliverability Enrichment POST /enrichment/verify-email

    WP5.7 - verify email deliverability before sending.

  6. 6
    create-campaign GTM Campaigns POST /campaigns

    WP5.8 - create the outreach campaign against the audience.

  7. 7
    launch-campaign GTM Campaigns POST /campaigns/{campaign_id}/launch

    WP5.9 - launch outreach.

  8. 8
    book-meeting Appointments POST /appointments/bookings

    WP5.11 - book the qualified meeting.

Outputs

list_idcampaign_idbooking_id
Start building

Read the full reference, generate a client, wire it to a test key.

Build with graph8