# MarketingSendsList

> Page through email and SMS sends synced from marketing platforms. Read access, marketing toolset, MCP tool list_marketing_sends.

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

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `after` | `Cursor` | no | Opaque cursor from `pageInfo.endCursor` |  |
| `condition` | `MarketingSendCondition` | no | Input object, below |  |
| `filter` | `MarketingSendFilter` | no | Input object, below |  |
| `first` | `Int!` | yes | 32-bit integer. MCP tools send `50` when it is left out |  |
| `orderBy` | `[MarketingSendOrderBy!]` | no | One of 37 values, see [MarketingSendOrderBy](https://developer.missin.co.uk/reference/input-types.md#marketingsendorderby) | The method to use when ordering `MarketingSend`. |

## Input types

A filter lists its fields by the type they take, and none of them is required.

### MarketingSendCondition

A condition to be used against `MarketingSend` object types. All fields are
tested for equality and combined with a logical ‘and.’

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `campaignId` | `UUID` | no |  | Checks for equality with the object’s `campaignId` field. |
| `campaignSignalId` | `UUID` | no |  | Checks for equality with the object’s `campaignSignalId` field. |
| `channelId` | `UUID` | no |  | Checks for equality with the object’s `channelId` field. |
| `connectionId` | `UUID` | no |  | Checks for equality with the object’s `connectionId` field. |
| `name` | `String` | no |  | Checks for equality with the object’s `name` field. |
| `originId` | `String` | no |  | Checks for equality with the object’s `originId` field. |
| `programOriginId` | `String` | no |  | Checks for equality with the object’s `programOriginId` field. |
| `rowId` | `UUID` | no |  | Checks for equality with the object’s `rowId` field. |
| `sendChannel` | `String` | no |  | Checks for equality with the object’s `sendChannel` field. |
| `sentAt` | `Datetime` | no | ISO 8601 with a zone, e.g. `2026-01-01T00:00:00Z` | Checks for equality with the object’s `sentAt` field. |
| `status` | `String` | no |  | Checks for equality with the object’s `status` field. |
| `subject` | `String` | no |  | Checks for equality with the object’s `subject` field. |
| `trackingEnabled` | `Boolean` | no |  | Checks for equality with the object’s `trackingEnabled` field. |
| `utmCampaign` | `String` | no |  | Checks for equality with the object’s `utmCampaign` field. |
| `utmMedium` | `String` | no |  | Checks for equality with the object’s `utmMedium` field. |
| `utmSource` | `String` | no |  | Checks for equality with the object’s `utmSource` field. |
| `workspaceId` | `UUID` | no |  | Checks for equality with the object’s `workspaceId` field. |

### MarketingSendFilter

- `[MarketingSendFilter!]`: `and`, `or`
- `Boolean`: `campaignByCampaignIdExists`, `campaignSignalByCampaignSignalIdExists`, `channelByChannelIdExists`, `marketingSendCustomByMarketingSendIdExists`, `marketingSendKlaviyoByMarketingSendIdExists`, `marketingSendMailchimpByMarketingSendIdExists`
- [UUIDFilter](https://developer.missin.co.uk/reference/input-types.md#uuidfilter): `campaignId`, `campaignSignalId`, `channelId`, `connectionId`, `rowId`, `workspaceId`
- [StringFilter](https://developer.missin.co.uk/reference/input-types.md#stringfilter): `name`, `originId`, `programOriginId`, `sendChannel`, `status`, `subject`, `utmCampaign`, `utmMedium`, `utmSource`
- `MarketingSendFilter`: `not`
- [DatetimeFilter](https://developer.missin.co.uk/reference/input-types.md#datetimefilter): `sentAt`
- [BooleanFilter](https://developer.missin.co.uk/reference/input-types.md#booleanfilter): `trackingEnabled`

## 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":"MarketingSendsList","variables":{"first":50},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"7d6107c46ece2550b4d2a91f9c19fea040fc94ca643ae4defc6628e3373be103"}}}'
```

## Document

```graphql
query MarketingSendsList($after: Cursor, $condition: MarketingSendCondition, $filter: MarketingSendFilter, $first: Int!, $orderBy: [MarketingSendOrderBy!]) { __typename allMarketingSends( first: $first after: $after condition: $condition filter: $filter orderBy: $orderBy ) { __typename nodes { __typename campaignByCampaignId { __typename icon iconColor id name rowId } campaignId connectionByConnectionId { __typename displayName id integrationByIntegrationId { __typename displayName id logoBg logoUrl slug } rowId } connectionId delivered id integrationSlug lastSyncedAt marketingSendDiscountsByMarketingSendId { __typename nodes { __typename discountCodeByDiscountCodeId { __typename code id rowId } id rowId source } } marketingSendMetricsByMarketingSendId(last: 40) { __typename nodes { __typename delivered id } } metricsUpdatedAt name programKind programName revenue rowId sendChannel sent sentAt status subject trackingEnabled uniqueClicks uniqueOpens } pageInfo { __typename endCursor hasNextPage } totalCount } }
```

Source: https://developer.missin.co.uk/reference/marketing/marketing-sends-list
