All integrations

HeyReach

BUSINESS · CRM & SUPPORT

LinkedIn outreach campaigns, sender accounts, lead lists, and their replies in the account they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

heyreach_delete_api_public_li_account_removeaccount_by_accountidWRITE

Disconnect a LinkedIn account from this workspace. With force=true the account is first removed from every active campaign; with force=false (the default) HeyReach refuses while the account is in one. DELETE /api/public/li_account/RemoveAccount/{accountId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_delete_api_public_list_deleteleadsfromlistWRITE

Remove named leads from a lead list, addressed by their LinkedIn member ids (the `linkedin_id` a list read returns). DELETE /api/public/list/DeleteLeadsFromList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_delete_api_public_list_deleteleadsfromlistbyprofileurlWRITE

Remove named leads from a lead list, addressed by their LinkedIn profile urls. Answers with `notFoundInList` naming the urls it could not match, so a 200 is not by itself proof that anything was removed. DELETE /api/public/list/DeleteLeadsFromListByProfileUrl. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_delete_api_public_management_organizations_linkedin_accounts_by_linkedinaccountidWRITE

Soft-delete a LinkedIn account anywhere in the organization. forceDelete=false (the default) is refused with 400 while the account is in an active campaign; forceDelete=true removes it from those campaigns first. DELETE /api/public/management/organizations/linkedin-accounts/{linkedInAccountId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_delete_api_public_webhooks_deletewebhookWRITE

Delete a webhook by id. HeyReach REFUSES while the webhook is active -- 400 'The Webhook must be deactivated before deleting' (measured 2026-09-23; the documentation does not mention it) -- so set isActive false with 'Update a webhook' first. DELETE /api/public/webhooks/DeleteWebhook. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DESTRUCTIVE and not reversible through this API. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_auth_checkapikeyREAD

Answer 200 if the connection's WORKSPACE key is valid. HeyReach's own documented health check, and the probe this integration runs at the paste box. It is workspace-only: a perfectly valid ORGANIZATION key is answered 401 'The provided API key is not a workspace-level key.', so a 401 here means the key is bad OR is an organization key, never that HeyReach is down. GET /api/public/auth/CheckApiKey. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_campaign_getbyidREAD

One campaign by id, with its status, list, senders and settings. GET /api/public/campaign/GetById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_campaign_getcampaignsequenceREAD

The campaign's current workflow tree, in exactly the shape 'Replace a campaign sequence' and 'Create a campaign' accept -- so it can be read from one campaign and written to another unmodified. GET /api/public/campaign/GetCampaignSequence. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_enrichment_enrich_email_check_job_by_jobidREAD

Poll an email-enrichment job by the jobId its creation returned, until it reaches a terminal status. GET /api/public/enrichment/enrich-email/check-job/{jobId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_inbox_getchatroom_by_accountid_by_conversationidREAD

One LinkedIn conversation and its messages, addressed by the sender account id and the conversation id. GET /api/public/inbox/GetChatroom/{accountId}/{conversationId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_li_account_getaccountproxy_by_accountidREAD

The proxy assigned to one LinkedIn account: a country code for a HeyReach-managed proxy, or the full connection details for a custom one. GET /api/public/li_account/GetAccountProxy/{accountId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_li_account_getaccountstatus_by_accountidREAD

The current connection status of one LinkedIn account, cached by HeyReach for 10 seconds. This is the poll target after a reconnect, a PIN submission or a resync, all of which return immediately. GET /api/public/li_account/GetAccountStatus/{accountId}. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_li_account_getbyidREAD

One connected LinkedIn account by id. Answers 404 'There is no LinkedIn Sender with provided id.' for an id this workspace does not hold. GET /api/public/li_account/GetById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_li_account_getproxycountriesREAD

The country codes HeyReach's managed proxies can be placed in, for the proxy tools and for connecting an account. A static reference list; the only tool on this provider that needs no workspace data to answer. GET /api/public/li_account/GetProxyCountries. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_list_getbyidREAD

One lead or company list by id, with its item count, type and the campaigns using it. GET /api/public/list/GetById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_management_organizations_api_keys_workspaces_by_workspaceidREAD

WHICH integration keys a workspace has minted -- the Public API key and the n8n, Make, Zapier and MCP keys -- with null for each type that has none. HeyReach returns the LIVE key VALUES here, for any workspace in the organization; Agentic Fabriq replaces each one with a marker before the result leaves the connector and keeps the field names, so this answers 'which key types exist' without handing over the keys. That is not squeamishness: an organization key cannot call the workspace surface at all, so reading these out is how it would reach every workspace indirectly. Read the real values in the HeyReach dashboard. GET /api/public/management/organizations/api-keys/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `publicApi`, `n8N`, `make`, `zapier`, `mcp` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_management_organizations_users_by_useridREAD

One organization user with their roles, organization permissions and per-workspace permissions. GET /api/public/management/organizations/users/{userId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `invitationUrl` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_management_organizations_workspacesREAD

Every workspace in the organization with its seat limit and seats used. This is the probe for an ORGANIZATION key, and the only read that tells you which workspace ids the other organization tools may name. GET /api/public/management/organizations/workspaces. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_get_api_public_webhooks_getwebhookbyidREAD

One webhook by id. includeCustomHeaders=true also returns the custom request headers configured on it, which are whatever the customer put there -- often an authorization header for their own receiver. GET /api/public/webhooks/GetWebhookById. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_patch_api_public_campaign_updateleadcustomfields_campaigns_by_campaignid_leads_custom_fieldsWRITE

Upsert custom fields on one lead inside a campaign: an existing field is updated, a missing one created, a null or empty value clears it. The lead is named by member id or profile url. PATCH /api/public/campaign/UpdateLeadCustomFields/campaigns/{campaignId}/leads/custom-fields. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_patch_api_public_list_updateleadcustomfields_lists_by_listid_leads_custom_fieldsWRITE

Upsert custom fields on one lead inside a list: an existing field is updated, a missing one is created, and a null or empty value clears it. The lead is named by member id or profile url. PATCH /api/public/list/UpdateLeadCustomFields/lists/{listId}/leads/custom-fields. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_patch_api_public_management_organizations_workspaces_by_workspaceidWRITE

Rename a workspace or change its seat limit. PATCH /api/public/management/organizations/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_patch_api_public_webhooks_updatewebhookWRITE

Change a webhook. Body: webhookName (25 characters maximum), webhookUrl, eventType, campaignIds and isActive; an omitted or null field keeps its current value, and an empty campaignIds means every campaign. This is also the tool that DEACTIVATES a webhook by setting isActive false, which HeyReach requires before it can be deleted. PATCH /api/public/webhooks/UpdateWebhook. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_blacklist_addcompaniesWRITE

Add up to 100 companies to this workspace's blacklist, each named by a LinkedIn company url and/or a name. Leads working at a blacklisted company are excluded from every campaign in the workspace. POST /api/public/blacklist/AddCompanies. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_blacklist_addleadsWRITE

Add up to 100 leads to this workspace's blacklist, each named by at least one of linkedInProfileId, profileUrl or email. A blacklisted lead is excluded from every campaign in the workspace. The response reports added, duplicates and validationErrors separately, so a 200 does not mean all of them landed. POST /api/public/blacklist/AddLeads. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_blacklist_getcompaniesREAD

A paginated page of this workspace's blacklisted companies, newest first. POST /api/public/blacklist/GetCompanies. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_blacklist_getleadsREAD

A paginated page of this workspace's blacklisted leads, newest first. The blacklist is per workspace: a key only ever sees its own workspace's entries. POST /api/public/blacklist/GetLeads. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_blacklist_removecompaniesWRITE

Remove up to 100 company blacklist entries by the entry ids a blacklist read or add returned. POST /api/public/blacklist/RemoveCompanies. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_blacklist_removeleadsWRITE

Remove up to 100 blacklist entries by the entry ids a blacklist read or add returned. Campaigns can contact those leads again afterwards. POST /api/public/blacklist/RemoveLeads. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_addleadstocampaignWRITE

Queue up to 100 leads into a campaign, optionally pinning each to a specific sender. With resumeFinishedCampaign or resumePausedCampaign the campaign is STARTED as a side effect. Returns no per-lead outcome -- prefer the V2 tool. POST /api/public/campaign/AddLeadsToCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_addleadstocampaignv2WRITE

The same queueing as 'Add leads to a campaign', up to 100 per call, with a per-lead outcome in the response. With resumeFinishedCampaign or resumePausedCampaign the campaign is STARTED as a side effect. POST /api/public/campaign/AddLeadsToCampaignV2. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_addlinkedinaccountstocampaignWRITE

Add up to 100 LinkedIn senders to a campaign, leaving the existing senders alone. Each account reports its own status, so a 200 can still carry per-account failures. POST /api/public/campaign/AddLinkedInAccountsToCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_createWRITE

Create a campaign in DRAFT. Body: name (1-50 chars), linkedInUserListId (an existing USER_LIST), linkedInAccountIds (1-100 connected senders, REQUIRED -- HeyReach answers 400 for an empty array), the three exclude* booleans, an optional excludeListId, and optional schedule and sequence objects shaped exactly as 'Replace a campaign schedule' and 'Replace a campaign sequence' document them. A campaign cannot be started without a sequence. POST /api/public/campaign/Create. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_createcampaignfromtemplateWRITE

Create a DRAFT campaign by cloning the sequence and schedule of an existing one, with a new name, lead list, senders and exclusion rules. POST /api/public/campaign/CreateCampaignFromTemplate. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_getallREAD

A paginated page of this workspace's campaigns, up to 100 per request, filterable by keyword, status and sender account. POST /api/public/campaign/GetAll. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_getcampaignsforleadREAD

Every campaign holding a lead, matched by email, LinkedIn id or profile url. POST /api/public/campaign/GetCampaignsForLead. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_getleadsfromcampaignREAD

The campaign's Lead Analytics page: leads with their campaign, connection and message status. Body: campaignId, offset, limit, and the optional time filter -- timeFrom and timeTo (ISO 8601) with timeFilter choosing which timestamp they apply to (CreationTime, Everywhere, LastActionTakenTime, FailedTime, LastActionTakenOrFailedTime; Everywhere is the default). It shows only the leads already inserted for execution, so a smaller count than the source list is normal rather than a loss. POST /api/public/campaign/GetLeadsFromCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_pauseWRITE

Stop a running campaign. The senders stop acting on LinkedIn; lead positions in the sequence are kept, so 'Resume a campaign' continues rather than restarts. POST /api/public/campaign/Pause. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_removelinkedinaccountsfromcampaignWRITE

Remove up to 100 LinkedIn senders from a campaign. Each account reports its own status (Success, NotPartOfThisCampaign and so on), so a 200 can still carry per-account failures. POST /api/public/campaign/RemoveLinkedInAccountsFromCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_resumeWRITE

Take a paused campaign back to running. The senders start acting on LinkedIn again from wherever each lead had reached in the sequence. POST /api/public/campaign/Resume. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_startcampaignWRITE

Activate a DRAFT campaign. From this call the senders begin acting on LinkedIn. The campaign must already have a sequence; HeyReach refuses otherwise. POST /api/public/campaign/StartCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_stopleadincampaignWRITE

Halt one lead's progression through a campaign, named by member id or profile url. The lead stays in the campaign; no further steps run for it. POST /api/public/campaign/StopLeadInCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_updateaccountsWRITE

REPLACE the whole set of LinkedIn senders on a campaign. Any account not in the new list is removed, and on a paused campaign its leads are reassigned. Use 'Add sender accounts to a campaign' to add without removing. POST /api/public/campaign/UpdateAccounts. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_updatescheduleWRITE

REPLACE when a campaign runs: daily window, active weekdays, timezone and optional start and end dates. Allowed only in DRAFT, SCHEDULED or PAUSED. This is a full replacement, not a merge. POST /api/public/campaign/UpdateSchedule. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_updatesequenceWRITE

Create or fully REPLACE a campaign's workflow tree. Body: campaignId and a sequence root node. A node carries nodeType (CONNECTION_REQUEST, MESSAGE, INMAIL, VIEW_PROFILE, FOLLOW, LIKE_POST, FIND_EMAIL, CHECK_IS_CONNECTION, CHECK_IS_OPEN_PROFILE, SEND_LEAD_TO_INSTANTLY, SEND_LEAD_TO_SMARTLEAD, SEND_LEAD_TO_BISON, END), an unconditionalNode, a conditionalNode on branching types only, actionDelay with actionDelayUnit, and a node-type-specific payload. The START node is implicit and every path must end in END; a child of an action node needs at least three hours of delay. Allowed only in DRAFT, SCHEDULED or PAUSED. POST /api/public/campaign/UpdateSequence. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_campaign_updatesettingsWRITE

Change a campaign's name, lead list and exclusion rules. Allowed only in DRAFT, SCHEDULED or PAUSED; any other status is answered 400. A SCHEDULED campaign reverts to DRAFT. POST /api/public/campaign/UpdateSettings. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_enrichment_enrich_emailWRITE

Queue an email lookup for one lead, named by exactly one of profileUrl or leadMemberId. Asynchronous: it returns a jobId to poll. Email enrichment is a metered HeyReach feature, so each call spends the account's own credits. POST /api/public/enrichment/enrich-email. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_inbox_getconversationsv2READ

A page of LinkedIn conversations, up to 100, filtered by sender account, campaign, seen state and more, paged by offset. Superseded by the V3 tool, which pages by cursor; offset paging on a moving inbox can skip or repeat rows. POST /api/public/inbox/GetConversationsV2. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_inbox_getconversationsv3READ

A cursor-paged page of LinkedIn conversations, up to 100, with a date range and the same filters as V2. Pass the returned nextCursor back rather than constructing one. Prefer this over the V2 tool. POST /api/public/inbox/GetConversationsV3. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_inbox_sendmessageWRITE

Send a message into an existing LinkedIn conversation from one of this workspace's senders. This is a real message from a real person's LinkedIn account; it cannot be recalled through this API. POST /api/public/inbox/SendMessage. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_inbox_setseenstatusWRITE

Set the seen flag on a LinkedIn conversation for one sender. It changes what the account owner sees in their own LinkedIn inbox. POST /api/public/inbox/SetSeenStatus. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_lead_addtagsWRITE

Add tags to a lead without disturbing the tags already on it. Name the lead by profile url or LinkedIn id. With createTagIfNotExisting the workspace tag is created on the fly. POST /api/public/lead/AddTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_lead_getleadREAD

The full lead record HeyReach holds for a LinkedIn profile url: name, headline, company, position, connections, tags and the member id every other lead tool addresses it by. POST /api/public/lead/GetLead. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_lead_gettagsREAD

The tags on one lead, alphabetically sorted, addressed by profile url. POST /api/public/lead/GetTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_lead_replacetagsWRITE

REPLACE the whole tag set on a lead: every existing tag is removed and the supplied list put in its place. Use 'Add tags to a lead' to add without losing what is there. POST /api/public/lead/ReplaceTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_lead_tags_createtagsWRITE

Create one or more tags for this workspace, ready to assign to leads. Each entry takes a displayName and a colorLabel from Blue, Green, Purple, Pink, Red, Cyan, Yellow, Orange. (HeyReach's own example writes the field as `name`; the API requires `displayName` and answers 400 'The DisplayName field is required.' otherwise -- measured 2026-09-23.) POST /api/public/lead_tags/CreateTags. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_getallREAD

A paginated page of the LinkedIn accounts connected to this workspace, up to 100 per request. Every campaign, inbox and network tool is addressed by an id from here, so this is usually the first call. POST /api/public/li_account/GetAll. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_reconnectWRITE

Re-authenticate an existing LinkedIn account using the credentials HeyReach already stores for it. Returns immediately; poll the account status. Nothing here carries a credential -- the account id is the only argument. POST /api/public/li_account/Reconnect. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_reloginrecruiterWRITE

Refresh the LinkedIn Recruiter session of a connected account. The account must already be connected and must hold a live Recruiter subscription. POST /api/public/li_account/ReloginRecruiter. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_reloginsalesnavigatorWRITE

Refresh the Sales Navigator session of a connected LinkedIn account. The account must already be connected and must hold a live Sales Navigator subscription. POST /api/public/li_account/ReloginSalesNavigator. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_resyncWRITE

Ask HeyReach to re-read the LinkedIn profile behind a connected account. Returns immediately; poll the account status. POST /api/public/li_account/Resync. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_submitpinWRITE

Hand HeyReach the PIN LinkedIn sent to an account that is awaiting verification. Answers 409 when the account is not awaiting one. The PIN is a single-use code the account owner reads from their own email or phone; it is useless afterwards and on its own. POST /api/public/li_account/SubmitPin. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. DRIVES A REAL LINKEDIN ACCOUNT: calling it makes the connected sender act on LinkedIn, where the action is visible to its recipients and counts against LinkedIn's own daily limits. It cannot be undone from here. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_updateinboxconfigurationWRITE

How far back HeyReach syncs a LinkedIn account's inbox when it connects: inboxScrapeMode 0 = AllTime, 1 = HeyReachOnly. POST /api/public/li_account/UpdateInboxConfiguration. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_li_account_updateproxyWRITE

Move a LinkedIn account onto a different proxy. Send exactly one of proxyCountryCode (HeyReach-managed) or customProxy (your own); both or neither is answered 400. Changing the address an account logs in from is what LinkedIn notices, so change it deliberately. POST /api/public/li_account/UpdateProxy. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_addleadstolistWRITE

Import up to 100 leads into a lead list. Every `customUserFields[].name` must be alphanumeric or underscore or HeyReach answers 400. Returns the number imported and nothing else -- use the V2 tool when you need to know how many were new, updated or rejected. POST /api/public/list/AddLeadsToList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_addleadstolistv2WRITE

The same import as 'Add leads to a list', up to 100 per call, but the response breaks the outcome down into addedLeadsCount, updatedLeadsCount and failedLeadsCount. Prefer this one: the plain version cannot tell a caller that half its leads were rejected. POST /api/public/list/AddLeadsToListV2. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_createemptylistWRITE

Create a lead list (type USER_LIST) or a company list (COMPANY_LIST); an empty type creates a lead list. HeyReach publishes no delete-list endpoint, so a list created here can only be removed in the dashboard. POST /api/public/list/CreateEmptyList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_getallREAD

A paginated page of this workspace's lists, up to 100 per request, filterable by keyword, list type and the campaigns that use them. POST /api/public/list/GetAll. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_getcompaniesfromlistREAD

A paginated page of the companies in a company list, up to 1000 per request. POST /api/public/list/GetCompaniesFromList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_getleadsfromlistREAD

A paginated page of the leads in a lead list, up to 1000 per request, filterable by keyword, profile url, LinkedIn member id and creation date. Each lead carries both an `id` and the `linkedin_id` member id the delete and tag tools address it by. POST /api/public/list/GetLeadsFromList. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_list_getlistsforleadREAD

Every lead list holding a lead, matched by email, LinkedIn id or profile url. Send whichever identifier you have. POST /api/public/list/GetListsForLead. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_api_keys_workspaces_by_workspaceidWRITE

Generate a new integration key of one type (PUBLIC, N8N, MAKE, ZAPIER or MCP) for a workspace, and return it. Body: apiKeyType. TWO CONSEQUENCES BEFORE YOU CALL IT. First, it SUPERSEDES the workspace's existing key of that type -- the response's `previousKeyStatus` reports what happened to it -- and for PUBLIC on the connected workspace that is the key this Agentic Fabriq connection authenticates with, so the connection stops working until the new key is pasted into it. Second, the new key comes back in `key` in full, because handing it over is the whole point of the tool. POST /api/public/management/organizations/api-keys/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. DESTRUCTIVE and not reversible through this API. THE RESULT IS A SECRET: this tool returns `key` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_linkedin_accountsREAD

Every LinkedIn account in the organization, across workspaces, with pagination, keyword search and an optional workspaceIds filter (empty means all). The organization-wide counterpart of 'List LinkedIn sender accounts', which sees one workspace. POST /api/public/management/organizations/linkedin-accounts. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_linkedin_accounts_movetoworkspaceWRITE

Move one LinkedIn account out of its current workspace into another. Its campaigns, conversations and history follow the account, so this changes what both workspaces can see. POST /api/public/management/organizations/linkedin-accounts/MoveToWorkspace. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_usersREAD

Every existing and invited user in the organization, filterable by role and invitation status, with each one's organization and per-workspace permissions. POST /api/public/management/organizations/users. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `invitationUrl` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_users_invite_adminsWRITE

Invite one or more people as organization ADMINS. HeyReach sends no email: it returns a join URL per invitee, in full, for you to deliver yourself -- so the URL is the operation's only output and is not redacted. ANYONE WHO OPENS THAT URL BECOMES AN ADMIN of the organization, able to manage every workspace, its members and its billing, so deliver it to the intended person and nowhere else. POST /api/public/management/organizations/users/invite/admins. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. THE RESULT IS A SECRET: this tool returns `invitationUrl` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_users_invite_managersWRITE

Invite one or more people as managers: users who sit outside the organization and reach only the workspaces named here. HeyReach sends no email: it returns a join URL per invitee, in full, for you to deliver yourself -- so the URL is the operation's only output and is not redacted. Whoever opens it gains access to those workspaces, so deliver it to the intended person and nowhere else. POST /api/public/management/organizations/users/invite/managers. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. THE RESULT IS A SECRET: this tool returns `invitationUrl` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_users_invite_membersWRITE

Invite one or more people as organization members, naming the workspaces and the per-workspace permissions each one gets. HeyReach sends no email: it returns a join URL per invitee, in full, for you to deliver yourself -- so the URL is the operation's only output and is not redacted. Whoever opens it joins the organization with the permissions named here, so deliver it to the intended person and nowhere else. POST /api/public/management/organizations/users/invite/members. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. THE RESULT IS A SECRET: this tool returns `invitationUrl` IN FULL, because creating it is what the tool does, and nothing downstream redacts a tool result. Treat the whole result as credential material -- hand it to the person who needs it and do not repeat it. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_users_workspaces_by_workspaceidREAD

Every user in one workspace with their role and permissions, filterable by role and invitation status. POST /api/public/management/organizations/users/workspaces/{workspaceId}. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. Agentic Fabriq replaces `invitationUrl` in the response with a marker, and the field name is kept so you can still see WHICH of them exist. HeyReach returns live credentials in those fields -- keys and invitation links this caller did not create, including other workspaces' -- and a tool result is not redacted anywhere downstream. Read the real values in the HeyReach dashboard. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_management_organizations_workspacesWRITE

Create a workspace in the organization. HeyReach publishes no delete-workspace endpoint, so one created here can only be removed in the dashboard. POST /api/public/management/organizations/workspaces. NEEDS THE ORGANIZATION (MASTER) API KEY, not the workspace key: HeyReach answers a workspace key 401 'The provided API key does not have master-level access.' here. If this connection does not hold an organization key, Agentic Fabriq refuses the call before sending it and says so. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_mynetwork_getmynetworkforsenderREAD

A paginated page of one sender account's LinkedIn connections. An id that names no account in this workspace is answered 200 with an empty page rather than an error (measured 2026-09-23), so check the count against a sender you know exists. POST /api/public/MyNetwork/GetMyNetworkForSender. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_mynetwork_isconnectionREAD

Whether one lead is already a first-degree connection of one sender, named by profile url or LinkedIn id. Answers 400 naming the id when the sender does not exist. POST /api/public/MyNetwork/IsConnection. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_stats_getoverallstatsREAD

Per-day and total counts for the workspace over a date range: profile views, follows, connections sent and accepted, messages and InMails sent and replied, voice notes, unique leads contacted and auto-tagging. Empty accountIds or campaignIds mean 'all'. POST /api/public/stats/GetOverallStats. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_stats_getoverallstatsbycampaignREAD

The same counts as 'Get overall statistics', broken down per campaign for both the per-day and the total figures. POST /api/public/stats/GetOverallStatsByCampaign. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_webhooks_createwebhookWRITE

Register a webhook. Body: webhookName (25 characters maximum -- measured, HeyReach answers 400 above it and documents no limit), webhookUrl, eventType (CONNECTION_REQUEST_SENT, CONNECTION_REQUEST_ACCEPTED, MESSAGE_SENT, MESSAGE_REPLY_RECEIVED, EVERY_MESSAGE_REPLY_RECEIVED, INMAIL_SENT, INMAIL_REPLY_RECEIVED, FOLLOW_SENT, LIKED_POST, VIEWED_PROFILE, CAMPAIGN_COMPLETED, LEAD_TAG_UPDATED) and campaignIds (empty means every campaign). Returns {webhookId}; every read returns the same value under `id`. POST /api/public/webhooks/CreateWebhook. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api
heyreach_post_api_public_webhooks_getallwebhooksREAD

A paginated page of this workspace's webhooks. includeCustomHeaders=true also returns each one's custom request headers, which are whatever the customer put there -- often an authorization header for their own receiver. POST /api/public/webhooks/GetAllWebhooks. Needs the WORKSPACE API key. An organization (master) key is answered 401 'The provided API key is not a workspace-level key.' by HeyReach on every workspace operation. HeyReach allows 300 API requests per minute across all endpoints and answers 429 above that; a 429 is the budget, never the key.

api

Put HeyReach behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.