campaign_activation_readiness_get
ChatGPTEvaluate the same campaign activation blockers and readiness state shown in the browser for one visible campaign.
campaign_analytics_leads_list
ChatGPTList per-lead campaign analytics and refs for drilling into individual lead activity.
campaign_analytics_lifetime_get
ChatGPTGet lifetime totals, rates, rate context, and drilldowns for one campaign.
campaign_analytics_sequence_get
ChatGPTGet date-grained sequence-email performance for finding which steps or variants drive results.
campaign_analytics_timeseries_get
ChatGPTGet date-grained campaign analytics for trend analysis across a requested period.
campaign_audience_import_apply
ChatGPTAdd audience leads to a customer-owned campaign under its dedupe policy; an optional dedupe scope updates the campaign policy first.
campaign_audience_import_preview
ChatGPTPreview the dedupe, blocklist, and send eligibility impact of importing a customer-owned audience into a campaign, including an optional proposed dedupe policy.
campaign_creative_approve
ChatGPTExplicitly approve the current Creative draft and materialize it into campaign steps.
campaign_creative_approve
ChatGPTApprove the current Default Creative as one immutable snapshot and mark it Ready for future campaign sends. When campaign_creative_get reports its server-owned adaptations_activated capability as true, the snapshot also includes every active sparse adaptation. Inactive adaptation history is excluded from the snapshot but remains visible through get.
campaign_creative_checkpoint_create
ChatGPTSave a manual checkpoint for every current Creative document. Does not approve or send.
campaign_creative_checkpoint_restore
ChatGPTRestore one Creative document checkpoint when the expected workspace revision still matches. Does not approve or send.
campaign_creative_generate
ChatGPTGenerate or regenerate a transient Creative draft using the same quotas and model contract as the UI. This consumes included AI generation quota. It does not save, approve, or send Creative. Supply the revision from campaign_creative_generation_capability_get and a fresh operation UUID. A completed operation cannot replay its transient preview.
campaign_creative_generated_draft_apply
ChatGPTReplace the editable Creative working copy with a successful transient generated draft when its base revision still matches. Creates a recovery snapshot. Does not approve or send.
campaign_creative_generation_capability_get
ChatGPTRead the current Creative revision, model, input limits, and workspace/campaign generation quota before requesting a draft.
campaign_creative_get
ChatGPTGet the current editable Creative draft documents for a campaign.
campaign_creative_get
ChatGPTGet the current editable Default Creative plus every target-labelled sparse Google, Microsoft, and SEG adaptation document, including inactive history. The response's server-reported adaptations_activated value is a capability signal, not an input or filter. Non-Default actions are available only when it is true; false means Default-only writes.
campaign_creative_snapshot_restore
ChatGPTRestore a retained Creative recovery snapshot only when the expected current revision still matches. Creates a pre-restore snapshot and does not approve or send.
campaign_creative_snapshots_list
ChatGPTList up to three retained recovery snapshots created before generated Creative replacement or a prior restore. Snapshot payloads are not exposed.
campaign_creative_update
ChatGPTWrite subject/body text into the editable Creative draft. This creates draft history but does not approve.
campaign_creative_update
ChatGPTWrite Default subject/body text into the editable Creative working copy. Call campaign_creative_get first: its server-reported adaptations_activated capability must be true before submitting a non-Default adaptation_target or adaptation_active. Omitting adaptation_target makes only that submitted field Default; it does not hide existing adaptations from get. Sparse adaptations inherit missing fields from Default. adaptation_active=false performs a recoverable reset, true explicitly reactivates, and omission preserves an existing adaptation's lifecycle state. This creates history but does not approve.
campaign_creative_workspace_get
ChatGPTRead editable Creative documents, checkpoint history, comment threads, and the current revision. Live browser collaboration sessions are not returned.
campaign_delete
ChatGPTSoft-delete an ended or draft campaign. Requires confirm=true. Active, paused, or ending campaigns must be ended first.
campaign_duplicate
ChatGPTCopy reusable campaign content and settings into an unsent draft. Defaults to no mailboxes or routing. To share eligible source infrastructure, use campaign_infrastructure_sharing_preview, explain its reputation/capacity warnings, and provide share_infrastructure=true, the current fingerprint and risk acknowledgement. Sharing permits concurrency; no automatic sequential handoff or launch. Queues normal configured campaign-created webhooks after commit.
campaign_email_preview
ChatGPTRender submitted templates using current campaign click tracking. Enabled tracking returns already-working anonymous redirects, reused for identical domain/destination pairs. Does not save Creative, send email or collect engagement. An optional owned sending_domain selects the redirect host; otherwise prefer an assigned domain or an existing ready workspace domain.
campaign_end
ChatGPTDeliberately stop an active or paused campaign. The command returns while ending is in progress; poll campaign_lifecycle_get until status is ended. Reuse the same operation_id when retrying.
campaign_fast_forward
ChatGPTSend at most the next queued message to each eligible lead, then complete the campaign. Available only while sending is enabled and campaign completion is at least 95%. This cannot be undone.
campaign_follow_up_create
ChatGPTCreate an unsent follow-up draft from selected eligible completed contacts, retaining source membership. Defaults to no infrastructure; sharing requires the current review fingerprint and risk acknowledgement. Does not launch or resume sending. Queues normal contact-analysis jobs after commit.
campaign_follow_up_preview
ChatGPTRead selected completed contacts without replies eligible for a follow-up. No campaign or membership changes.
campaign_infrastructure_sharing_preview
ChatGPTRead eligible workspace mailboxes, their owning campaigns, and current review fingerprint. Returns reputation/capacity warnings and concurrent/manual-sequential behavior. No assignments or campaigns change.
campaign_lead_activity_list
ChatGPTList chronological campaign activity for one lead after selecting a lead from campaign analytics.
campaign_lead_personalization_update
ChatGPTUpdate a campaign lead's email, name, company, or custom attributes using the browser's identity and validation rules.
campaign_lead_quality_diagnostics_get
ChatGPTGet existing lead-quality diagnostics for a campaign, including email verification counts and explicit unavailable signals.
campaign_lead_removal_reasons_list
ChatGPTList active reason codes, labels, and text requirements for removing leads from this campaign.
campaign_lead_remove
ChatGPTRemove one campaign lead with a recorded reason and confirm_removal=true.
campaign_leads_add
ChatGPTAdd leads to an existing Lightmeter campaign.
campaign_leads_list
ChatGPTSearch, filter, and page the campaign's current leads with the same fields and status counts as the browser. Page size is at most 100; reduce it if the 128 KiB result limit is reached.
campaign_leads_move
ChatGPTMove the confirmed selected leads into an existing campaign or a new cloned/blank unsent draft. Removes source membership. A new destination defaults to no infrastructure; explicit sharing requires the current review fingerprint and risk acknowledgement. Existing destinations cannot acquire infrastructure through a lead move. Creating a destination queues normal contact-analysis jobs after commit.
campaign_leads_move_preview
ChatGPTRead the number of selected leads that can be moved. No membership or campaign changes.
campaign_leads_remove
ChatGPTRemove the selected campaign leads using a removal reason and confirm_removal=true. Preview the same selection first. This action affects campaign lead membership and history and cannot be undone by this tool. Large filtered results return removed_count with removed_lead_ids_omitted instead of the full ID list.
campaign_leads_remove_preview
ChatGPTCount selected, removable, and nonremovable leads before a bulk removal. No data is changed.
campaign_leads_top_up_csv
ChatGPTPreview or apply a CSV top-up. Preview first; if shared-lead changes require review, use its review_token and an explicit preserve or overwrite decision. CSV arguments are limited to 1 MiB and results to 128 KiB. Page large preview rows with review_offset and review_limit; large apply results retain summary counts and omit per-row details available through the public API.
campaign_lifecycle_get
ChatGPTGet the canonical campaign status, pause reason, identity-aware available actions, sendability/readiness blockers, and any pending lifecycle operation.
campaign_link_tracking_update
ChatGPTTurn click tracking on or off for one campaign without changing the workspace default. Existing redirects and recorded clicks remain available; prepared message bytes are preserved.
campaign_mailbox_allocation_policy_get
ChatGPTRead the same customer-visible overlap-allowed flag shown in the browser; detailed staff routing remains private.
campaign_mailboxes_assign
ChatGPTReplace the complete set of active campaign mailbox assignments with the supplied workspace mailboxes. Include every current assignment you want to keep; omitted mailboxes are removed, and an empty list clears assignments subject to existing continuity safeguards. To deliberately share occupied domains, preview first and provide allow_shared_infrastructure=true, the current fingerprint and risk acknowledgement. Existing sending limits and lead continuity remain enforced. Campaign-wide assignment is unavailable while mailbox overlap is enabled; use the sending-pool add operation.
campaign_pause
ChatGPTPause an active campaign. Reuse the same operation_id when retrying the same command.
campaign_paused_lead_recovery_apply
ChatGPTApply an unchanged reviewed paused-lead recovery plan atomically. The campaign's Sending (lifecycle status active) or Paused status is preserved; resuming a Paused campaign is a separate command.
campaign_paused_lead_recovery_defer
ChatGPTExplicitly defer the current mailbox-change paused-lead recovery obligation with a reason. The exact obligation ID and revision must come from the lifecycle or recovery preview. This preserves the campaign's Sending (lifecycle status active) or Paused status; resuming a Paused campaign is a separate command.
campaign_paused_lead_recovery_preview
ChatGPTPreview the all-or-nothing paused-lead recovery plan for a Sending (lifecycle status active) or Paused campaign. Sending recovery is limited to the current mailbox-change obligation. For leads that already received campaign emails, supply an explicit previous-mailbox to replacement-mailbox mapping. Inspect continuity_requirements for affected-lead and remaining-campaign-email counts, required recipient mailbox-host sending pools, eligible replacement mailboxes, and exact ineligibility reasons.
campaign_reopen
ChatGPTMove an ended or completed campaign into paused review state without changing lead states, mailbox assignments, history, or results. This never resumes sending.
campaign_replies_list
ChatGPTList qualified human reply excerpts and classifications for a campaign/date range when diagnosing why performance changed.
campaign_restore
ChatGPTRestore a soft-deleted campaign using the same ownership and domain checks as the browser.
campaign_resume
ChatGPTResume a paused campaign after all readiness checks pass. If newer working Creative is not marked Ready, the command requires explicit acknowledgement that those newer changes will not be sent. This action is available to authenticated workspace users.
campaign_schedule_update
ChatGPTSet the campaign's IANA timezone and weekly sending windows using the same customer-scoped schedule operation as the browser.
campaign_send_timeline_get
ChatGPTGet the same campaign send timeline projection shown in the campaign editor.
campaign_sending_pool_mailboxes_add
ChatGPTAtomically assign workspace mailboxes and add them to the named boxhost target's sending pool using its current revision. Preview sharing first to use occupied sending domains, then explicitly acknowledge reputation and shared-capacity risks. Preserves source campaign assignments and started-lead continuity; does not change sending limits or launch sending.
campaign_sending_pool_mailboxes_list
ChatGPTRead mailbox candidates, shared-add availability and current routing revision for one boxhost target. Does not change assignment or pool membership.
campaign_sending_pools_get
ChatGPTGet the sending pools and assigned mailboxes for a campaign in the authorized workspace, including the current revision for later pool updates. Use this to inspect how the campaign is configured to send; does not change assignments, pool membership, or routing.
campaign_sequence_reorderability_get
ChatGPTInspect whether saved campaign steps may be reordered and their current order.
campaign_sequences_list
ChatGPTList saved campaign steps, variants, and current subject lines visible to the workspace.
campaign_subject_pause_set
ChatGPTEnable or disable one current subject option without editing or reapproving the shared email body. At least one subject per body must remain enabled.
campaign_test_email_send
ChatGPTSend at most 100 test messages per request from an active physical mailbox assigned to this campaign and workspace to 1-50 named test addresses. Requires confirm_send=true; variant_label requires step_number. This makes real outbound sends.
campaign_visit_history_get
ChatGPTRead accepted tracked-send counts, distinct original leads, rates and step/variant/subject attribution in an explicit retained scope, including deleted campaigns. Never recreates a lead or authorizes a new send.
campaigns_get
ChatGPTGet one campaign by ID from a workspace when campaign metadata or navigation links are needed.
campaigns_list
ChatGPTList campaigns in a workspace and return refs for follow-up campaign detail or analytics tools.
campaigns_submit
ChatGPTCreate and submit a campaign in a Lightmeter workspace.
capacity_allocation_get
ChatGPTGet how the workspace's daily sending capacity is allocated, as shown in Infra › Allocation: subscribed, usable, in campaigns, available, reserve (labelled backups), recovering and warm-up per day; each non-ended campaign's capacity, recent sends, leads and projected completion; what needs attention; the last applied capacity plan; and can_apply_plans. Set include_days=true for the daily history and projection series from history_from (default 14 days ago, at most 180 days back). Lightmeter staff also receive the labelling dry run.
capacity_labelling_apply
ChatGPTLightmeter staff only. Apply suggestions from capacity_labelling_review_get by id: each selected mailbox or whole domain gets its suggested label through the same lifecycle status change staff make on the Mailboxes page, recorded in Activity with the reason. The review is recomputed first; selected suggestions that are no longer suggested are skipped with reason no_longer_suggested, and a suggestion whose mailbox status changed while applying is skipped with mailbox_status_refused. A domain change applies to every mailbox of the domain or none. Mailboxes in campaigns are never changed. Returns applied_ids, mailboxes_relabelled, skipped_count and skipped (at most 500 listed).
capacity_labelling_review_get
ChatGPTLightmeter staff only. List what automatic labeling of mailboxes not in a campaign would change now, as shown in Infra › Allocation › Review and apply: Available mailboxes to Recovering (unhealthy for every target for 2 checks running), Recovering mailboxes back to Available (healthy for Google or Microsoft for 2 checks running), and whole Available domains to Backup or surplus Backup domains back to Available to keep backups at the Subscribed target. Each suggestion has an id, the mailbox or domain, from_status and to_status (lifecycle codes: not_in_use is Available), per_day capacity and the reason. Returns at most limit suggestions (default and maximum 200) with total_suggestions; counts always cover every suggestion. Nothing changes; apply with capacity_labelling_apply.
capacity_plan_apply
ChatGPTLightmeter staff only. Apply a capacity plan reviewed with capacity_plan_preview: assign the planned whole domains to each campaign and its sending pools, and remove returned domains from completed, ended or paused campaigns (started leads stay on their mailboxes or are reassigned, as chosen). Pass the same campaigns and returns plus the preview's fingerprint; if capacity changed since the preview, nothing changes and the new preview is returned. Recorded in Activity.
capacity_plan_preview
ChatGPTPreview a capacity plan without changing anything: which whole Available domains (or reserve domains when use_reserve=true) would be added to each campaign to reach a target, and which domains completed, ended or paused campaigns would return. Returns per-campaign before/after sends per day (before counts a shared domain once, under the campaign that is sending, as Allocation does), the domains, projected completion before and after, any shortfall and its reason, and the plan fingerprint. Only Lightmeter staff can apply plans.
instant_inbox_test_get
ChatGPTLightmeter staff only. Get one workspace test, including per-seed results and the pending_set_fingerprint for mark-missing.
instant_inbox_test_mailboxes_list
ChatGPTLightmeter staff only. List workspace mailboxes with eligibility and route readiness. Supports search, include_hidden, cursor, sort_by and sort_direction.
instant_inbox_test_mark_missing
ChatGPTLightmeter staff only. Requires write scope. Finalize the exact pending set using pending_set_fingerprint from test detail as If-Match and a stable idempotency_key. Grid decides eligibility and distinguishes Missing from observation errors. Reuse the key on retries.
instant_inbox_test_preflight
ChatGPTLightmeter staff only. Review the exact message and seed panel without sending mail. Requires write scope. Preflight is not capped. Supply a stable operation_id; retain it and the returned review_seal for start. For an already-started operation_id, preflight returns idempotent_replay=true and existing_test_id with no review_seal: use instant_inbox_test_get on that ID, do not call start.
instant_inbox_test_start
ChatGPTLightmeter staff only. Requires write scope. Sends real mail to the seed panel using the exact message reviewed by preflight. Grid enforces a 60-tests-per-UTC-day cap across all workspaces; preflight is not capped. Once 60 tests have started in the current UTC day, new starts return HTTP 429 daily_test_limit_reached. Run one test per exact message. Starting is non-idempotent without a key: operation_id is required and forwarded as Idempotency-Key. Reuse the same operation_id and review_seal on retries; do not create a new operation to retry a send. On HTTP 409 review_required, re-run preflight with the SAME operation_id, then start with the new seal.
instant_inbox_tests_list
ChatGPTLightmeter staff only. List workspace tests with cursor pagination.
onboarding_industry_keywords_suggest
ChatGPTSuggest industry keywords from a public customer website using a Setup invitation linked privately to your signed-in user. Supply access_id and payload to generate suggestions, or call with empty arguments to list linked invitations and open the private linking page. Fetches the website and uses generation allowance, but saves no keywords and starts no onboarding work. Representative acceptance-only links cannot perform Setup. Manual entry remains available when status is unavailable.
onboarding_native_agreement_accept
ChatGPTComplete a binding standard agreement on the customer's behalf only after the human explicitly accepts the exact server acceptance_statement. Supply agreement_id, a stable UUID request_id, verification_token, accepting name, confirmed customer_address, notice_email and authorized=true in payload. Acceptance alone completes it; payment is separate. Never automatically reissue after an unknown result: use acceptance_status.
onboarding_native_agreement_acceptance_status
ChatGPTResolve an unknown acceptance result without accepting. Supply original agreement_id and request_id. A definite_non_acceptance answer fences that UUID; a human's intentional retry must use a new UUID. The same recovery call is safe to repeat.
onboarding_native_agreement_copies_retry
ChatGPTExplicitly retry failed or unknown copies of the immutable accepted PDF to the verified acceptor and invoices@lightmeter.io. An unknown SMTP result can duplicate a copy; contract formation never repeats.
onboarding_native_agreement_delegate
ChatGPTSend a separate acceptance-only link to another person. Supply agreement_id, name and their email in payload. This link cannot pay or set up the workspace.
onboarding_native_agreement_email_verify
ChatGPTCheck whether the accepting email was verified privately in the browser. Never ask for an email code or verification token in chat. Open the returned verification page if verification is needed.
onboarding_native_agreement_get
ChatGPTRead the current immutable native offer and exact acceptance statement using the private invitation capability. A Beam workspace login alone does not grant this capability.
onboarding_native_agreement_payment_refresh
ChatGPTRead authoritative Stripe confirmation for the reserved Checkout. Browser returns cannot confirm payment. Representative or existing-customer agreement-only links cannot reconcile payment.
onboarding_native_agreement_pdf_chunk_get
ChatGPTRead exact retained issued or accepted PDF bytes by chunk, using the private invitation capability. Verify the returned SHA256 after assembling all chunks.
onboarding_native_agreement_verification_code_send
ChatGPTSend a verification code to the accepting person's own email address. Supply agreement_id and email in payload.
sending_pool_swap_apply
ChatGPTLightmeter staff only. After staff confirmation, apply the exact reviewed sending_pool_swap_preview. Removes only the specified provider memberships and immediately moves their started leads using swap. Other pools stay unchanged.
sending_pool_swap_preview
ChatGPTLightmeter staff only. Review a swap flag from capacity_allocation_get. Nothing changes. Uses the existing replacement planner, Available before reserve.
unibox_compose_leads_list
ChatGPTFind existing workspace leads by name or email before composing a message. Only a stored lead can receive a new Unibox message.
unibox_compose_sent_steps_list
ChatGPTList the campaign steps actually sent to a stored lead, including their message and thread IDs for reply or new-message context.
unibox_lead_compose_context_prepare
ChatGPTCreate or find the existing lead's canonical Unibox conversation for a sent campaign step without sending email. The returned thread UUID can be used to stage attachments; expected_latest_message_id guards a subsequent send.
unibox_lead_message_send
ChatGPTSend a plaintext reply to a campaign step already sent to an existing lead, even if the lead has never replied. Set reply_parent_message_id to the selected step's message_id. For a separate unthreaded conversation, set new_message, context_message_id, and subject. The selected step determines the sender. This sends live email.
unibox_observed_message_content_get
ChatGPTRead the current provider body for one accepted CRM message. First get thread detail and use its observation_id and observation_revision. Canonical messages require observed_event_id; historical Grid threads require source_kind grid and no event ID. A changed source requires reloading the thread. Sanitized HTML and plain text are limited to 1 MiB combined; this read does not change reply admission.
unibox_reply_attachment_delete
ChatGPTDelete one unsent attachment draft owned by this MCP user and thread. Sent attachments cannot be deleted here.
unibox_reply_attachment_read
ChatGPTRead a sent workspace attachment as bounded 32 KiB base64 chunks. Pass content_sha256 on continuation to reject changed content; drafts cannot be read.
unibox_reply_attachment_recent_list
ChatGPTList up to five confirmed reusable reply attachments in an accessible workspace thread.
unibox_reply_attachment_reuse
ChatGPTCopy one confirmed recent attachment into a 24-hour draft owned by this MCP user and thread. This does not send mail.
unibox_reply_attachment_stage
ChatGPTStage a file of up to 1 MiB for a reply in an accessible Unibox thread. The draft expires after 24 hours; staging does not send mail.
unibox_thread_classification_impact_get
ChatGPTPreview the credit impact of a proposed reply category without changing the thread classification or billing state.
unibox_thread_forward_send
ChatGPTSend a live forward to explicitly named recipients using a workspace sender mailbox. Uses a committed idempotency claim before delivery.
unibox_thread_get
ChatGPTGet one canonical UniBox thread with chronological messages and classification evidence.
unibox_thread_lead_domain_blocklist
ChatGPTAdd the lead email domain represented by a workspace Unibox thread to the workspace blocklist.
unibox_thread_lead_email_blocklist
ChatGPTAdd the lead email represented by a workspace Unibox thread to the workspace blocklist.
unibox_thread_lead_unsubscribe
ChatGPTUnsubscribe the campaign lead represented by a workspace Unibox thread. This also records activity and blocklists the lead email.
unibox_thread_reply_personalize
ChatGPTPreview Unibox reply template fields in text and HTML using the thread's lead and sender context. At most 64 template expressions are accepted; oversized substituted values or estimated rendered content are rejected. This does not send mail.
unibox_thread_reply_send
ChatGPTSend a live plaintext reply to a canonical UniBox thread after checking the latest message id.
unibox_threads_list
ChatGPTList canonical UniBox threads in a workspace, including unanswered interested replies and current classification evidence.
workspace_activity_events_list
ChatGPTRead the workspace activity log, with a maximum of 100 events per page and 20 values per filter list.
workspace_agreement_pdf_chunk_get
ChatGPTRead one bounded chunk of a customer-owned issued or executed agreement PDF. Repeat reads are safe; every call requires current workspace access. Assemble chunks in index order and verify the returned SHA-256 digest and total byte length.
workspace_agreements_list
ChatGPTRead customer-visible agreement metadata for a workspace without changing legal state.
workspace_analytics_overview_get
ChatGPTGet workspace-level analytics overview for a requested date range.
workspace_api_key_create
ChatGPTCreate a workspace API key and return its token once. Requires Admin or Owner; treat the result as private.
workspace_api_key_delete
ChatGPTPermanently delete a workspace API key. Requires Admin or Owner.
workspace_api_key_update
ChatGPTReplace the name or expiration settings of a workspace API key. Requires Admin or Owner.
workspace_api_keys_list
ChatGPTRead workspace API-key metadata when the signed-in member can manage API keys. Token values are never returned.
workspace_audience_create
ChatGPTCreate a named static audience from 1 to 2000 existing active workspace lead UUIDs.
workspace_audience_csv_apply
ChatGPTAtomically create an audience and import its CSV leads using the preview review token and any required preserve/overwrite decision. The MCP request limit is 1 MiB.
workspace_audience_csv_preview
ChatGPTPreview column mappings and the reviewed create plan for a CSV audience import. Send unchanged inputs with review_token to apply.
workspace_audience_delete
ChatGPTDelete a customer-owned static audience and its memberships after confirming its current name. Workspace leads remain.
workspace_audience_get
ChatGPTGet one customer-owned static audience by ID.
workspace_audience_leads_list
ChatGPTList active leads in a customer-owned static audience, with bounded pagination.
workspace_audiences_list
ChatGPTList customer-owned static audiences in a workspace, with bounded pagination.
workspace_billing_overview_get
ChatGPTRead the customer-visible balance, credits, invoices and billing settings without making a financial commitment.
workspace_billing_platform_notice_get
ChatGPTRead the customer-visible billing platform notice.
workspace_blocklist_import_apply
ChatGPTApply at most 2,000 CSV rows and 1 MiB of encoded arguments in one transaction. Existing active blocks remain unchanged; invalid rows are reported and valid rows can succeed. Requires workspace owner/admin or Lightmeter staff access.
workspace_blocklist_import_preview
ChatGPTPreview at most 2,000 CSV rows and 1 MiB of encoded arguments without writing. Uses the same header, duplicate, and invalid-row interpretation as Settings. Requires workspace owner/admin or Lightmeter staff access.
workspace_blocklist_values_add
ChatGPTAdd up to 500 email addresses or domains to an active workspace blocklist. Requires workspace owner/admin or Lightmeter staff access. Returns added, duplicate, and invalid outcomes for each value; existing blocks are not duplicated. This does not unsubscribe leads or reopen previously skipped campaign leads.
workspace_blocklist_values_export
ChatGPTExport a canonical-order page of up to 200 active email or domain blocks as spreadsheet-safe CSV. Every page includes the CSV header and can be imported separately; when combining pages, keep the first header and append only data rows from later pages. Continue with next_cursor and unchanged filters while has_more is true. Reduce limit on result_too_large; if limit 1 still fails, use the public API full CSV stream. Requires workspace owner/admin or Lightmeter staff access.
workspace_blocklist_values_list
ChatGPTList or search active email-address or domain blocks in one workspace. Requires owner/admin or Lightmeter staff access. Returns at most 200 values per page with total and available sources. On result_too_large reduce limit; if limit 1 still fails, use the public API list or CSV stream.
workspace_blocklist_values_remove
ChatGPTRemove 1 to 500 active email-address or domain blocks in one workspace. Requires owner/admin or Lightmeter staff access. Returns removed, not_found, duplicate, and invalid outcomes per value. A repeat removal is a harmless not_found result.
workspace_campaign_url_tracking_check
ChatGPTRequest a fresh sending-domain readiness check for campaign click tracking.
workspace_campaign_url_tracking_update
ChatGPTEnable or disable campaign click tracking for new campaigns or for new and existing campaigns.
workspace_creative_quality_assess
ChatGPTReturn the same advisory copy-quality metrics, guidance, and text findings shown by the Creative editor for submitted subject and body text. This read-only assessment does not save, approve, or send Creative. RANDOM alternatives use expected word counts and worst-alternative spam-trigger scores. Each field is limited to 64 KiB, template nesting to 32 levels, total RANDOM alternatives to 1024, and results to 256 findings; oversized copy is rejected, never truncated.
workspace_crm_activate
ChatGPTActivate the configured CRM integration. Close requires the current configuration_revision.
workspace_crm_blocklist_approve
ChatGPTApprove the latest reviewed blocklist synchronization preview. Close requires unchanged settings and configuration_revision.
workspace_crm_blocklist_preview
ChatGPTPreview blocklist synchronization against the selected CRM. Close requires current settings and configuration_revision.
workspace_crm_capability_activate
ChatGPTActivate one configured CRM capability. Close requires the current configuration_revision.
workspace_crm_capability_disable
ChatGPTDisable one configured CRM capability.
workspace_crm_close_get
ChatGPTRead saved Close connection and sync state without refreshing provider metadata.
workspace_crm_conversation_preview
ChatGPTPreview the CRM conversation test, optionally for one conversation UUID, without sending the test.
workspace_crm_conversation_retry
ChatGPTQueue a retry for one CRM conversation UUID.
workspace_crm_conversation_test_get
ChatGPTRead the durable result of a CRM conversation test by operation UUID.
workspace_crm_conversation_test_start
ChatGPTStart one durable CRM conversation test. Use the preview values and a new operation_id in payload; query that operation before any retry after an uncertain result.
workspace_crm_disable
ChatGPTDisable the configured CRM integration and its synchronization capabilities.
workspace_crm_hubspot_get
ChatGPTRead saved HubSpot connection and sync state without refreshing provider metadata.
workspace_crm_oauth_disconnect
ChatGPTDisconnect the current OAuth grant. Supply the current oauth_grant_revision; Close also requires configuration_revision.
workspace_crm_revenue_setup_get
ChatGPTRead the customer-visible Revenue attribution setup and provider metadata for the workspace.
workspace_crm_revenue_setup_update
ChatGPTWith a write grant and Admin or Owner role, save Revenue attribution setup using the public API request body as payload. This may invalidate cached Revenue reports.
workspace_crm_update
ChatGPTReplace saved CRM mapping settings. Close requires the current configuration_revision.
workspace_crm_validate
ChatGPTValidate the saved CRM credential and connection against the selected provider.
workspace_domain_generation_update
ChatGPTReplace the workspace industry keywords used for generated sending-domain suggestions.
workspace_domain_industry_keywords_suggest
ChatGPTSuggest concise industry keywords from a public customer website for a workspace. Requires workspace settings management permission; fetches the website and uses generation allowance without saving or replacing keywords.
workspace_forwarding_destination_update
ChatGPTUpdate and verify the workspace reply-forwarding destination. A new operation_id may send one verification email; reuse after an uncertain result is rejected.
workspace_identity_generation_update
ChatGPTReplace the workspace market, identity-profile weights, and given-name style used for generated mailboxes.
workspace_identity_samples_generate
ChatGPTGenerate six non-persistent identity samples for proposed market, profile weights, and given-name style.
workspace_infrastructure_campaign_assignments_list
ChatGPTTraverse active campaign-to-mailbox assignments in bounded pages, including campaign, mailbox, and domain references.
workspace_infrastructure_capacity_get
ChatGPTGet the workspace's daily capacity, subscribed amount, sent and unused per day over the last 7 days, loaded-lead runway and ramp-up stages, as shown in Infra › Capacity. Set include_days=true for the daily capacity, sent and scheduled series over horizon_days (21 or 42). Lightmeter staff also receive the staff recommendation.
workspace_infrastructure_distribution_list
ChatGPTList campaign mailbox distribution for the same bounded date range as the Infrastructure web view.
workspace_infrastructure_domain_mail_server_sent_counts_get
ChatGPTGet workspace-scoped mail-server sent counts for one domain and date range.
workspace_infrastructure_domain_walkin_get
ChatGPTRead an owned sending domain's destination, walk-in participation, UTM label, readiness and manager capability through the public API contract.
workspace_infrastructure_domain_walkin_update
ChatGPTApply a manager-authorized partial domain destination or walk-in setting change through the public API. Read settings first and inspect the returned effective destination and changed flag.
workspace_infrastructure_domains_export
ChatGPTExport 1 to 500 selected workspace domains as CSV with formula neutralization. Set compact=true when campaign names make a row too large; traverse assignment pages separately.
workspace_infrastructure_domains_list
ChatGPTList customer-visible domain inventory and health for the same bounded date range as the Infrastructure web view.
workspace_infrastructure_domains_walkin_update
ChatGPTEnable or disable walk-in participation for 1–200 active workspace-owned domain UUIDs atomically. Requires workspace manager permission; enabling also requires workspace tracking already enabled. Duplicates are applied once. Any validation or ownership failure changes nothing. Affects the entire domain, including unselected mailboxes; preserves destinations and other settings. Saved participation does not imply routing readiness.
workspace_infrastructure_mailbox_send_log_list
ChatGPTList campaign sends for one workspace mailbox. Warming and staff-only send types are excluded. Page limit is 1 to 100.
workspace_infrastructure_mailboxes_export
ChatGPTExport 1 to 500 selected workspace mailboxes as CSV without login credentials. Set compact=true when campaign names make a row too large; traverse assignment pages separately.
workspace_infrastructure_mailboxes_list
ChatGPTList customer-visible mailbox inventory without maintenance credentials.
workspace_infrastructure_onboarding_build_status_get
ChatGPTGet aggregate domain and mailbox build progress for the selected workspace. Returns no status when no onboarding build exists.
workspace_infrastructure_ramp_up_automation_set
ChatGPTLightmeter staff only. Switch 1–500 active workspace mailboxes, selected by up to 500 mailbox_ids or by every mailbox in up to 100 domain_uuids (not both), to Automatic (enabled=true) or Manual (enabled=false) ramp-up management. Automatic adopts each mailbox's current daily limit without reducing it or resetting earned progress; repeating it preserves state. Every limit must be within the captured floor and ceiling, otherwise nothing changes. Manual stops automatic limit management and keeps the current limit. Duplicates are applied once; a selection resolving to more than 500 mailboxes changes nothing.
workspace_infrastructure_ramp_up_domain_mailboxes_list
ChatGPTTraverse customer-visible ramp-up mailbox rows for one domain in bounded pages; compact mode omits large nested campaign references.
workspace_infrastructure_ramp_up_domains_list
ChatGPTList customer-visible domain and mailbox health, ramp-up progress, and allocation policy evidence.
workspace_infrastructure_ramp_up_mailbox_get
ChatGPTGet customer-visible mailbox reputation, volume, projection, and ramp-up history.
workspace_lead_import_undo
ChatGPTAttempt a conflict-aware undo of a reviewed import. Review import history and set confirm_undo=true. The response reports partial conflicts explicitly.
workspace_lead_imports_list
ChatGPTList recent lead imports and their reversal status for the workspace.
workspace_lead_reply_history_get
ChatGPTGet one active workspace lead's campaign and qualified reply history with bounded reply pagination.
workspace_leads_bulk_delete
ChatGPTSoft-delete 1 to 1,000 selected active workspace leads. Review the exact IDs and set confirm_delete=true. Already deleted IDs are skipped on retry.
workspace_leads_csv_apply
ChatGPTApply the unchanged CSV and column mappings using expected_impact from the prior review and a client-generated operation UUID for retry. Explicitly confirm overwrites when required. Campaign assignments in CSV are excluded from this workspace import tool.
workspace_leads_csv_export
ChatGPTExport up to 100 matching active workspace leads as one CSV page. Continue with next_cursor until has_more is false; each page uses the browser CSV column order and spreadsheet formula escaping.
workspace_leads_csv_impact
ChatGPTReview exact create, update, unchanged, failed and overwrite counts for the CSV and column mappings before apply.
workspace_leads_csv_preview
ChatGPTInspect CSV columns and sample rows without writing. Supply UTF-8 CSV content, at most 10 MiB and 10,000 rows.
workspace_leads_csv_template_get
ChatGPTReturn the browser's CSV template for a workspace lead import.
workspace_leads_import_apply
ChatGPTApply one unchanged structured lead import preview only after the whole-source audience inventory is within its limits, every chunk in the complete source has been reviewed, and whole-source identity_refs/resolved-lead components have been checked for cross-chunk overlap. Existing values are preserved unless you explicitly selected overwrite and confirmed the reviewed replacements. Reuse the same operation_id when retrying an unknown outcome.
workspace_leads_import_preview
ChatGPTPreview creation, additions, protected values, explicit overwrites, and audience assignments for up to 2,000 structured workspace leads in one atomic import. This tool never writes data. For a larger source, require one non-empty unique source_ref per row across the complete source, report and exclude duplicate/missing refs while keeping unrelated valid rows, and split the remainder into deterministic chunks under 2,000 rows and 10 MiB. Before previewing any chunk, inventory all audience definitions and effective assignments across the complete source. Require one identical definition per stable audience ref, at most 100 distinct audience refs, and at most 10,000 unique (source_ref, effective audience ref) assignment edges across the logical import; do not preview any chunk if the complete-source inventory exceeds either limit. After the inventory passes, preview every chunk before applying any chunk. Combine every returned identity_refs value and resolved lead_id into whole-source transitive components; do not apply if one component spans chunks. Complete results are limited to 10 MiB; on arguments_too_large or result_too_large, repartition into smaller deterministic chunks and preview the complete source again.
workspace_leads_list
ChatGPTSearch and filter active workspace leads with cursor pagination. This is the same customer lead list as the browser and public API.
workspace_qualification_cost_estimate
ChatGPTRead-only qualification triage and estimated costs for supplied companies and a saved template name. This does not start a paid job.
workspace_qualification_job_cancel
ChatGPTRequest cancellation of a pending or running external qualification job.
workspace_qualification_job_export
ChatGPTRead a base64-encoded CSV chunk. Use next_offset until null to assemble the complete export.
workspace_qualification_job_progress
ChatGPTRead the current or terminal status of an external qualification job.
workspace_qualification_job_results
ChatGPTRead a page of stored qualification results when available, including partial results from a failed or cancelled job.
workspace_qualification_job_start
ChatGPTStart a qualification job after a cost estimate. Provider work consumes existing workspace allowance; cancellation does not refund completed work. Supply a stable operation_id for safe retries and a maximum USD cost ceiling.
workspace_qualification_jobs_list
ChatGPTList qualification jobs started through the workspace API or MCP.
workspace_qualification_prompt_template_create
ChatGPTCreate a saved qualification prompt template. This does not start a qualification job.
workspace_qualification_prompt_template_default_get
ChatGPTGet the workspace's default qualification prompt template.
workspace_qualification_prompt_template_default_set
ChatGPTSet a saved qualification prompt as the workspace default.
workspace_qualification_prompt_template_delete
ChatGPTDelete a nondefault qualification prompt template.
workspace_qualification_prompt_template_get
ChatGPTGet one saved qualification prompt template by ID.
workspace_qualification_prompt_template_update
ChatGPTReplace a saved qualification prompt template by ID.
workspace_qualification_prompt_templates_list
ChatGPTList the workspace's saved qualification prompt templates.
workspace_reply_forwarding_mode_update
ChatGPTChoose whether reply forwarding is off, includes all replies, or includes only positive replies.
workspace_reply_forwarding_recipient_add
ChatGPTAdd and check an address without replacing existing recipients. Requires a fresh operation_id for the verification email.
workspace_reply_forwarding_recipient_remove
ChatGPTRemove only the specified reply forwarding address, preserving other recipients.
workspace_reply_snippets_content_get
ChatGPTRead a reply snippet's stored text and HTML in bounded UTF-8 chunks. Continue with the returned byte offsets while either has_more flag is true; this also supports older large UI snippets.
workspace_reply_snippets_create
ChatGPTCreate a shared workspace reply snippet. HTML is sanitized by the same rule as the web editor; provide plain text, HTML, or both.
workspace_reply_snippets_delete
ChatGPTDelete one shared workspace reply snippet by ID. Existing drafts and sent mail are unaffected.
workspace_reply_snippets_list
ChatGPTList the shared reply snippets in a workspace. Snippet variables are returned as stored; inserting one into a Unibox draft does not send mail.
workspace_reply_snippets_update
ChatGPTReplace one workspace reply snippet's name and body. This does not change existing drafts or previously sent mail.
workspace_report_campaign_performance_get
ChatGPTGet the reports campaign performance segmentation read model for a workspace.
workspace_report_campaigns_get
ChatGPTGet the reports campaigns table read model for a workspace.
workspace_report_deliverability_detail_get
ChatGPTGet the same detailed deliverability projection as the selected browser report tab. Granularity applies only to boxhost-trends.
workspace_report_deliverability_get
ChatGPTGet the reports deliverability read model for a workspace and date range.
workspace_report_engagement_performance_get
ChatGPTGet the reports engagement performance trend read model for a workspace and date range.
workspace_report_engagement_reply_breakdown_get
ChatGPTGet the reports engagement reply breakdown read model for a workspace and date range.
workspace_report_revenue_availability_get
ChatGPTCheck whether the workspace's verified CRM connection and Revenue settings currently allow the report.
workspace_report_revenue_get
ChatGPTRead the conditional Revenue report through the same CRM verification, currency, stage, cache, and stale-response contract as the browser.
workspace_report_speed_to_lead_get
ChatGPTGet the speed-to-lead browser report projection. Defaults to the most recent seven UTC dates; provide both dates for a custom range.
workspace_report_stocks_get
ChatGPTGet the reports stocks and lead-runway read model for a workspace.
workspace_report_summary_get
ChatGPTGet the reports summary read model for a workspace and date range.
workspace_report_volume_get
ChatGPTGet the reports volume read model for a workspace and date range.
workspace_settings_general_get
ChatGPTRead customer-visible sending and identity-generation settings for a workspace.
workspace_team_member_access_remove
ChatGPTRemove an existing member's access to the workspace. Requires Admin or Owner.
workspace_team_member_create
ChatGPTInvite or create a workspace member under the signed-in member's role permissions.
workspace_team_member_role_update
ChatGPTReplace an existing workspace member's role. Requires Admin or Owner.
workspace_team_member_setup_link_create
ChatGPTCreate a private one-time setup link for an existing workspace member. Requires Admin or Owner.
workspace_team_members_list
ChatGPTRead the customer-visible team roster and role capabilities for a workspace.
workspace_unibox_access_get
ChatGPTLightmeter staff only: read whether customers may use Unibox after workspace deactivation.
workspace_unibox_access_update
ChatGPTLightmeter staff only: preserve or revoke customer Unibox access after workspace deactivation. Active workspace access and campaign sending policy stay unchanged.
workspace_walkin_report_get
ChatGPTRead workspace/domain request totals, estimated bot-filtered navigation, automation, unknown and non-navigation counts. Null estimates mean unavailable measurement, not zero humans. Current-campaign associations do not prove the campaign that caused a visit or identify a recipient. Results are limited to 128 KiB; narrow dates/domain or use the public API for a larger report.
workspace_walkin_tracking_update
ChatGPTUpdate workspace walk-in visitor tracking, optional UTM-source capture, or the default redirect destination. Supply at least one setting.
workspace_webhook_create
ChatGPTCreate a workspace webhook for one or more event types. A signed format returns its signing secret once.
workspace_webhook_delete
ChatGPTDelete one workspace-owned webhook configuration.
workspace_webhook_deliveries_list
ChatGPTRead paged webhook delivery history for a workspace.
workspace_webhook_delivery_get
ChatGPTRead one workspace-owned webhook delivery and its attempts.
workspace_webhook_preview_test_send
ChatGPTSend sample events to an unsaved public HTTPS destination without recording delivery history. Use a unique operation_id and inspect the receiver after an uncertain result.
workspace_webhook_signing_secret_rotate
ChatGPTRotate a signed webhook's secret and return the new secret once.
workspace_webhook_test_send
ChatGPTSend sample events to a saved webhook and record delivery history. Use a unique operation_id; after an uncertain result, inspect delivery history before another send.
workspace_webhooks_list
ChatGPTList a workspace's webhook configurations without returning signing secrets.
workspaces_capacity_planning_list
ChatGPTLightmeter staff only: list every active workspace with daily capacity, sent per day, subscribed amount, loaded-lead runway, spare mailboxes, share held for health and needs, sorted by urgency, as on the staff Planning page.
workspaces_list
ChatGPTList workspaces available to the authenticated user before choosing a workspace-scoped campaign or analytics tool.