InboxKit
    • Introduction
    • Quick Start
    • Domain Management
    • Mailbox Operations
    • Deliverability Monitoring
    • Paging Through a Mailbox
    • Order
      • Place Order
        POST
    • Webhook
      • Events: OAuth Consent & Client ID Changes
        POST
      • Event: Mailbox Status Changed
        POST
      • Webhook Integration & Signature Verification
        POST
      • Event: Domain Status Changed
        POST
    • Account
      • Get account details
        GET
    • Workspaces
      • List workspaces
        GET
      • Create workspace
        POST
      • Invite Member to Workspace
        POST
      • Get workspace details
        GET
      • Update workspace
        PUT
      • Delete workspace
        DELETE
      • Update workspace webhook
        POST
    • Domains
      • Domain Renewals
      • Check if domain is banned from registration
        GET
      • Check domain availability
        GET
      • Register domains
        POST
      • List domains
        POST
      • List assignable domains
        GET
      • Remove domains
        POST
      • Set domain forwarding
        POST
      • Set catch-all email
        POST
      • Remove catch-all email
        DELETE
      • Get nameservers for domain connection
        POST
      • Check nameservers propagation
        POST
      • Check Workspace Availability
        POST
      • Set DMARC Configuration
        POST
      • Remove DMARC Configuration
        DELETE
      • Regenerate Domain Nameservers
        POST
      • Request Domain Renewal
        POST
      • Check Renewal Status
        GET
      • Update Domain Privacy
        POST
      • Update Domain Contact Details
        POST
      • Search available domains
        POST
      • Move domains to another workspace
        POST
      • Preview a domain move
        POST
      • Get domain move status
        GET
      • Start a domain rotation
        POST
      • Preview a domain rotation
        POST
      • Get domain rotation status
        GET
    • Cloudflare Domains
      • Connect Cloudflare Domains
      • List Connected Cloudflare Domains
      • Get Domain Details
      • Disconnect Cloudflare Domains
      • List Cloudflare Zones
    • Mailboxes
      • Microsoft 365 & Azure Reactivation
        • Reactivate mailboxes (Microsoft 365 / Azure)
        • Re-purchase mailboxes for reactivation (Microsoft 365 / Azure)
      • List mailboxes
      • Add or update signature for mailboxes
      • Delete signature for mailboxes
      • Show mailbox credentials
      • Get mailbox details
      • Buy mailboxes
      • Check mailbox status
      • Cancel mailboxes
      • Update mailbox
      • Update mailbox profile picture
      • Generate TOTP
      • Change username
      • Change password
      • Check mailbox availability
      • Get Failure Reason
      • Uncancel mailboxes
      • Resetup mailboxes
      • Get resetup status
    • DNS
      • Get DNS records
      • Add DNS records
      • Update DNS records
      • Delete DNS records
      • Verify DNS records
      • Repair DNS records
    • Sequencers
      • Export mailboxes status
      • List sequencer platforms
      • Get sequencer tags
      • List sequencers
      • Export mailboxes
      • Add sequencer
      • Update sequencer
      • Delete sequencers
      • Verify Lemlist OTP
    • Billing
      • Get pricing plans
      • Add Credits to Wallet
      • Get subscription details
      • Check Payment Status
      • Change subscription plan
      • Cancel subscription
      • Get wallet details
      • Update auto top-up settings
      • Get billing portal link
      • Get Wallet Logs
      • List Wallet Transactions
    • Warmup
      • Your Own Mailboxes
        • Create a Connect Link
        • Get Connect Link Status
        • Add SMTP Mailboxes
        • List Your Connected Mailboxes
        • Disconnect a Mailbox
      • List Warmup Subscriptions
      • Get Warmup Subscription Details
      • Add Warmup to Mailboxes
      • Pause Warmup for Mailboxes
      • Resume Warmup for Mailboxes
      • Cancel Warmup for Mailboxes
      • Get Warmup Statistics
      • Get Warmup Pricing
      • Update Warmup Settings
    • Client ID Requests
      • Initiate Client ID Request
      • Get Client ID Request Status
      • List Client ID Requests
    • Consent Request
      • Initiate Consent Request
      • Get Consent Request Status
      • List Consent Requests
    • Tags
      • Assign tags to domains or mailboxes
      • Get all tags
      • Create a new tag
      • Delete a tag
    • Prewarm
      • Search Domains
      • Search Mailboxes
      • Buy Prewarmed Mailboxes
      • Check Order Status
      • Check Availability
    • Inbox Placement
      • Tests
        • Create Test
        • List Tests
        • Get Test Results
      • Scheduled Tests
        • List Scheduled Tests
        • Get Scheduled Test
        • Pause Scheduled Test
        • Resume Scheduled Test
        • Delete Scheduled Test
    • InfraGuard
      • InfraGuard - Subscriptions
        • List protected domains
        • Get subscription details
        • Enable InfraGuard for domains
        • Cancel InfraGuard for domains
        • Get workspace statistics
        • Get pricing info
      • InfraGuard - Monitoring
        • Get blacklist check history
        • Get DNS check history
        • Get current bounce metrics
        • Get bounce check history
      • InfraGuard - Settings
        • Update subscription settings
        • Trigger manual check
      • InfraGuard - Alerts
        • List alerts
        • Acknowledge an alert
        • Resolve an alert
      • InfraGuard - Action Items
        • List action items
        • Get action item statistics
        • Resolve an action item
        • Dismiss an action item
    • Email Insight
      • Email Insights - Workspace
        • Get Workspace Overview
        • Get Mailboxes Health
        • Get Workspace Daily Stats
        • Get High Bounce Mailboxes
        • Get Workspace Campaign Reply Rate
        • Get Workspace Activity
      • Email Insights - Mailbox
        • Get Mailbox Stats
        • Get Mailbox Warmup Stats
        • Get Mailbox Deliverability
        • Get Mailbox Health
        • Get Mailbox Trends
        • Get Mailbox Bounce Events
        • Get Mailbox Activity
        • Get Mailbox Top Recipients
        • Get Mailbox Top Recipient Domains
        • Get Mailbox Message Breakdown
        • Get Mailbox Subject Analysis
        • Get Mailbox Reply Time Heatmap
        • Get Mailbox Reply Rate By Domain
        • Get Mailbox Velocity Overlay
        • Get Mailbox Auth Failures
        • Get Mailbox First Touch Funnel
        • Get Mailbox Sending IP Breakdown
        • Get Mailbox Recipient ESP Breakdown
        • Get Mailbox Body Templates
    • Domain Renewals
    • Verified Domains
      • List verified destinations
      • Add a destination to verify
      • Verify a destination
      • Remove a destination
    • MCP
      • InboxKit for Claude
      • Connect InboxKit to Claude
      • What Claude can do
      • Confirming changes
      • Privacy
      • Common questions
    • Mailbox Forwarding
      • Normal Forwarding
        • Setup Email Forwarding
        • Update Email Forwarding
        • Remove Email Forwarding
        • List Forwarding Jobs
      • Advanced Forwarding
        • Get Forwarding Capabilities
        • Set Up Advanced Forwarding
        • List Forwarding Rules
        • Get Forwarding Rule
        • Update Forwarding Rule
        • Delete Forwarding Rule
    • Email Messages
      • List messages
      • List messages (POST)
      • Get a message
    • Schemas
      • Schemas
        • WebhookPayload
        • DomainStatusWebhook
        • Tag
        • DomainEventData
        • MailboxStatusWebhook
        • MailboxEventData
        • Domain
        • Mailbox
        • ChangeDetails
        • WebhookResponse
        • ErrorResponse

    Paging Through a Mailbox

    List messages pages through a mailbox with a cursor, not page numbers.

    How it works#

    1.
    Call List messages with mailbox_uid and, optionally, limit (1 to 50).
    2.
    Read data.pagination.next_page_token from the response.
    3.
    If it is a string, call List messages again with the same mailbox_uid, limit, labels and q, and add page_token set to that string.
    4.
    Repeat until next_page_token is null. That page is the last one, and hasMore is false.
    Response 200 (shortened to the paging fields)
    {
      "error": false,
      "message": "Messages retrieved successfully",
      "data": {
        "messages": [],
        "pagination": {
          "page": 1,
          "limit": 50,
          "hasMore": true,
          "next_page_token": "09284715563019847261"
        }
      }
    }

    Things to know#

    Treat next_page_token as an opaque string. Its format depends on the mailbox provider, and it can be long. Send it back exactly as you received it, and URL-encode it in a query string. If you would rather not encode it, send the request as POST with a JSON body.
    A token can expire. If you get 400 with Invalid or expired page_token, start again from the first page.
    page is accepted but has no effect: page=2 returns the first page again. Use page_token.
    page_token needs mailbox_uid. Without it you get 400 with page_token requires mailbox_uid. Listing without mailbox_uid returns the newest messages across the workspace in one response, with no paging.
    In a GET request, repeat labels for each label: labels=INBOX&labels=UNREAD.

    When a page fails#

    429: wait for the number of seconds in Retry-After when it is present, or a few seconds when it is not, and request the same page again with the same page_token. A smaller limit makes this less likely.
    500: retry the same page with backoff. If it keeps failing, contact support.
    Example 429
    {
      "code": 429,
      "message": "Too many concurrent requests for user."
    }
    Modified at 2026-11-11 09:37:16
    Previous
    Deliverability Monitoring
    Next
    Place Order
    Built with