> ## Documentation Index
> Fetch the complete documentation index at: https://docs.9pic.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Events

> Retrieve a paginated list of events for your organisation

## Overview

Returns a paginated list of every event belonging to your organisation. Use this to discover `event_id` values for the photo, search, and download endpoints.

## Endpoint

```
GET /api/v1/ext/{org_id}/events
```

## Path Parameters

| Parameter | Type   | Required | Description           |
| --------- | ------ | -------- | --------------------- |
| `org_id`  | number | Yes      | Your organisation ID. |

## Query Parameters

| Parameter   | Type   | Required | Description                                 |
| ----------- | ------ | -------- | ------------------------------------------- |
| `page`      | number | No       | Page number (default: `1`).                 |
| `page_size` | number | No       | Items per page (default: `10`, max: `100`). |

<Note>
  This endpoint returns paginated results. See the [Pagination Model](/api-reference/models/pagination) for the metadata shape and `Conventions` for shared rules.
</Note>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -i \
    -H "X-API-Key: <your_9pic_api_key>" \
    "https://api.9pic.ai/api/v1/ext/903/events?page=1&page_size=10"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.9pic.ai/api/v1/ext/903/events",
      headers={"X-API-Key": "<your_9pic_api_key>"},
      params={"page": 1, "page_size": 10},
  )
  print(response.status_code, response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.9pic.ai/api/v1/ext/903/events?page=1&page_size=10",
    { headers: { "X-API-Key": "<your_9pic_api_key>" } }
  );
  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

## Example Response

```json theme={null}
{
  "responseType": "success",
  "message": "Records for events",
  "data": {
    "events": [
      {
        "event_id": 456,
        "event_name": "Mumbai Marathon 2026",
        "event_slug": "mumbai-marathon-2026",
        "event_date": "2026-01-19T06:00:00",
        "status": "active",
        "cover_image": "https://photos.9pic.ai/imgs/456/cover.jpg"
      },
      {
        "event_id": 789,
        "event_name": "Delhi Half Marathon",
        "event_slug": "delhi-half-marathon",
        "event_date": "2026-03-15T05:30:00",
        "status": "draft",
        "cover_image": null
      }
    ],
    "pagination": {
      "total": 24,
      "currentPage": 1,
      "totalPages": 3,
      "hasNextPage": true,
      "hasPreviousPage": false,
      "page_size": 10
    }
  }
}
```

## Response Models

| Model                                                                         | Description                                              |
| ----------------------------------------------------------------------------- | -------------------------------------------------------- |
| <a href="/api-reference/models/event#eventlistresponse">EventListResponse</a> | Top-level response containing `events` and `pagination`. |
| <a href="/api-reference/models/event#eventlistitem">EventListItem</a>         | Event object returned inside `events[]`.                 |
| <a href="/api-reference/models/pagination">PaginationInfo</a>                 | Pagination metadata.                                     |

## Error Responses

| Status | Meaning                                                                |
| ------ | ---------------------------------------------------------------------- |
| `401`  | API key is missing.                                                    |
| `403`  | API key is invalid, inactive, or does not belong to this organisation. |
| `429`  | Rate limit exceeded. Back off and retry.                               |
| `500`  | Internal failure.                                                      |

See [Errors](/api-reference/errors) for canonical descriptions and retry guidance.
