# DispatchPartnerCapture

> Spends credits; prefer start_capture. Paid capture of partners' posts on one surface; pass… Write access, capture toolset, MCP tool dispatch_partner_capture.

Spends credits; prefer start_capture. Paid capture of partners' posts on one surface; pass quotedCredits. Resolve any campaign before dispatching: runs cannot be re-filed.

> **Warning:**
> This operation removes or replaces something. MCP clients see it with `destructiveHint` set, and an agent should tell you what it will change and wait for your yes.

> **Warning:**
> This operation spends capture credits, and the balance gate is the real limit on it. Prefer the `start_capture` tool, which quotes the cost first (`quote_capture`) and only runs at a price the merchant approved.

**Access:** [Write](https://developer.missin.co.uk/get-started/authentication.md#access-levels)

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `campaignId` | `UUID` | no |  | File the captured posts into this campaign (not the default campaign). Posts already held keep their campaign. |
| `maxPerPartner` | `Int` | no | 32-bit integer | Per-partner cap for THIS run only — the saved workspace setting is left alone. |
| `partnerIds` | `[UUID!]` | no |  | Narrow to specific partners; absent = every watched handle on the surface. |
| `partnerPinned` | `Boolean` | no |  | A human picked the partner for this run. Ingest's solo-author backfill is skipped: a deliberate assignment outranks an author string. |
| `postUrl` | `String` | no |  | Target ONE post URL (with exactly one partnerId); only surfaces with a direct-URL input accept it. |
| `postUrls` | `[String!]` | no |  | Target THESE known post URLs in one run; partnerIds names whose posts they are. |
| `quotedCredits` | `Float` | no |  | The 'up to' the dialog showed. Refused with quote_changed if the hold would differ. |
| `surface` | `String!` | yes |  | Capture surface key, e.g. instagram-post. |

## Call it

```bash curl
curl https://api.missin.co.uk/graphql/v1 \
  -H "Authorization: Bearer $MISSIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operationName":"DispatchPartnerCapture","variables":{"surface":"…"},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"aaf6e6ef9850a4fec5ef5813d710195bac134082425b5ad2002a36097d5a787e"}}}'
```

## Document

```graphql
mutation DispatchPartnerCapture($campaignId: UUID, $maxPerPartner: Int, $partnerIds: [UUID!], $partnerPinned: Boolean, $postUrl: String, $postUrls: [String!], $quotedCredits: Float, $surface: String!) { __typename dispatchPartnerCapture( input: {surface: $surface, partnerIds: $partnerIds, postUrl: $postUrl, postUrls: $postUrls, maxPerPartner: $maxPerPartner, partnerPinned: $partnerPinned, quotedCredits: $quotedCredits, campaignId: $campaignId} ) { __typename balance { __typename availableGbp } flowId projectedCredits runId state userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/capture/dispatch-partner-capture
