---
updatedAt: 2026-04-23T05:40:30.000Z
---

# Lists event sessions

Lists event sessions accessible within the given scope. All filters below are optional and additive; omitting them preserves the default behavior (sessions that have not ended yet, newest first).

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "API V1",
    "version": "v1"
  },
  "paths": {
    "/event_sessions": {
      "get": {
        "summary": "Lists event sessions",
        "tags": [
          "Event Sessions"
        ],
        "description": "Lists event sessions accessible within the given scope. All filters below are optional and additive; omitting them preserves the default behavior (sessions that have not ended yet, newest first).",
        "parameters": [
          {
            "name": "_limit",
            "in": "query",
            "description": "Limits the number of items returned. Default is 20, maximum is 100.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            }
          },
          {
            "name": "_offset",
            "in": "query",
            "description": "Number of items to skip before starting to return the results.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "_since",
            "in": "query",
            "description": "UTC timestamp in seconds since the Unix epoch to filter calls created after this time.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "event_id",
            "in": "query",
            "description": "Filters sessions by event_id within the accessible scope.",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "upcoming",
            "in": "query",
            "description": "When true, returns only sessions that have not ended yet, sorted by start_time ascending (soonest first).",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "starts_after",
            "in": "query",
            "description": "UTC timestamp in seconds since the Unix epoch; only sessions with start_time at or after this moment.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "starts_before",
            "in": "query",
            "description": "UTC timestamp in seconds since the Unix epoch; only sessions with start_time at or before this moment.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "chapter_id",
            "in": "query",
            "description": "Only sessions of events scoped to this chapter. Chapters outside your accessible scope simply match nothing.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "event_tags",
            "in": "query",
            "description": "Comma-separated list of tags. Matches sessions whose own tags OR whose parent event tags overlap with the list.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_rsvp_counts",
            "in": "query",
            "description": "When true, each session in the response includes an rsvp_counts object keyed by RSVP status (e.g. {\"yes\": 12, \"no\": 3}).",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_confirmed_counts",
            "in": "query",
            "description": "When true, each session includes a confirmed_counts object: the same per-status breakdown as rsvp_counts, restricted to RSVPs an organizer confirmed.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_hosts",
            "in": "query",
            "description": "When true, each session includes a hosts array of {id, first_name, last_name} objects resolved from host_user_ids, in host order.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "count",
            "in": "query",
            "description": "When true, returns {\"count\": n} of matching sessions instead of the rows. Combines with all other filters.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "filtered event sessions listed"
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.solidarity.tech/v1",
      "variables": {
        "defaultHost": {
          "default": "api.solidarity.tech/v1"
        }
      }
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
```