Skip to content

Instantly share code, notes, and snippets.

@LucasRoesler
Created September 18, 2015 18:12
Show Gist options
  • Save LucasRoesler/a88afcf314a8cd37bed8 to your computer and use it in GitHub Desktop.
Save LucasRoesler/a88afcf314a8cd37bed8 to your computer and use it in GitHub Desktop.
FORMAT: 1A
HOST: https://eventboard.io/api/v4
# Eventboard.io API Spec
The api specification for eventboard.io
# Data Structures
## Reservation Base (object)
+ id: 1 (number)
+ title: Test Event (string)
+ description: Meeting agenda ... (string)
+ starts_at: 1442518200 (number) - Timestamp
+ end_at: 1442520000 (number) - Timestamp
+ created_at: `2015-09-17T19:06:38.965208Z` (string) - Timestamp
+ updated_at: `2015-09-17T19:06:38.969182Z` (string) - Timestamp
+ calendar_id: 2 (number)
+ identifier: gl9p664ea4i6ruhbn3g7k4utest (string)
+ participant_ids: [1,2] (array[number]) - Array of participant ids
## Group Reservations
### Reservations [/calendars/reservations/{?include%5B%5D,room_id,calendar_id,user_id,per_page,page}]
This resource represents calendar reservations
+ Parameters
+ include%5B%5D: `participants` (enum[string], optional)
Select fields to sideload, parameter can be repeated.
+ Members
+ `participants` - loads the participant instances in an array.
#### List [GET]
+ Parameters
+ room_id: `10` (number, optional)
Filter the reservations on the room calendar.
+ calendar_id: `11` (number, optional)
Filter the reservations on the calendar.
+ user_id: `12` (number, optional)
Filter the reservations by the participant list.
+ per_page: `5` (number, optional)
+ Default: `10`
+ page: `2` (number, optional)
+ Default: `1`
+ Response 200 (application/json)
+ Attributes (object)
+ reservations (array[Reservation Base])
+ meta (object)
+ total: 10 (number) - the total number of reservation objects
+ Body
{
"reservations": [
{
"id": 135,
"title": "Test Event",
"starts_at": 1442518200,
"ends_at": 1442520000,
"description": "",
"created_at": "2015-09-17T19:06:38.965208Z",
"updated_at": "2015-09-17T19:06:38.969182Z",
"calendar_id": 389,
"identifier": "gl9p664ea4i6ruhbn3g7k4u9k4",
"participant_ids": [
3919
]
}
],
"meta": {
"total": 1
}
}
+ Response 401 (application/json)
{
"detail": "Authentication credentials were not provided."
}
+ Response 403 (application/json)
{
"detail": "You do not have permission to perform this action."
}
+ Response 500
#### Create [POST]
+ Parameters
+ room_id: `10` (number, required)
Room the reservation is for, must be a `GET` parameter.
+ Request (application/json)
{
"reservation": {
"title": "Test Event",
"starts_at": 1442518200,
"ends_at": 1442520000,
"description": "",
"participant_ids": [
3919
]
}
+ Response 201 (application/json)
+ Attributes (object)
+ reservation (Reservation Base)
+ meta (object)
+ total: 10 (number) - the total number of reservation objects
+ Body
{
"reservation": {
"id": 135,
"title": "Test Event",
"starts_at": 1442518200,
"ends_at": 1442520000,
"description": "",
"created_at": "2015-09-17T19:06:38.965208Z",
"updated_at": "2015-09-17T19:06:38.969182Z",
"calendar_id": 389,
"identifier": "gl9p664ea4i6ruhbn3g7k4u9k4",
"participant_ids": [
3919
]
},
"meta": {
"total": 25
}
}
+ Response 401 (application/json)
{
"detail": "Authentication credentials were not provided."
}
+ Response 403 (application/json)
{
"detail": "You do not have permission to perform this action."
}
+ Response 500
### Reservation Instance [/calendars/reservations/{id}/{?include%5B%5D}]
A calendar event instance.
+ Parameters
+ id (required, number, `1`) ... The event id
+ include%5B%5D: `participants` (string, optional)
Select fields to sideload, parameter can be repeated.
+ Members
+ `participants` - loads the participant instances in an array.
#### Retrieve [GET]
+ Attributes (object)
+ reservation (Reservation Base)
+ meta (object)
+ total: 10 (number) - the total number of reservation objects
+ Response 200 (application/json)
+ Body
{
"reservation": {
"id": 135,
"title": "Test Event",
"starts_at": 1442518200,
"ends_at": 1442520000,
"description": "",
"created_at": "2015-09-17T19:06:38.965208Z",
"updated_at": "2015-09-17T19:06:38.969182Z",
"calendar_id": 389,
"identifier": "gl9p664ea4i6ruhbn3g7k4u9k4",
"participant_ids": [
3919
]
},
"meta": {
"total": 25
}
}
+ Response 401 (application/json)
{
"detail": "Authentication credentials were not provided."
}
+ Response 403 (application/json)
{
"detail": "You do not have permission to perform this action."
}
+ Response 500
#### Update [PATCH]
+ Response 204
+ Response 401 (application/json)
{
"detail": "Authentication credentials were not provided."
}
+ Response 403 (application/json)
{
"detail": "You do not have permission to perform this action."
}
+ Response 500
#### Delete [DELETE]
+ Response 204
+ Response 401 (application/json)
{
"detail": "Authentication credentials were not provided."
}
+ Response 403 (application/json)
{
"detail": "You do not have permission to perform this action."
}
+ Response 500
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment