# Meetings

Source: https://swapcard.dev/content-api/examples/meetings


Fetch the meetings of an event, page by page or by ID.

Reference: [`MeetingNode` object](../graphql-event-api-schema/objects/meeting-node.mdx)

## Before you begin

- An API key, sent in the `Authorization` header. The key acts with the roles and permissions of the user who created it. See [Authentication](/organizer/authentication).
- The ID of the event (`eventId`). See [Events](./graphql-event-api-examples-event.md).

## Fetch meetings

Use the `meetingsV2` query to fetch the meetings of an event.

### Get the first 100 meetings
Fetch the first page of meetings, with their status and source.

| Argument | Description |
| --- | --- |
| [`eventId`](../graphql-event-api-schema/queries/event.mdx#id-id) | The ID of the event. |
| `cursor` | Pagination. `first` sets how many records to fetch per page. |

```graphql title="Query"
query MeetingsV2($eventId: ID!, $cursor: CursorPaginationInput!){
  meetingsV2(eventId: $eventId, cursor: $cursor) {
    nodes {
      id
      status
      source
    }
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}
```

```json title="Variables"
{
  "eventId": "RXZlbnRfMQ==",
   "cursor": {
    "first": 100
  }
}
```

### Get the next 100 meetings
To fetch the next page, send the same query and set `cursor.after` to the `pageInfo.endCursor` value of the previous response. Repeat while `pageInfo.hasNextPage` is `true`.

| Argument | Description |
| --- | --- |
| [`eventId`](../graphql-event-api-schema/queries/event.mdx#id-id) | The ID of the event. |
| `cursor` | Pagination. `first` sets how many records to fetch per page; `after` is the cursor returned by the previous response. |

```graphql title="Query"
query MeetingsV2($eventId: ID!, $cursor: CursorPaginationInput!){
  meetingsV2(eventId: $eventId, cursor: $cursor) {
    nodes {
      id
      status
      source
    }
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}
```

```json title="Variables"
{
  "eventId": "RXZlbnRfMQ==",
  "cursor": {
    "first": 100,
    "after": "INSERT_CURSOR_ID_HERE"  
  }
}
```

### Get meetings by ID
Fetch specific meetings.

| Argument | Description |
| --- | --- |
| `eventId` | The ID of the event. |
| `filter.ids` | Array of the IDs of the meetings to fetch. |

```graphql title="Query"
query MeetingsV2($eventId: ID!, $filter: MeetingFilterInput!) {
  meetingsV2(eventId: $eventId, filter: $filter) {
    nodes {
      id
      source
    }
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}
```

```json title="Variables"
{
  "eventId": "RXZlbnRfNDY1Njc4",
  "filter": {
    "ids": [
      "MeetingID1",
      "MeetingID1"
    ]
  }
}
```
