# PartnersList

> List partners with filter and cursor paging: name, @username, status, handles per network and campaigns. Read access, partners toolset, MCP tool list_partners.

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

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `accountsWanted` | `Int!` | yes | 32-bit integer. MCP tools send `50` when it is left out |  |
| `after` | `Cursor` | no | Opaque cursor from `pageInfo.endCursor` |  |
| `campaignsWanted` | `Int!` | yes | 32-bit integer. MCP tools send `50` when it is left out |  |
| `filter` | `PartnerFilter` | no | Input object, below |  |
| `first` | `Int!` | yes | 32-bit integer. MCP tools send `50` when it is left out |  |
| `orderBy` | `[PartnerOrderBy!]` | no | One of 21 values, see [PartnerOrderBy](https://developer.missin.co.uk/reference/input-types.md#partnerorderby). Default `["CREATED_AT_DESC"]` | The method to use when ordering `Partner`. |
| `withDetail` | `Boolean!` | yes | MCP tools send `false` when it is left out | Included when true. |

## Input types

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

### PartnerFilter

- `[PartnerFilter!]`: `and`, `or`
- [DatetimeFilter](https://developer.missin.co.uk/reference/input-types.md#datetimefilter): `createdAt`
- [StringFilter](https://developer.missin.co.uk/reference/input-types.md#stringfilter): `email`, `name`, `username`, `utmContent`, `utmMedium`, `utmSource`
- `PartnerFilter`: `not`
- [UUIDFilter](https://developer.missin.co.uk/reference/input-types.md#uuidfilter): `rowId`
- `PartnerStatusFilter`: `status`

### PartnerStatusFilter

- `PartnerStatus` (One of `ACTIVE`, `ARCHIVED`, `DROPPED`, `PAUSED`, `PENDING`): `equalTo`, `greaterThan`, `greaterThanOrEqualTo`, `lessThan`, `lessThanOrEqualTo`, `notEqualTo`
- `[PartnerStatus!]` (One of `ACTIVE`, `ARCHIVED`, `DROPPED`, `PAUSED`, `PENDING`): `in`, `notIn`
- `Boolean`: `isNull`

## 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":"PartnersList","variables":{"accountsWanted":50,"campaignsWanted":50,"first":50,"withDetail":false},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"9bcdcc6e1d5039690b4525bd486d461f6504f4b4e933e91b3bb22c5fcc11943b"}}}'
```

## Document

```graphql
query PartnersList($accountsWanted: Int!, $after: Cursor, $campaignsWanted: Int!, $filter: PartnerFilter, $first: Int!, $orderBy: [PartnerOrderBy!] = [CREATED_AT_DESC], $withDetail: Boolean!) { __typename allPartners(first: $first, after: $after, orderBy: $orderBy, filter: $filter) { __typename nodes { __typename profileImage: avatarUrl budget campaignPartnersByPartnerId(first: $campaignsWanted) { __typename nodes { __typename campaignByCampaignId { __typename icon iconColor id name rowId } id rowId } totalCount } createdAt discountCodesByPartnerId { __typename totalCount } email endDate id name partnerSocialNetworksByPartnerId(first: $accountsWanted) { __typename nodes { __typename checkState checkedAt @include(if: $withDetail) handle id rowId socialNetworkBySocialNetworkId { __typename id name slug } url @include(if: $withDetail) watched @include(if: $withDetail) } totalCount } rowId status tags trusted username utmContent utmMedium utmSource } pageInfo { __typename endCursor hasNextPage } totalCount } }
```

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