---
title: "List mailbox actions"
method: GET
path: "/v1/mailboxes/{id}/actions"
tags: ["Mailboxes"]
---

# List mailbox actions

`GET /v1/mailboxes/{id}/actions`

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/mailboxes/{id}/actions`
- Auth: API key in header `x-api-key`

Returns the actions proposed on a mailbox, newest first, filterable by `threadId`, `state` (`approvalRequired` lists the sends waiting for a person), and creation time (`after`, `before`). Filters apply together within the mailbox. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page.

## Path parameters

- `id` string, required

## Query parameters

- `limit` string, nullable
- `cursor` string
- `threadId` string
- `state` 'proposed' | 'allowed' | 'approvalRequired' | 'policyDenied' | 'approved' | 'approvalDenied' | 'executing' | 'executed' | 'failed' | 'queued' | 'accepted' | 'completed' | 'notSent' | 'uncertain', nullable
- `after` string, nullable
- `before` string, nullable

## Response `200`

MailboxActionPage

- MailboxActionPage
  - `items` MailboxAction[], required
    - union
      - MailboxSendAction
        - `id` string, required
        - `source` 'humanUi' | 'externalApi' | 'aiSdkTool' | 'extension' | 'externalAgent' | 'samvaManagedAgent' | 'system', required
        - `proposedBy` object, required
          - `kind` 'user' | 'apiKey' | 'extension' | 'externalAgent' | 'samvaAgent' | 'system', required
          - `id` string, required
          - `displayName` string, nullable
        - `threadId` string, required
        - `draftId` string, required
        - `decision` MailboxActionDecision, required
          - `outcome` 'allow' | 'requireApproval' | 'deny', required
          - `reason` string, nullable, required
          - `policyId` string, required
          - `source` 'grant' | 'installation' | 'policy', nullable, required
          - `decidedAt` string, required
        - `resolution` MailboxActionResolution, required: How the action's approval ended.
          - `outcome` 'approved' | 'denied' | 'cancelled', required
          - `actor` object, required: Who resolved the approval.
            - `kind` 'user' | 'apiKey' | 'extension' | 'externalAgent' | 'samvaAgent' | 'system', required
            - `id` string, required
            - `displayName` string, nullable
            - `source` 'humanUi' | 'externalApi' | 'externalAgent' | 'extension' | 'system', required
          - `resolvedAt` string, required
          - `reason` string, nullable, required: The denial reason; null for an approval or a cancellation.
        - `createdAt` string, required
        - `updatedAt` string, required
        - `type` 'sendMessage' | 'reply', required
        - `state` 'approvalRequired' | 'queued' | 'accepted' | 'completed' | 'notSent' | 'uncertain', required
        - `send` MailboxSendReceipt, required
          - `actionId` string, required
          - `draftId` string, required
          - `messageId` string, required
          - `threadId` string, required
          - `state` 'approvalRequired' | 'queued' | 'accepted' | 'completed' | 'notSent' | 'uncertain', required
          - `acceptedAt` string, nullable, required
          - `waitReason` 'rate' | 'daily-quota' | 'domain-health' | 'sending-paused' | 'upstream-unavailable' | 'retry' | 'campaign-paused' | 'domain-warming' | 'onboarding-review' | 'content-review' | 'screening-unavailable', nullable, required
          - `reviewExpectedAt` string, nullable, required
          - `skippedRecipients` SkippedRecipient[], required
            - `address` string, required
            - `reason` 'bounce' | 'complaint' | 'unsubscribe' | 'manual' | 'group-unsubscribe', required
            - `unsubscribeGroupId` string
          - `executeUntil` string, nullable, required
          - `retryAt` string, nullable, required
          - `problem` MailboxSendOutcome, required
            - `code` string, required
            - `message` string, required
            - `error` union
              - …
          - `retryEligible` boolean, required
          - `decision` MailboxActionDecision, required
            - `outcome` 'allow' | 'requireApproval' | 'deny', required
            - `reason` string, nullable, required
            - `policyId` string, required
            - `source` 'grant' | 'installation' | 'policy', nullable, required
            - `decidedAt` string, required
          - `createdAt` string, required
          - `updatedAt` string, required
        - `intent` MailboxSendSnapshot, required
          - `channel` 'email', required
          - `draftRevision` integer, required
          - `from` string, required
          - `fromName` string, nullable, required
          - `to` string[], required
          - `cc` string[], required
          - `bcc` string[], required
          - `replyTo` string[], required
          - `subject` string, required
          - `text` string, nullable, required
          - `html` string, nullable, required
          - `attachments` EmailAttachment[], required
            - `filename` string, required
            - `content` string, nullable
            - `mediaId` string
            - `contentType` string, required
            - `size` integer, required
          - `threadId` string, required
          - `conversationId` string, required
          - `inReplyToMessageId` string, required
      - MailboxNonSendAction
        - `id` string, required
        - `source` 'humanUi' | 'externalApi' | 'aiSdkTool' | 'extension' | 'externalAgent' | 'samvaManagedAgent' | 'system', required
        - `proposedBy` object, required
          - `kind` 'user' | 'apiKey' | 'extension' | 'externalAgent' | 'samvaAgent' | 'system', required
          - `id` string, required
          - `displayName` string, nullable
        - `threadId` string, required
        - `draftId` string, required
        - `decision` MailboxActionDecision, required
          - `outcome` 'allow' | 'requireApproval' | 'deny', required
          - `reason` string, nullable, required
          - `policyId` string, required
          - `source` 'grant' | 'installation' | 'policy', nullable, required
          - `decidedAt` string, required
        - `resolution` MailboxActionResolution, required: How the action's approval ended.
          - `outcome` 'approved' | 'denied' | 'cancelled', required
          - `actor` object, required: Who resolved the approval.
            - `kind` 'user' | 'apiKey' | 'extension' | 'externalAgent' | 'samvaAgent' | 'system', required
            - `id` string, required
            - `displayName` string, nullable
            - `source` 'humanUi' | 'externalApi' | 'externalAgent' | 'extension' | 'system', required
          - `resolvedAt` string, required
          - `reason` string, nullable, required: The denial reason; null for an approval or a cancellation.
        - `createdAt` string, required
        - `updatedAt` string, required
        - `type` 'updateDraft' | 'createNote' | 'assignThread' | 'changeThreadState' | 'call' | 'extensionRequest', required
        - `state` 'proposed' | 'allowed' | 'approvalRequired' | 'policyDenied' | 'approved' | 'approvalDenied' | 'executing' | 'executed' | 'failed', required
  - `nextCursor` string, nullable, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `404`: ResourceNotFoundError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

[API](https://skmtc.dev/samva/apis/samva-api.md) · [All operations](https://skmtc.dev/samva/apis/samva-api/llms.txt) · [OpenAPI document](https://skmtc.dev/samva/apis/samva-api/revisions/a99408542cc3?raw)
