Endpoints
Programmes
Return information about a programme of events and activities managed by an organisation coordinating multiple other organisations.
Overview
GET
Get information about an individual programme.
Endpoint
https://book.plinth.org.uk/api/programme/:id
Query parameters:
none
Response object
Name: "Andy",
}
Events
GET
Get information about events that are part of the programme
Endpoint
https://book.plinth.org.uk/api/programme/:id/events
Query Parameters
{
showFull: true || false, // show fully booked events
organisations: ["ORG_ID1", "ORG_ID2"], // filter by organisations
days: ["Monday, Tuesday", etc], // filter by days
}
Response Object
[
{
recurrence: {
RRULE: 'DTSTART:20231018T100003Z\nRRULE:FREQ=YEARLY',
recurring: true, // is this event recurring?
type: 'YEARLY',
},
venue: {
accessible: true,
address: 'Venue Address',
name: 'Venue Name',
postcode: 'Venue Postcode',
geopoint: {
// venue location
lon: -1.48647,
lat: 54.980974,
},
_id: 'VENUE_ID',
},
managedBy: 'ORG_ID',
start: '2023-10-18T09:00:03.142Z', // end date and time of first event occurence
name: {
text: 'Event Name',
},
end: '2023-10-18T11:00:03.142Z', // end date and time of first event occurence
_id: 'EVENT_ID',
tags: ['Free text tag 1', '...'],
bookable: true || false, // is this event publically bookable?
bookingDetails: {
orgName: 'ORGANISATION NAME',
funderProgrammeId: 'PROGRAMME_ID',
description:
'html description of the event, including any booking instructions', // needs to be sanitised
images: [
{
src: 'IMAGE URL',
alt: 'IMAGE ALT TEXT',
},
{
src: 'IMAGE URL',
alt: 'IMAGE ALT TEXT',
},
null,
null,
null,
], // will always be 5 images (even if null)
privateEvent: true || false,
},
},
]
Organisations
GET
Get information about organisations that are part of the programme
Endpoint
https://book.plinth.org.uk/api/programme/:id/organisations
Query Parameters
none
Response Object
[
{
"Name": "Organisation Name",
"_id": "ORG_ID"
}
]
Searching Events
POST
Return the event ids that match a keyword search.
Endpoint
https://book.plinth.org.uk/api/programme/:id/search
Request Body
{
searchText: "Search text",
searchType: "event" // must be "event" for now
}
Response Object
["EventId1", "EventId2", etc]