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

# List attended events

> Returns events you have tickets for, filterable by category, type, season, year, venue, team, and attendance status. Includes tickets for events you did not attend.



## OpenAPI

````yaml get /v1/attending/events
openapi: 3.1.0
info:
  title: Rewind API
  version: 1.0.0
  description: >-
    Personal data aggregation API. Syncs and serves data from Last.fm, Apple
    Music, Strava, Plex, Letterboxd, Discogs, Trakt, Instapaper, Google
    Calendar, and Gmail.


    ## Domains


    | Domain | Source | Description |

    |--------|--------|-------------|

    | **Listening** | Last.fm, Apple Music | Scrobbles, top
    artists/albums/tracks, streaks, stats |

    | **Running** | Strava | Activities, splits, gear, personal records, year
    summaries |

    | **Watching** | Plex, Letterboxd | Movies, TV shows, watch history,
    ratings, reviews |

    | **Collecting** | Discogs, Trakt | Vinyl/CD collection, physical media,
    wantlist |

    | **Reading** | Instapaper | Articles, highlights, reading progress, word
    count |

    | **Attending** | Google Calendar, Gmail | Live events, tickets, sports
    games, concerts, venues |


    ## Authentication


    All endpoints require a Bearer token. There are two key types:


    - **Read keys** (`rw_live_...`) — access all GET endpoints

    - **Admin keys** (`rw_admin_...`) — access all endpoints including sync
    triggers and data management


    Pass your key in the Authorization header: `Authorization: Bearer
    rw_live_...`


    ## Pagination


    List endpoints return paginated responses:


    ```json

    {
      "data": [...],
      "pagination": { "page": 1, "limit": 20, "total": 150, "total_pages": 8 }
    }

    ```


    The activity feed uses cursor-based pagination instead.


    ## Quick Start


    ```bash

    # Check the API is up

    curl https://api.rewind.rest/v1/health


    # Fetch recent scrobbles (requires read key)

    curl -H "Authorization: Bearer rw_live_..." \
      https://api.rewind.rest/v1/listening/recent

    # Fetch running stats

    curl -H "Authorization: Bearer rw_live_..." \
      https://api.rewind.rest/v1/running/stats
    ```


    ## Errors


    All errors follow the same envelope:


    ```json

    { "error": "Not found", "status": 404 }

    ```


    Common status codes: 400 (bad request), 401 (unauthorized), 404 (not found),
    500 (server error).
  contact:
    url: https://github.com/pdugan20/rewind
servers:
  - url: https://api.rewind.rest
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Listening
    description: Last.fm scrobbles, top charts, streaks, and stats.
  - name: Running
    description: Strava activities, splits, gear, records, and year summaries.
  - name: Watching
    description: >-
      Movies, TV shows, watch history, ratings, and reviews from Plex and
      Letterboxd.
  - name: Collecting
    description: Vinyl/CD collection from Discogs and physical media from Trakt.
  - name: Reading
    description: Articles, highlights, and reading stats from Instapaper.
  - name: Attending
    description: >-
      Live events you bought tickets for — sports games, concerts, theater.
      Sourced from Google Calendar and ticket-vendor email.
  - name: Feed
    description: Cross-domain activity feed with cursor-based pagination.
  - name: Search
    description: Full-text search across all domains.
  - name: Images
    description: Image proxy with on-the-fly transforms via Cloudflare Images.
  - name: System
    description: Health checks and sync status.
  - name: Admin
    description: >-
      API key management, sync triggers, and data administration. Requires admin
      key.
  - name: Webhooks
    description: Inbound webhook receivers for Strava and Plex. No auth required.
paths:
  /v1/attending/events:
    get:
      tags:
        - Attending
      summary: List attended events
      description: >-
        Returns events you have tickets for, filterable by category, type,
        season, year, venue, team, and attendance status. Includes tickets for
        events you did not attend.
      operationId: listAttendedEvents
      parameters:
        - schema:
            type: integer
            minimum: 1
            default: 1
            example: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
            example: 20
          required: false
          name: limit
          in: query
        - schema:
            type: string
            enum:
              - sports
              - music
              - arts
            example: sports
          required: false
          name: category
          in: query
        - schema:
            type: string
            example: mlb_game
          required: false
          name: event_type
          in: query
        - schema:
            type:
              - integer
              - 'null'
            example: 2024
          required: false
          name: season
          in: query
        - schema:
            type:
              - integer
              - 'null'
            example: 2024
          required: false
          name: year
          in: query
        - schema:
            type:
              - integer
              - 'null'
            example: 12
          required: false
          name: venue_id
          in: query
        - schema:
            type:
              - integer
              - 'null'
            minimum: 0
            maximum: 1
            example: 1
          required: false
          name: attended
          in: query
        - schema:
            type: string
            example: mariners
            description: >-
              Case-insensitive substring match on event_data.home_team.name OR
              event_data.away_team.name. Returns games where this team was
              either side.
          required: false
          description: >-
            Case-insensitive substring match on event_data.home_team.name OR
            event_data.away_team.name. Returns games where this team was either
            side.
          name: team
          in: query
        - schema:
            type:
              - integer
              - 'null'
            example: 136
            description: >-
              Exact match on event_data.home_team.id OR event_data.away_team.id.
              Use league-native team ids (MLB Stats id for MLB, ESPN team id for
              everything else).
          required: false
          description: >-
            Exact match on event_data.home_team.id OR event_data.away_team.id.
            Use league-native team ids (MLB Stats id for MLB, ESPN team id for
            everything else).
          name: team_id
          in: query
      responses:
        '200':
          description: Attended events
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          example: 142
                        category:
                          type: string
                          example: sports
                        event_type:
                          type: string
                          example: mlb_game
                        event_date:
                          type: string
                          example: '2024-08-12'
                        event_datetime:
                          type:
                            - string
                            - 'null'
                          example: '2024-08-12T19:10:00Z'
                        title:
                          type: string
                          example: Seattle Mariners vs Houston Astros
                        subtitle:
                          type:
                            - string
                            - 'null'
                          example: Mariners 4, Astros 2
                        series_id:
                          type:
                            - string
                            - 'null'
                          example: mlb-2024-mariners
                        external_id:
                          type:
                            - string
                            - 'null'
                          example: '745423'
                        external_source:
                          type:
                            - string
                            - 'null'
                          example: mlb_stats_api
                        event_data:
                          type:
                            - object
                            - 'null'
                          additionalProperties: {}
                          example:
                            season: 2024
                            home_team: Seattle Mariners
                            away_team: Houston Astros
                            home_score: 4
                            away_score: 2
                            my_team_won: true
                            winning_pitcher: Logan Gilbert
                        notes:
                          type:
                            - string
                            - 'null'
                          example: null
                        attended:
                          type: boolean
                          example: true
                        venue:
                          type:
                            - object
                            - 'null'
                          properties:
                            id:
                              type: number
                              example: 12
                            name:
                              type: string
                              example: T-Mobile Park
                            city:
                              type:
                                - string
                                - 'null'
                              example: Seattle
                            state:
                              type:
                                - string
                                - 'null'
                              example: WA
                            country:
                              type:
                                - string
                                - 'null'
                              example: US
                            latitude:
                              type:
                                - number
                                - 'null'
                              example: 47.5914
                            longitude:
                              type:
                                - number
                                - 'null'
                              example: -122.3325
                            capacity:
                              type:
                                - number
                                - 'null'
                              example: 47929
                          required:
                            - id
                            - name
                            - city
                            - state
                            - country
                            - latitude
                            - longitude
                            - capacity
                        tickets:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                                example: 871
                              vendor:
                                type: string
                                example: ticketmaster
                              order_id:
                                type:
                                  - string
                                  - 'null'
                                example: 32-43215/SEA
                              section:
                                type:
                                  - string
                                  - 'null'
                                example: '147'
                              row:
                                type:
                                  - string
                                  - 'null'
                                example: '15'
                              seat:
                                type:
                                  - string
                                  - 'null'
                                example: '12'
                              quantity:
                                type: number
                                example: 2
                              total_price_cents:
                                type:
                                  - number
                                  - 'null'
                                example: 8400
                              currency:
                                type: string
                                example: USD
                              purchased_at:
                                type:
                                  - string
                                  - 'null'
                                example: '2024-06-15T18:42:11Z'
                            required:
                              - id
                              - vendor
                              - order_id
                              - section
                              - row
                              - seat
                              - quantity
                              - total_price_cents
                              - currency
                              - purchased_at
                      required:
                        - id
                        - category
                        - event_type
                        - event_date
                        - event_datetime
                        - title
                        - subtitle
                        - series_id
                        - external_id
                        - external_source
                        - event_data
                        - notes
                        - attended
                        - venue
                        - tickets
                  pagination:
                    $ref: '#/components/schemas/PaginationMeta'
                required:
                  - data
                  - pagination
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PaginationMeta:
      type: object
      properties:
        page:
          type: integer
          example: 1
        limit:
          type: integer
          example: 20
        total:
          type: integer
          example: 150
        total_pages:
          type: integer
          example: 8
      required:
        - page
        - limit
        - total
        - total_pages
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          example: Not found
        status:
          type: integer
          example: 404
      required:
        - error
        - status
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key. Read keys (rw_live_...) access GET endpoints. Admin keys
        (rw_admin_...) access all endpoints.

````