> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emailx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Operate campaigns and administer workspaces

> Do-not-contact lists, live targeting, AI lead search, reply drafts, knowledge and voice, warmup, team, infrastructure quotes and agency clients.

Package 0.10.0 and a matching API host add 61 operations for running campaigns after launch and for administering workspaces. Each area has its own scope, so an existing key gains nothing until an operator issues the new grant. Check [workspace capabilities](https://docs.emailx.ai/en/api-reference/start/check-permissions.md) first and treat `503 feature_unavailable` as not enabled.

## Keep LinkedIn audiences clean

| Task | Operation | Scope |
| - | - | - |
| Create, switch or delete a do-not-contact list | [Create a list](https://docs.emailx.ai/en/api-reference/do-not-contact/create-dnc-list.md) | `exclusions:write` |
| Replace typed exclusions or change the ICP of a launched campaign | [Targeting](https://docs.emailx.ai/en/api-reference/running/update-targeting.md) | `campaigns:targeting` |
| Find prospects with AI | [Lead search](https://docs.emailx.ai/en/api-reference/prospects/search-linkedin-leads.md) | `prospecting:write` |
| Remove queued prospects with no history | [Removals](https://docs.emailx.ai/en/api-reference/prospects/remove-linkedin-prospects.md) | `campaigns:write` |

A new list skips matching queued prospects at once. Prospects already contacted keep their history, and deleting a list does not restore anyone it skipped. AI lead search runs in a worker, uses AI and the sender's LinkedIn search quota, and needs `confirm_ai_and_search_use: true`. Read candidates from the operation result, then add the ones you choose as prospects. Nobody is enrolled or contacted by the search.

## Review and correct email content

Use [bulk approval](https://docs.emailx.ai/en/api-reference/emails/approve-emails.md) for up to 25 exact previews; each item succeeds or fails on its own. [Revoke an approval](https://docs.emailx.ai/en/api-reference/emails/unapprove-email.md) to send a message back to review, [reset a draft preview](https://docs.emailx.ai/en/api-reference/emails/rewrite-email.md) before generating it again with credit confirmation, or [cancel one unsent message](https://docs.emailx.ai/en/api-reference/emails/cancel-email.md). Messages that are sending or sent are never changed.

## Handle replies

[Read the current reply draft](https://docs.emailx.ai/en/api-reference/inbox/get-reply-draft.md), [edit it](https://docs.emailx.ai/en/api-reference/inbox/edit-reply-draft.md) or [discard it](https://docs.emailx.ai/en/api-reference/inbox/discard-reply-draft.md) with `inbox:write`. Send it through the confirmed [reply operation](https://docs.emailx.ai/en/api-reference/inbox/send-reply.md) with the exact text. [Dismiss a reply](https://docs.emailx.ai/en/api-reference/inbox/dismiss-reply.md) from Needs your reply with the outcome revision you read; a newer prospect message keeps it listed.

## Knowledge, voice and research

Text knowledge is saved without AI. Profile extraction is a separate [refresh](https://docs.emailx.ai/en/api-reference/knowledge/refresh-profiles.md) that needs `confirm_ai_use: true` and runs at most once an hour per workspace. Writing voice belongs to the person who owns a sender: members can change only their own voice and knowledge.

## Senders and warmup

[Sender limits](https://docs.emailx.ai/en/api-reference/senders/get-linkedin-limits.md), [email readiness](https://docs.emailx.ai/en/api-reference/senders/check-email-sender.md) and [warmup state](https://docs.emailx.ai/en/api-reference/senders/get-warmup.md) are read from saved data, with no provider probe. A [warmup command](https://docs.emailx.ai/en/api-reference/senders/change-warmup.md) makes one provider change as a durable operation; the mailbox must already be connected to warmup in Emailx. New senders are connected by their owner on the hosted page from [the connection link](https://docs.emailx.ai/en/api-reference/senders/connect-sender.md). The API never accepts passwords or provider tokens.

## Team, infrastructure and agencies

Owners and admins can [invite a teammate](https://docs.emailx.ai/en/api-reference/team/invite-teammate.md), revoke invitations and [change roles](https://docs.emailx.ai/en/api-reference/team/change-role.md). Domains, mailboxes and orders are readable without credentials. A [quote](https://docs.emailx.ai/en/api-reference/infrastructure/get-quote.md) is an exact, expiring price; [checkout](https://docs.emailx.ai/en/api-reference/infrastructure/start-checkout.md) only returns the hosted Emailx page where a signed-in owner or admin pays. The API never charges a card, spends a balance or provisions anything. Agency owners and admins can [create client workspaces](https://docs.emailx.ai/en/api-reference/agency/create-client.md) and [manage access](https://docs.emailx.ai/en/api-reference/agency/set-client-access.md); a key needs a new grant before it can use a new workspace.

## Not available through the API

Outbound webhooks, remote OAuth connections, live provider inbox refresh, owned file attachments and AI message previews still need the app. Live sequence edits on launched LinkedIn campaigns use [the live sequence operation](https://docs.emailx.ai/en/api-reference/running/edit-live-sequence.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.