# PostsList

> List partner posts with filter, sort and cursor paging: partner, campaign, metrics and validity. Read access, posts toolset, MCP tool list_posts.

**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` |  |
| `filter` | `PartnerPostFilter` | no | [PartnerPostFilter](https://developer.missin.co.uk/reference/input-types.md#partnerpostfilter) |  |
| `first` | `Int!` | yes | 32-bit integer. MCP tools send `50` when it is left out |  |
| `orderBy` | `[PartnerPostOrderBy!]!` | no | One of 41 values, see [PartnerPostOrderBy](https://developer.missin.co.uk/reference/input-types.md#partnerpostorderby). Default `["PUBLISHED_AT_DESC"]` | The method to use when ordering `PartnerPost`. |
| `withSeries` | `Boolean!` | yes | MCP tools send `false` when it is left out | Included when true. |

## 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":"PostsList","variables":{"first":50,"withSeries":false},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"454ab4aaf43e60b78210669f70f2fa2c50de0d4945b81f9a8d7efbeac77d1ea0"}}}'
```

## Document

```graphql
query PostsList($after: Cursor, $filter: PartnerPostFilter, $first: Int!, $orderBy: [PartnerPostOrderBy!]! = [PUBLISHED_AT_DESC], $withSeries: Boolean!) { __typename allPartnerPosts( first: $first after: $after orderBy: $orderBy filter: $filter ) { __typename nodes { __typename campaignByCampaignId { __typename id name rowId } campaignId campaignSignalByCampaignSignalId { __typename id kind value } campaignSignalId caption comments crosspostCount crosspostGroupId engagementRate hashtags id isSponsored lastSyncedAt likes mentions metricsUpdatedAt originId partnerByPartnerId { __typename profileImage: avatarUrl id name rowId username } partnerPostMetricsByPartnerPostId(last: 40) @include(if: $withSeries) { __typename nodes { __typename capturedAt comments likes shares views } } postType postUrl publishedAt rowId shares status title trackingEnabled validity views ... on PartnerPostFacebookPost { __typename ocrText thumbnailUrl } ... on PartnerPostInstagramPost { __typename displayUrl videoUrl } ... on PartnerPostInstagramReel { __typename displayUrl videoUrl } ... on PartnerPostTiktokVideo { __typename coverUrl } ... on PartnerPostYoutubeVideo { __typename thumbnailUrl } } pageInfo { __typename endCursor hasNextPage } totalCount } }
```

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