---
title: "Run inbox test"
method: POST
path: "/api/v1/tools/run_inbox_test"
tags: ["guarded"]
---

# Run inbox test

`POST /api/v1/tools/run_inbox_test`

## Request

- Base URL: `https://www.affiliatespy.io`
- URL: `https://www.affiliatespy.io/api/v1/tools/run_inbox_test`
- Auth: HTTP bearer

Send the template under test (step 1 and step 2, rendered as for a real prospect) from the project's mailbox to every seed inbox now, one message per seed and step. Seeds are the owner's own inboxes, so test mode does not redirect them. Refused without seeds, a mailbox with read access, a From that passes the live check, or valid content. Read the results a few minutes later with refresh_inbox_test_results. Guarded: without approval_token it returns {error:"approval_required", approval_token, summary} for the user to confirm; call again with the token. Every dashboard guardrail still applies: this is exactly what a user clicking the dashboard could do, no more. GUARDED: requires the account's Unrestricted MCP setting; returns 403 {error:'restricted'} otherwise.

## Request body

- object
  - `app_id` string, uuid: Project id from list_apps. Omit to use your most recently added project.
  - `approval_token` string: Approval token from a previous approval_required response, after the user said yes.

## Response `200`

The tool's JSON result (same payload the MCP tool returns).

- unknown

## Other responses

- `400`: Arguments failed validation; body lists the issues.
- `401`: Missing or invalid API key.
- `403`: Guarded tool with Unrestricted MCP off.
- `429`: Rate limited (60 requests per minute per key).

---

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