---
title: "Get event by ID"
method: GET
path: "/v1/users/{user_id}/events/{id}"
tags: ["Events"]
---

# Get event by ID

`GET /v1/users/{user_id}/events/{id}`

## Request

- Base URL: `http://0.0.0.0:3000`
- URL: `http://0.0.0.0:3000/v1/users/{user_id}/events/{id}`
- Auth: none declared

Returns a single event by its ID. Accepts evt_xxx opaque ID format.

## Path parameters

- `user_id` string, uuid, required
- `id` string, required

## Response `200`

Default Response

- object
  - `success` boolean, required
  - `error` object
    - `code` string, required
    - `message` string, required
    - `details` unknown
  - `data` object, required
    - `id` string, required: Opaque event ID (evt_xxx format)
    - `calendar_id` string, required: Opaque calendar ID (cal_xxx format)
    - `title` string, nullable: Event title
    - `description` string, nullable: Event description or body
    - `start_time` string, date-time, required: Event start time (ISO8601)
    - `end_time` string, date-time, required: Event end time (ISO8601)
    - `location` string, nullable: Event location
    - `status` string, nullable: Event status (confirmed, tentative, cancelled)
    - `all_day` boolean, required: Whether this is an all-day event
    - `organizer_entity_id` string, nullable: Entity ID of the organizer
    - `attendee_entity_ids` string[], nullable: Entity IDs of attendees
    - `attendees` object[], nullable: Raw attendee data from the calendar provider
    - `html_link` string, nullable: Link to view event in provider's web UI
    - `event_link` string, nullable: Video conference link if present
    - `visibility` string, nullable: Event visibility (default, public, private, confidential)
    - `response_status` string, nullable: Calendar owner's RSVP status (needsAction, accepted, declined, tentative)
    - `update_count` integer, required: Number of meaningful changes detected during sync
    - `created_at` string, date-time, required: When the event was created
    - `updated_at` string, date-time, nullable: When the event was last modified

## Other responses

- `400`: Default Response
- `401`: Default Response
- `404`: Default Response
- `500`: Default Response

---

[API](https://skmtc.dev/attrove/apis/attrove-api.md) · [All operations](https://skmtc.dev/attrove/apis/attrove-api/llms.txt) · [OpenAPI document](https://skmtc.dev/attrove/apis/attrove-api/revisions/fcdc818b45cb?raw)
