Skip to content

Events API

GET /v1/events

Список публічних подій із фільтрами.

Авторизація: опціональна (якщо є токен — повертає myRsvp, isSaved)

Query параметри

ПараметрТипОпис
latnumberШирота поточного місця
lngnumberДовгота поточного місця
radiusnumberРадіус пошуку (км), за замовчуванням 50
categorystringSlug категорії
dateFromISO 8601Початок діапазону дат
dateToISO 8601Кінець діапазону дат
qstringПовнотекстовий пошук
pagenumberСторінка (за замовчуванням 1)
limitnumberРозмір сторінки (за замовчуванням 20, макс 50)

Запит

http
GET /v1/events?lat=50.45&lng=30.52&radius=10&category=music&page=1&limit=20
Authorization: Bearer <accessToken>

Відповідь 200

json
{
  "data": [
    {
      "id": "uuid",
      "title": "Jazz у парку",
      "description": "Вечір живої музики",
      "coverUrl": "https://cdn.pisd.uk/covers/uuid.jpg",
      "startAt": "2024-07-20T18:00:00Z",
      "endAt": "2024-07-20T21:00:00Z",
      "location": {
        "address": "вул. Хрещатик 1, Київ",
        "lat": 50.45,
        "lng": 30.52
      },
      "category": { "slug": "music", "name": "Музика", "emoji": "🎵" },
      "price": 0,
      "capacity": 100,
      "rsvpCount": 45,
      "myRsvp": "going",
      "isSaved": false,
      "visibility": "public"
    }
  ],
  "meta": { "total": 128, "page": 1, "limit": 20 }
}

GET /v1/events/:id

Повна інформація про подію.

Авторизація: опціональна

Відповідь 200

json
{
  "id": "uuid",
  "title": "Jazz у парку",
  "description": "Вечір живої музики",
  "coverUrl": "https://cdn.pisd.uk/covers/uuid.jpg",
  "startAt": "2024-07-20T18:00:00Z",
  "endAt": "2024-07-20T21:00:00Z",
  "location": {
    "address": "вул. Хрещатик 1, Київ",
    "lat": 50.45,
    "lng": 30.52
  },
  "category": { "slug": "music", "name": "Музика", "emoji": "🎵" },
  "organizer": {
    "id": "uuid",
    "name": "Іван Петров",
    "avatar": "https://cdn.pisd.uk/avatars/uuid.jpg"
  },
  "price": 0,
  "capacity": 100,
  "rsvpCount": 45,
  "bookedCount": 30,
  "visibility": "public",
  "template": { "slug": "picnic", "name": "Пікнік" },
  "enabledModules": ["bringList"],
  "myRsvp": "going",
  "myBooking": null,
  "isSaved": false
}

POST /v1/events/:id/rsvp

Встановити або прибрати RSVP.

Авторизація: Bearer <accessToken>

Тіло запиту

json
{
  "status": "going"
}
Значення statusОпис
"going"Підтвердити участь
"interested"Відмітити як цікаво
nullПрибрати відмітку

Відповідь 200

json
{
  "myRsvp": "going",
  "rsvpCount": 46
}

POST /v1/events/:id/save

Зберегти або видалити зі збережених.

Авторизація: Bearer <accessToken>

Тіло запиту

json
{ "saved": true }

Відповідь 200

json
{ "isSaved": true }

Пошук подій за текстом.

Авторизація: опціональна

Query параметри

ПараметрТипОпис
qstringПошуковий запит (обов'язкове)
pagenumberСторінка
limitnumberРозмір

Запит

http
GET /v1/events/search?q=jazz+park&limit=10

Відповідь — той самий формат, що й GET /v1/events.

Peaced — платформа подій