# Zevari API Zevari exposes LinkedIn, campaign, lead, content, and agent workflows through a versioned REST API. - API reference: https://docs.zevari.ai/api/reference - MCP reference JSON: /v1/mcp-reference.json - MCP reference: https://docs.zevari.ai/mcp/reference - Method list: /v1/methods - Auth: Authorization: Bearer For write actions, preserve confirmation IDs, approval phrases, and docs_url guidance exactly. If a call returns an error, read error.docs_url before retrying. ## Endpoints ### profile.get POST /v1/profile/get Get the current user's business profile: persona, company, ICP criteria, default CTA, and preferred tone. Read this before generating any outreach. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### profile.update POST /v1/profile/update Update the user's business profile. Required before agent tools will produce accurate results. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### voiceDna.save POST /v1/voiceDna/save Save a user's writing style profile extracted from their own LinkedIn content. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### content.save POST /v1/content/save Save a content draft (post, comment, message, sequence). For LinkedIn posts the user wants scheduled, save the draft here, then **stop and tell the user to open https://zevari.ai/dashboard/content/{contentId} to upload any image or PDF and pick a publish time** — image attachments cannot be added through MCP unless the user already has a public HTTPS URL hosting the file. Do NOT call content_schedule yourself unless the user explicitly says they don't want to add media. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### content.list POST /v1/content/list List saved content drafts by type and status. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### content.update POST /v1/content/update Update a content draft's status, body, or metadata. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### contentTemplates.list POST /v1/contentTemplates/list Browse content post/comment templates in the library by framework, scope, and status. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### contentTemplates.get POST /v1/contentTemplates/get Fetch a single content template by slug, including its prompt components and structure. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### contentTemplates.create POST /v1/contentTemplates/create Create a new user-owned content template in the Library. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### contentTemplates.update POST /v1/contentTemplates/update Edit a user-owned content template; changes are versioned. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### contentTemplates.fork POST /v1/contentTemplates/fork Copy a system or existing content template into a new user-owned template for customization. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### contentTemplates.delete POST /v1/contentTemplates/delete Permanently delete a user-owned content template. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### brandContext.get POST /v1/brandContext/get Retrieve the user's active-workspace brand context (Voice DNA, positioning, stories) to ground generated outreach and content. Use before writing customer-facing text when you only need brand context. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### brandPositioning.upsert POST /v1/brandPositioning/upsert Create or update the active workspace's Brand Positioning asset in Library. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### brandStories.upsert POST /v1/brandStories/upsert Create or update the active workspace's Brand Stories asset in Library. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### libraryContext.get POST /v1/libraryContext/get MUST call before drafting outbound/customer-facing text. Loads active-workspace Library context for a skill — Brand Voice, positioning, stories, Outreach templates, and Content templates — resolved from the user's assets and intent. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### signals.save POST /v1/signals/save Persist detected buying signals (hiring, funding, pain point, etc.) linked to a lead and/or post. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### signals.list POST /v1/signals/list List signals with optional filtering by type, priority, or acted status. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### signals.markActed POST /v1/signals/markActed Mark a signal as acted upon so it no longer appears in the active signal queue. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### skills.list POST /v1/skills/list List available skills by category. Always call this before complex workflows to check if a skill exists. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### skills.get POST /v1/skills/get Get a skill's step-by-step instructions, config schema, and metadata by slug. Read these instructions before executing the skill. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### skills.activate POST /v1/skills/activate Activate a skill for the current user with initial configuration. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### skills.updateConfig POST /v1/skills/updateConfig Update a user's skill configuration (e.g., change default settings). Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### targets.save POST /v1/targets/save Persist one or more actionable LinkedIn profiles as trackable leads in global_leads. This is an entity persistence tool and does not require actions_request_confirmation; call it directly. Include linkedin_provider_id when available; linkedin_profile_url/linkedin_url/profileUrl/publicIdentifier are accepted identity aliases. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### targets.createList POST /v1/targets/createList Create a named list and optionally add leads to it. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### targets.updateStatus POST /v1/targets/updateStatus Update a lead's pipeline status (discovered, contacted, qualified, converted, disqualified). Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### targets.saveResearch POST /v1/targets/saveResearch Store research output (ICP score, behavioral profile, company intel) against an existing lead record. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### targets.getPipeline POST /v1/targets/getPipeline Query leads by pipeline status with optional keyword and list filters. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### campaigns.create POST /v1/campaigns/create Invoke campaigns_create. Agent guidance: Resolve and persist every target's linkedin_provider_id before creating a campaign. Saving a target does not update campaign_targets automatically. ### campaigns.list POST /v1/campaigns/list List campaigns with execution_presentation. Use presentation_status, safe_customer_summary, operator_summary, and blockers when explaining campaign health; do not turn raw status or last_error into customer-facing copy. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### campaigns.get POST /v1/campaigns/get Get campaign steps and targets plus customer-safe execution context. For user-facing answers, rely on presentation_status, safe_customer_summary, connection_acceptance_status, and blockers; keep operator_summary for diagnosis and never expose approval IDs, job IDs, internal_detail, or raw provider errors. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### campaigns.validate POST /v1/campaigns/validate Invoke campaigns_validate. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### campaigns.addTargets POST /v1/campaigns/addTargets Invoke campaigns_add_targets. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### campaigns.updateStatus POST /v1/campaigns/updateStatus Invoke campaigns_update_status. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### campaigns.updateStep POST /v1/campaigns/updateStep Invoke campaigns_update_step. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### campaigns.updateTarget POST /v1/campaigns/updateTarget Invoke campaigns_update_target. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### campaigns.getPending POST /v1/campaigns/getPending Invoke campaigns_get_pending. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### campaigns.advanceStep POST /v1/campaigns/advanceStep Invoke campaigns_advance_step. Agent guidance: If a target is missing linkedin_provider_id, call campaigns.get, resolve the provider ID with leads.lookupByUrl or linkedin.getProfile, then patch with campaigns.updateTarget before retrying. ### campaigns.getProgress POST /v1/campaigns/getProgress Summarize campaign execution progress with customer-safe presentation fields. Use presentation_status, safe_customer_summary, connection_acceptance_status, operator_summary, and blockers to answer what worked, what is blocked, who must act, and what to do next. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### confirmations.requestAction POST /v1/confirmations/requestAction Stage an approval-gated destructive or sensitive action intent for user approval. MUST be called before single outbound LinkedIn/email writes, campaign activation, and the allowlisted campaign/bulk actions named in action_type. Do NOT use this for entity persistence tools such as targets_save, targets_create_list, profile_update, voice_dna_save, brand_positioning_upsert, brand_stories_upsert, content_save, or signals_save; call those tools directly. For eligible low/medium-risk actions, returns chat_approval.approval_phrase and instruction_for_user; show that exact phrase to the user and call actions_chat_approve_confirmation after they reply with it. Also returns approval_url as browser fallback. For ≥2 outbound LinkedIn actions in the same turn, use actions_request_bulk_confirmation instead — one URL covers every item. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### linkedin.getSafetyStatus POST /v1/linkedin/getSafetyStatus Check current LinkedIn safety status: rate limits, daily caps, circuit breaker state, and pause status. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getConnectionLimits POST /v1/linkedin/getConnectionLimits Get the remaining connection request quota for today and this week. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.lookupSearchParams POST /v1/linkedin/lookupSearchParams Resolve a natural language location or industry description into Unipile API parameter IDs for search. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.pauseAll POST /v1/linkedin/pauseAll Pause all LinkedIn automation immediately (safety kill switch). Stops all campaign execution. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### linkedin.resumeAll POST /v1/linkedin/resumeAll Resume LinkedIn automation after a pause. Re-activates all paused campaigns. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### linkedin.createPost POST /v1/linkedin/createPost Publish a post to LinkedIn. REQUIRES actions_request_confirmation first. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### linkedin.reactToPost POST /v1/linkedin/reactToPost React to a LinkedIn post (like, celebrate, support, etc.). REQUIRES actions_request_confirmation first. For postId, use Unipile social_id when available; Zevari resolves URL activity/share/ugcPost ids to social_id before approval. Agent guidance: LinkedIn share, UGC post, and activity identifiers are not interchangeable. Resolve URLs with linkedin.getPost and use the returned social_id for write actions. ### linkedin.commentOnPost POST /v1/linkedin/commentOnPost Post a comment on a LinkedIn post, or reply to an existing comment. REQUIRES actions_request_confirmation first. For postId, use Unipile social_id when available; Zevari resolves URL activity/share/ugcPost ids to social_id before approval. Agent guidance: LinkedIn share, UGC post, and activity identifiers are not interchangeable. Resolve URLs with linkedin.getPost and use the returned social_id for write actions. ### linkedin.getPost POST /v1/linkedin/getPost Fetch a LinkedIn post's details, engagement stats, and metadata by post reference. For /posts/...-share- use urn:li:share:; for /posts/...-ugcPost- use urn:li:ugcPost:; activity ids may be passed as the numeric id. Use the returned social_id for comments, reactions, and comment listing. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getPostMedia POST /v1/linkedin/getPostMedia Resolve the highest-resolution image variants attached to a LinkedIn post. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getPostComments POST /v1/linkedin/getPostComments Fetch comments on a LinkedIn post with pagination. Zevari resolves the supplied post reference to social_id before listing comments. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getInbox POST /v1/linkedin/getInbox Fetch recent LinkedIn DM threads (chats) with unread counts and pagination. Use this to read the inbox, find conversations, and check for replies. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getMessages POST /v1/linkedin/getMessages Retrieve the full message history for a specific chat thread. Requires a chatId from linkedin_get_inbox. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.sendMessage POST /v1/linkedin/sendMessage Send a LinkedIn DM to an existing conversation or first-degree recipient. This does not auto-route to InMail for non-connections. REQUIRES actions_request_confirmation first. Agent guidance: Only send LinkedIn DMs to connected profiles. Use outbound channel readiness or add a connect/InMail/email step when the relationship is not connected. ### linkedin.sendInMail POST /v1/linkedin/sendInMail Send a LinkedIn InMail to a non-connection using a Premium or Sales Navigator account. This is a separate, explicit action from linkedin_send_message and may consume InMail credits. REQUIRES actions_request_confirmation first, or actions_request_bulk_confirmation when executing a bulk child. Agent guidance: Use this only when the user explicitly asks for InMail. Do not downgrade an InMail request to a connection request. ### linkedin.sendConnectionRequest POST /v1/linkedin/sendConnectionRequest Send a LinkedIn connection request with optional note. REQUIRES actions_request_confirmation first. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### linkedin.getProfile POST /v1/linkedin/getProfile Fetch a LinkedIn profile by public identifier or provider ID. Returns the provider_id (ACoAAA...) needed for all write operations. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getCompany POST /v1/linkedin/getCompany Fetch a LinkedIn company profile including industry, employee count, and description. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getUserPosts POST /v1/linkedin/getUserPosts Retrieve a person's recent LinkedIn posts. Used for personalization research and warming comment generation. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.getUserComments POST /v1/linkedin/getUserComments Retrieve a person's recent LinkedIn comments. Used for behavioral profiling and identifying engagement patterns. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.viewProfile POST /v1/linkedin/viewProfile Trigger a LinkedIn profile view notification — used in warming sequences to get on a prospect's radar before connecting. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### linkedin.searchProfiles POST /v1/linkedin/searchProfiles Search LinkedIn for people by keywords, job title, industry, location, seniority, or company size. Returns profiles with provider IDs for follow-up actions. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.searchPosts POST /v1/linkedin/searchPosts Search LinkedIn posts by keyword with date and relevance filtering. Use for signal detection (hiring, funding, pain points). Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### linkedin.searchCompanies POST /v1/linkedin/searchCompanies Search LinkedIn for companies by name or keyword. Returns company profiles with follower counts and industry data. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### agents.behavioralProfile POST /v1/agents/behavioralProfile Analyze a person's LinkedIn posts and comments to generate a DISC behavioral profile, decision style, and communication playbook for outreach. Agent guidance: Ground analysis in the supplied profile, company, and ICP inputs. Do not fill missing facts with guesses; surface uncertainty in the response data. ### agents.communicationBlueprint POST /v1/agents/communicationBlueprint Synthesize all available research on a prospect into a unified outreach strategy with recommended channel, tone, hooks, and CTA. Agent guidance: Ground analysis in the supplied profile, company, and ICP inputs. Do not fill missing facts with guesses; surface uncertainty in the response data. ### agents.companyIntelligence POST /v1/agents/companyIntelligence Research a company's LinkedIn profile, recent activity, and employee context to produce firmographic intelligence for ICP scoring and personalization. Agent guidance: Ground analysis in the supplied profile, company, and ICP inputs. Do not fill missing facts with guesses; surface uncertainty in the response data. ### agents.generateConnectionNote POST /v1/agents/generateConnectionNote Generate a personalized LinkedIn connection request note (max 300 chars) based on the prospect's profile and your business context. Before using this for real outreach, call library_context_get(skill_slug='craft-outreach', include_examples=true) and apply the returned Outreach template plus Brand context. Agent guidance: Load profile and library context before generating customer-facing copy so outreach uses the user's stored voice, positioning, and templates. ### agents.enrichEmail POST /v1/agents/enrichEmail Find verified work and personal email addresses for a target using Wiza. Requires the target's LinkedIn URL. Agent guidance: Use only when the workflow requires email enrichment. Preserve provider and confidence fields from the response, and do not invent missing email addresses. ### agents.icpScore POST /v1/agents/icpScore Score a prospect 1-5 on ideal customer profile fit based on industry, role, company size, location, and your stored ICP criteria. Agent guidance: Ground analysis in the supplied profile, company, and ICP inputs. Do not fill missing facts with guesses; surface uncertainty in the response data. ### agents.generateMessages POST /v1/agents/generateMessages Generate a 3-message LinkedIn outreach sequence (initial + 2 follow-ups) personalized to the prospect's profile and your business context. Before using this for real outreach, call library_context_get(skill_slug='craft-outreach', include_examples=true) and apply the returned Outreach template plus Brand context. Agent guidance: Load profile and library context before generating customer-facing copy so outreach uses the user's stored voice, positioning, and templates. ### agents.researchPerson POST /v1/agents/researchPerson Gather comprehensive research on a prospect: profile, recent posts, comments, education, skills, and company. Prerequisite for personalization and ICP scoring. Agent guidance: Ground analysis in the supplied profile, company, and ICP inputs. Do not fill missing facts with guesses; surface uncertainty in the response data. ### agents.personalize POST /v1/agents/personalize Extract the most relevant and interesting content from a prospect's recent posts for use as personalization hooks in outreach. Agent guidance: Load profile and library context before generating customer-facing copy so outreach uses the user's stored voice, positioning, and templates. ### agents.extractSearchParams POST /v1/agents/extractSearchParams Convert a natural language target description into structured LinkedIn Sales Navigator search parameters (job titles, industries, locations, seniority). Agent guidance: Return structured search criteria from the user's prompt. Verify the generated parameters against this schema before using them in LinkedIn search endpoints. ### agents.classifySignals POST /v1/agents/classifySignals Classify a batch of LinkedIn posts into signal types: hiring, funding, expansion, pain point, product launch, or not a signal. Agent guidance: Use the supplied signal records and scoring criteria only. Keep IDs from the input intact so downstream save or mark-acted calls target the right records. ### agents.scoreSignals POST /v1/agents/scoreSignals Score classified signals 1-5 on intent strength and produce persona-aware insights and recommended next actions. Agent guidance: Use the supplied signal records and scoring criteria only. Keep IDs from the input intact so downstream save or mark-acted calls target the right records. ### agents.generateWarmingComment POST /v1/agents/generateWarmingComment Generate a natural, on-brand LinkedIn comment for a warming sequence — complimentary but not salesy, designed to get on the prospect's radar. Before using this for real outreach, call library_context_get(skill_slug='thought-leader-engagement', content_type='comment', include_examples=true) and apply the returned Content template plus Brand context. Agent guidance: Load profile and library context before generating customer-facing copy so outreach uses the user's stored voice, positioning, and templates. ### inbox.classifyPending POST /v1/inbox/classifyPending Fetch unclassified inbox messages from the database ready for intent classification. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### inbox.saveClassifications POST /v1/inbox/saveClassifications Persist intent classifications for inbox messages and trigger Slack/email alerts for high-intent replies. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### inbox.enrichSender POST /v1/inbox/enrichSender Store enriched profile data for an inbox message sender, linking them to global_leads. Agent guidance: This endpoint can stage or execute a write action. Preserve confirmation IDs and approval phrases exactly when the response includes them. ### inbox.sendDigest POST /v1/inbox/sendDigest Send the daily actions digest to the account owner: high-intent inbox messages, quiet replies, due campaign actions, recent engagements, and open signals. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### inbox.radar POST /v1/inbox/radar Scan the LinkedIn inbox for high-intent signals — lead magnet requests, meeting inquiries, warm replies — and return prioritized alerts. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.query POST /v1/leads/query Query the global leads database with filters for keyword, source, qualification status, email, and intent signals. If you will draft or stage outbound copy from returned leads, call library_context_get next and apply the returned Outreach template plus Brand context before writing. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.lookupByUrl POST /v1/leads/lookupByUrl Resolve a saved lead by LinkedIn profile URL, public identifier, or provider ID within the active LinkedIn account. If you will draft or stage outbound copy from this lead, call library_context_get next and apply the returned Outreach template plus Brand context before writing. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.getDetail POST /v1/leads/getDetail Get the full record for a specific lead including lists, emails, interaction count, and pipeline status. If you will draft or stage outbound copy from this lead, call library_context_get next and apply the returned Outreach template plus Brand context before writing. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.getThread POST /v1/leads/getThread Read the locally stored LinkedIn DM thread for a saved lead in the active LinkedIn account. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.getQualified POST /v1/leads/getQualified Return leads already marked as qualified, sorted by interaction count. If you will draft or stage outbound copy from returned leads, call library_context_get next and apply the returned Outreach template plus Brand context before writing. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.dashboardStats POST /v1/leads/dashboardStats Get aggregate stats: total leads, qualified, with email, with intent, active in last 7 days, and campaign counts. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.activityFeed POST /v1/leads/activityFeed Get recent inbound activity (comments and DMs) with keyword and source filtering. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.listCampaigns POST /v1/leads/listCampaigns List all campaigns for the current user with optional status filter. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.getCampaignDetail POST /v1/leads/getCampaignDetail Get full campaign details including all targets and their current step status. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.listLists POST /v1/leads/listLists List all saved lead lists. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying. ### leads.getListLeads POST /v1/leads/getListLeads Get the leads inside a specific named list with pagination. If you will draft or stage outbound copy from returned leads, call library_context_get next and apply the returned Outreach template plus Brand context before writing. Agent guidance: Validate arguments against this schema before calling. If the API returns a docs_url, read that endpoint section before retrying.