Outreach2day
    Outreach2day
    • Getting Started with Outreach2day API
    • Use Case 1: Mailboxes & Domains
    • Use Case 2: Unified Inbox (Unibox)
    • Use Case 3: Campaigns
    • Mailboxes
      • List Mailboxes
        GET
      • Delete Mailboxes
        DELETE
      • Create Mailboxes
        POST
      • Update Mailboxes Handler
        POST
    • Domains
      • List Domains
        GET
      • Update Domains Redirects
        PATCH
      • Get Dns Records
        GET
      • Update Dns Records
        POST
      • Check Domains
        POST
      • Purchase Domains
        POST
      • Start Cloudflare domain transfer flow
        POST
      • Start Cloudflare domain transfer flow
        POST
      • Get Cloudflare transfer status for workspace domains
        GET
      • Get Cloudflare transfer status for workspace domains
        GET
    • Unibox
      • Public Get Threads Debug
        GET
      • Public Get Threads Capabilities
        GET
      • Public Get Threads
        GET
      • Public Get Thread Messages
        GET
      • Public Reply To Thread
        POST
      • Public Send New Message
        POST
      • Public Get Outbound Operation Status
        GET
    • Campaigns
      • Public List Campaigns
        GET
      • Public Create Campaign
        POST
      • List campaign lifecycle statuses and transitions
        GET
      • Get campaign API capability contract for workspace
        GET
      • Public Get Campaign
        GET
      • Public Update Campaign
        PATCH
      • Public Delete Campaign
        DELETE
      • Public Update Campaign Schedule
        PUT
      • Public Update Campaign Stop Rules
        PUT
      • Public List Campaign Steps
        GET
      • Public Create Campaign Step
        POST
      • Public Update Campaign Step
        PATCH
      • Public Delete Campaign Step
        DELETE
      • Public List Campaign Mailboxes
        GET
      • Public Add Campaign Mailbox
        POST
      • Public Update Campaign Mailbox
        PATCH
      • Public Remove Campaign Mailbox
        DELETE
      • Public Import Campaign Contacts Csv
        POST
      • Public Create Import Job
        POST
      • Public Submit Import Job With Mapping V3
        POST
      • Public Get Import Status
        GET
      • Public Get Import Status Alias
        GET
      • Public Get Import Mapping Preview
        GET
      • Public Confirm Import Mapping
        POST
      • Public Replay Import Dead Letter
        POST
      • Public Cancel Import
        POST
      • Public Get Import Runbook Summary
        GET
      • Public List Campaign Contacts
        GET
      • Public List Campaign Contacts Changes
        GET
      • Public Launch Campaign
        POST
      • Public Get Campaign Launch Job
        GET
      • Public Get Campaign Stats
        GET
      • Public List Campaign Sends
        GET
      • Run campaign preflight checks
        GET
      • Run campaign mailbox auth preflight checks
        GET
      • Execute campaign lifecycle action
        POST
      • Duplicate campaign with steps and mailboxes
        POST
      • Get shareable campaign URL
        GET
      • Export campaign analytics CSV payload
        GET
      • List campaign subsequences
        GET
      • Create campaign subsequence
        POST
      • Get campaign subsequence
        GET
      • Update campaign subsequence
        PATCH
      • Delete campaign subsequence
        DELETE
      • Sync leads into subsequence
        POST
      • Get subsequence routing policy
        GET
      • Update subsequence routing policy
        PATCH
    • Workspaces
      • List Workspaces
      • Create New Workspace
      • Get Workspace Info Handler
      • Upgrade Workspace Subscription
    • Warmup
      • Public Create Warmup Operation
      • Public Get Warmup Operation
      • Public List Warmup Mailboxes
    • Sequencers
      • Public List Sequencer Providers
      • Public List Sequencers
      • Public Create Sequencer
      • Public Validate Sequencer
      • Public Update Sequencer
      • Public Delete Sequencer
      • Public Get Sequencer Readiness
      • Public Export Mailboxes
      • Public Reconnect Mailboxes
      • Public List Exports
    • Payment
      • Get Payment Method
      • Setup Payment Method
    • Campaign Suppression
      • Upsert campaign suppression entries
      • List suppression entries
      • Delete suppression entry
      • Get suppression status for one email
    • Campaign Webhooks
      • List supported campaign webhook event types
      • Create campaign webhook subscription
      • List campaign webhook subscriptions
      • Get campaign webhook subscription by id
      • Update campaign webhook subscription
      • Delete campaign webhook subscription
      • Pause campaign webhook subscription
      • Resume campaign webhook subscription
      • Rotate campaign webhook subscription secret
      • Enqueue test campaign webhook event
      • List deliveries for campaign webhook subscription
      • List emitted campaign webhook events
      • Get emitted campaign webhook event by id
      • Get campaign webhook delivery summary
      • Requeue failed campaign webhook deliveries
      • Requeue one campaign webhook delivery
      • Classify campaign reply and emit webhook events
      • List campaign contact outcomes
      • Override campaign contact reply intent via EVA
      • Dispatch queued campaign webhook deliveries
    • Schemas
      • Body_public_create_import_job_imports_post
      • Body_public_export_mailboxes_sequencers__connection_id__export_post
      • Body_public_import_campaign_contacts_csv_campaigns__campaign_id__contacts_import_post
      • Body_public_rotate_campaign_webhook_subscription_secret_campaigns_webhooks_subscriptions__subscription_id__rotate_secret_post
      • Body_public_submit_import_job_with_mapping_v3_imports_v3_submit_post
      • CampaignAdmissionOut
      • CampaignContactOut
      • CampaignContactOutcomeOut
      • CampaignContactOutcomesPageOut
      • CampaignContactsChangesPageOut
      • CampaignContactsImportOut
      • CampaignCreateIn
      • CampaignDecisionOut
      • CampaignDeleteOut
      • CampaignDuplicateCopiedOut
      • CampaignDuplicateOut
      • CampaignExportOut
      • CampaignImportConfirmOut
      • CampaignImportEnvelopeOut
      • CampaignImportJobOut
      • CampaignImportMappingEnvelopeOut
      • CampaignImportMappingOut
      • CampaignImportStatusOut
      • CampaignLaunchJobOut
      • CampaignLaunchOut
      • CampaignLifecycleOut
      • CampaignMailboxAttachIn
      • CampaignMailboxOut
      • CampaignMailboxPolicyUpdateIn
      • CampaignOut
      • CampaignPreflightCheckOut
      • CampaignPreflightOut
      • CampaignPreflightSummaryOut
      • CampaignReplyClassificationOut
      • CampaignScheduleIn
      • CampaignScheduleWindowIn
      • CampaignSendContactOut
      • CampaignSendOut
      • CampaignSendStepOut
      • CampaignSendsPageOut
      • CampaignShareOut
      • CampaignStatsCampaignOut
      • CampaignStatsOut
      • CampaignStatsSendsOut
      • CampaignStatusEnumsOut
      • CampaignStepCreateIn
      • CampaignStepOut
      • CampaignStepUpdateIn
      • CampaignStepVariantIn
      • CampaignStopRulesIn
      • CampaignSubsequenceDeleteOut
      • CampaignSubsequenceEnvelopeOut
      • CampaignSubsequenceListOut
      • CampaignSubsequenceOut
      • CampaignSubsequenceRoutingOut
      • CampaignSubsequenceRoutingPatchOut
      • CampaignSubsequenceSyncOut
      • CampaignSuppressionDeleteOut
      • CampaignSuppressionOut
      • CampaignSuppressionStatusEnvelopeOut
      • CampaignSuppressionStatusOut
      • CampaignSuppressionUpsertIn
      • CampaignSuppressionUpsertOut
      • CampaignSuppressionsPageOut
      • CampaignUpdateIn
      • CampaignWebhookActionOut
      • CampaignWebhookDeliveriesPageOut
      • CampaignWebhookDeliveryEnvelopeOut
      • CampaignWebhookDeliveryOut
      • CampaignWebhookDispatchOut
      • CampaignWebhookEventEnvelopeOut
      • CampaignWebhookEventOut
      • CampaignWebhookEventTypeOut
      • CampaignWebhookEventTypesOut
      • CampaignWebhookEventsPageOut
      • CampaignWebhookRetriggerOut
      • CampaignWebhookSubscriptionEnvelopeOut
      • CampaignWebhookSubscriptionOut
      • CampaignWebhookSubscriptionsOut
      • CampaignWebhookSummaryOut
      • CheckDomainsIn
      • CheckDomainsOut
      • CreateMailboxRequest
      • CreateWorkspaceRequest
      • DNSRecord
      • DomainAvailability
      • DomainAvailabilityStatus
      • DomainInfo
      • DomainPurchaseContactInfo
      • DomainPurchaseRequest
      • DomainPurchaseResponse
      • HTTPValidationError
      • MailboxInfo
      • PublicCampaignDuplicateIn
      • PublicCampaignImportMappingConfirmIn
      • PublicCampaignLifecycleIn
      • PublicCampaignOutcomeOverrideIn
      • PublicCampaignReplyClassificationIn
      • PublicCampaignSubsequenceCreateIn
      • PublicCampaignSubsequenceRoutingPatchIn
      • PublicCampaignSubsequenceSyncIn
      • PublicCampaignSubsequenceUpdateIn
      • PublicCampaignWebhookRetriggerIn
      • PublicCreateCampaignWebhookSubscriptionIn
      • PublicCreateSequencerIn
      • PublicDomainRedirectsUpdateIn
      • PublicReplyToThreadIn
      • PublicSendNewMessageIn
      • PublicUpdateCampaignWebhookSubscriptionIn
      • PublicUpdateSequencerIn
      • PublicValidateSequencerIn
      • SequencerConnectionEnvelopeOut
      • SequencerConnectionOut
      • SequencerConnectionsOut
      • SequencerDeleteOut
      • SequencerExportDetailOut
      • SequencerExportOut
      • SequencerExportsOut
      • SequencerMailboxExportOut
      • SequencerProviderCapabilitiesOut
      • SequencerProviderOut
      • SequencerProvidersOut
      • SequencerReadinessOut
      • SequencerReconnectErrorOut
      • SequencerReconnectOut
      • SequencerValidateOut
      • TransferCheckoutRequest
      • TransferCheckoutResponse
      • TransferDomainStatus
      • TransferStatusResponse
      • UniboxDebugOut
      • UniboxMessageOut
      • UniboxReplyOut
      • UniboxSchema
      • UniboxSendOut
      • UniboxThreadMessagesOut
      • UniboxThreadOut
      • UniboxThreadsOut
      • UpdateDNSRecordRequest
      • UpdateMailboxesIn
      • ValidationError
      • WarmupAction
      • WarmupItemStatus
      • WarmupMailboxStateOut
      • WarmupOperationCreateIn
      • WarmupOperationItemOut
      • WarmupOperationOut
      • WarmupOperationStatus
      • WarmupRejection
      • WorkspaceInfo

    Use Case 1: Mailboxes & Domains

    Set up your email outreach infrastructure programmatically: check domain availability, purchase domains, configure DNS, create mailboxes, enable warmup, and export to sequencers.

    Prerequisites#

    Active workspace with a payment method attached (see Getting Started)
    API key with access to the workspace

    Flow Overview#

    Check availability → Purchase domains → Configure DNS → Create mailboxes
    → Enable warmup → (optional) Connect sequencer → Export mailboxes

    Step 1: Check Domain Availability#

    Before purchasing, check which domains are available:
    POST /check_domains
    Request:
    {
      "domains": [
        "cooloutreach.com",
        "growthmail.io",
        "reachfast.co"
      ]
    }
    Response:
    {
      "domains": [
        {"domain": "cooloutreach.com", "available": true, "price": 1099},
        {"domain": "growthmail.io", "available": false},
        {"domain": "reachfast.co", "available": true, "price": 899}
      ]
    }
    Prices are in cents (USD).

    Step 2: Purchase Domains#

    Purchase available domains:
    POST /domains/purchase
    Request:
    {
      "workspace_id": 42,
      "domains": ["cooloutreach.com", "reachfast.co"],
      "contact_info": {
        "first_name": "John",
        "last_name": "Smith",
        "real_address": "123 Main St",
        "city": "San Francisco",
        "state_province": "CA",
        "postal_code": "94105",
        "country": "US",
        "phone": "+14155551234",
        "email_address": "john@company.com",
        "organization_name": "Acme Inc"
      }
    }
    Response:
    {
      "status": "success",
      "message": "2 domains purchased",
      "domains_purchased": ["cooloutreach.com", "reachfast.co"],
      "total_charged_cents": 1998,
      "invoice_id": "inv_abc123"
    }

    Step 3: List Your Domains#

    GET /domains?workspace_id=42
    Response:
    [
      {
        "id": 101,
        "domain": "cooloutreach.com",
        "status": "active",
        "workspace_id": 42,
        "redirect_domain": null
      },
      {
        "id": 102,
        "domain": "reachfast.co",
        "status": "active",
        "workspace_id": 42,
        "redirect_domain": null
      }
    ]

    Step 4: Configure DNS#

    DNS records (MX, SPF, DKIM, DMARC) are automatically set up after purchase. You can view and modify them:

    View DNS Records#

    GET /domains/cooloutreach.com/dns
    Response:
    [
      {"host": "@", "type": "MX", "address": "mail.cooloutreach.com", "ttl": 1800},
      {"host": "@", "type": "TXT", "address": "v=spf1 include:_spf.google.com ~all", "ttl": 1800},
      {"host": "default._domainkey", "type": "TXT", "address": "v=DKIM1; k=rsa; p=MIG...", "ttl": 1800},
      {"host": "_dmarc", "type": "TXT", "address": "v=DMARC1; p=none; rua=mailto:dmarc@cooloutreach.com", "ttl": 1800}
    ]

    Update DNS Records#

    POST /domains/cooloutreach.com/dns
    Request:
    [
      {"host": "@", "type": "A", "address": "1.2.3.4", "ttl": 1800},
      {"host": "@", "type": "TXT", "address": "v=spf1 include:_spf.example.com ~all", "ttl": 1800}
    ]

    Setup Domain Redirects#

    Configure domain redirects (e.g., redirect to your website):
    PATCH /domains/redirects
    Request:
    {
      "workspaceId": 42,
      "domains": ["cooloutreach.com", "reachfast.co"],
      "redirectDomain": "yourcompany.com"
    }

    Step 5: Create Mailboxes#

    Create mailboxes on your purchased domains:
    POST /mailboxes?workspace_id=42
    Request:
    [
      {
        "first_name": "John",
        "last_name": "Smith",
        "address": "john@cooloutreach.com",
        "domain_id": 101,
        "password": "SecureP@ss123"
      },
      {
        "first_name": "Jane",
        "last_name": "Doe",
        "address": "jane@cooloutreach.com",
        "domain_id": 101,
        "password": "SecureP@ss456"
      }
    ]
    Response:
    {
      "status": "success",
      "message": "2 mailboxes created",
      "setupTriggered": true
    }
    The setupTriggered: true means DNS and mail server configuration started automatically in the background.

    Step 6: List Mailboxes#

    GET /mailboxes?workspace_id=42
    Response:
    [
      {
        "id": 501,
        "first_name": "John",
        "last_name": "Smith",
        "address": "john@cooloutreach.com",
        "domain_id": 101,
        "status": "active",
        "warmup_enabled": false,
        "warmup_started_at": null
      },
      {
        "id": 502,
        "first_name": "Jane",
        "last_name": "Doe",
        "address": "jane@cooloutreach.com",
        "domain_id": 101,
        "status": "active",
        "warmup_enabled": false,
        "warmup_started_at": null
      }
    ]

    Step 7: Enable Warmup#

    Warmup gradually builds sender reputation. Enable it before using mailboxes for outreach:

    Start Warmup#

    POST /warmup/operations?workspaceId=42
    Request:
    {
      "action": "enable",
      "mailboxes": ["john@cooloutreach.com", "jane@cooloutreach.com"],
      "idempotencyKey": "warmup-enable-batch-001"
    }
    Response:
    {
      "operationId": "op_abc123",
      "status": "processing",
      "action": "enable",
      "workspaceId": 42,
      "requestedCount": 2,
      "acceptedCount": 2,
      "rejectedCount": 0,
      "successCount": 0,
      "failureCount": 0,
      "rejections": [],
      "items": [
        {
          "mailboxId": 501,
          "mailbox": "john@cooloutreach.com",
          "status": "processing",
          "provider": "plusvibe"
        },
        {
          "mailboxId": 502,
          "mailbox": "jane@cooloutreach.com",
          "status": "processing",
          "provider": "plusvibe"
        }
      ]
    }

    Check Warmup Operation Status#

    Warmup is async. Poll the operation to track progress:
    GET /warmup/operations/op_abc123?workspaceId=42
    Statuses: requested → processing → completed | partial | failed

    View Warmup State#

    GET /warmup/mailboxes?workspaceId=42
    Response:
    [
      {
        "mailboxId": 501,
        "mailbox": "john@cooloutreach.com",
        "warmupEnabled": true,
        "warmupStartedAt": "2026-03-09T10:00:00Z",
        "providerAccountId": "pv_abc123"
      }
    ]

    Disable Warmup#

    POST /warmup/operations?workspaceId=42
    {
      "action": "disable",
      "mailboxes": ["john@cooloutreach.com"],
      "idempotencyKey": "warmup-disable-001"
    }

    Step 8: Update Mailboxes#

    Update mailbox properties (name, signature, forwarding):
    POST /update_mailboxes
    Request:
    {
      "mailboxes": ["john@cooloutreach.com"],
      "firstName": "Jonathan",
      "lastName": "Smith",
      "signature": "<p>Best regards,<br/>Jonathan Smith</p>",
      "forwardTo": "main@company.com"
    }

    Step 9: Connect a Sequencer (Optional)#

    If you use Instantly, Smartlead, or another sequencer, connect it to auto-export mailboxes:

    List Available Providers#

    GET /sequencers/providers?workspaceId=42

    Validate Credentials#

    POST /sequencers/validate
    {
      "provider": "instantly",
      "apiKey": "inst_your_api_key"
    }

    Create Connection#

    POST /sequencers?workspaceId=42
    {
      "provider": "instantly",
      "name": "My Instantly Account",
      "apiKey": "inst_your_api_key",
      "autoExportMailboxes": true,
      "autoReconnectMailboxes": true
    }

    Export Mailboxes to Sequencer#

    POST /sequencers/{connection_id}/export
    {
      "mailboxAddresses": [
        "john@cooloutreach.com",
        "jane@cooloutreach.com"
      ]
    }
    Response:
    {
      "provider": "instantly",
      "connectionId": "seq_abc123",
      "exported": 2,
      "failed": 0,
      "details": [
        {"email": "john@cooloutreach.com", "providerAccountId": "inst_001"},
        {"email": "jane@cooloutreach.com", "providerAccountId": "inst_002"}
      ]
    }

    Reconnect Disconnected Mailboxes#

    POST /sequencers/{connection_id}/reconnect

    Step 10: Upgrade Subscription#

    Need more mailboxes? Upgrade your plan:
    POST /workspaces/42/upgrade_subscription?newMaxMailboxes=200
    Check your current credits:
    GET /workspaces/42/credits

    Step 11: Delete Mailboxes#

    When you no longer need mailboxes:
    DELETE /mailboxes?addresses=john@cooloutreach.com&addresses=jane@cooloutreach.com

    Complete Python Example#


    Related#

    Unified Inbox (Unibox) — read replies from your mailboxes
    Campaigns — send email sequences using your mailboxes
    Modified at 2026-03-10 01:37:58
    Previous
    Getting Started with Outreach2day API
    Next
    Use Case 2: Unified Inbox (Unibox)
    Built with