Skip to main content
Bulletins are announcements posted to a tour day. They can be pinned and can trigger a notification to tour members. Bulletin IDs are string/ID values. All endpoints require the standard authentication headers.

List bulletins

GET /v1/tours/{tourId}/bulletins
Returns the bulletins for a tour. Scope: bulletins.read Example
curl "$BASE/v1/tours/2f1c…/bulletins" \
  -H "x-api-key: $KEY" -H "x-api-secret: $SECRET" -H "Authorization: Bearer $TOKEN"
Path parameters
NameTypeDescription
tourIdstring (UUID)The tour.
Response data — array of bulletins:
{
  "id": "a8e2…",
  "title": "Schedule change",
  "body": "Doors now at 7pm",
  "is_edited": false,
  "is_pinned": true,
  "has_notification": true,
  "notification_has_sent": true,
  "day_id": 1843,
  "tour_id": "2f1c…",
  "posted_at": "2026-05-20T08:00:00Z",
  "created_at": "2026-05-20T08:00:00Z",
  "updated_at": "2026-05-20T08:00:00Z",
  "is_deleted": false,
  "created_by": { "id": "…", "firstname": "Jane", "lastname": "Doe", "email": "jane@…", "image": "https://…" }
}

Create a bulletin

POST /v1/bulletins
Scope: bulletins.write Body
FieldTypeRequiredDescription
dayIdnumberYesDay to post the bulletin on.
titlestringYesBulletin title.
bodystringYesBulletin content.
isPinnedbooleanYesWhether to pin the bulletin.
hasNotificationbooleanYesWhether to notify tour members.
scheduledForstringNoSchedule the bulletin for a future time.
Create takes dayId (camelCase, not day_id or tour_id); the tour is resolved from the day. See Field naming for the snake_case vs camelCase conventions across resources.
Response data: { "bulletin_id": "a8e2…" }.

Update a bulletin

PUT /v1/bulletins/{bulletinId}
Scope: bulletins.write Path parameters
NameTypeDescription
bulletinIdstring (ID)The bulletin to update.
Body — all optional; send only what changes.
FieldTypeDescription
titlestringBulletin title.
bodystringBulletin content.
isPinnedbooleanPin state.
hasNotificationbooleanNotification flag.
scheduledForstringScheduled time.
The bulletinId is taken from the URL path — do not send it in the request body.
Response data: none.

Delete a bulletin

DELETE /v1/bulletins/{bulletinId}
Soft-deletes the bulletin. Scope: bulletins.write Path parameters
NameTypeDescription
bulletinIdstring (ID)The bulletin to delete.
Response data: none.
See also: Tours, Guest List.