Introduction
Welcome to the go~mus API documentation! You can use our API to access go~mus API endpoints, which can get information on various entities in our database.
We have examples using curl! You can view code examples in the dark area to the right.
Authentication
The public API is accessible without authentication and authorization.
But before you can use the go~mus reseller API or the go~mus cash point API you will have to register a user account with an API key. Please talk to your contact person in order to get access.
Note that special prices and products might only be available for authenticated users. It is recommended to authenticate against all endpoints.
Token Authentication
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
-H "Authorization: Bearer meowmeowmeow"
Make sure to replace
meowmeowmeow
with your API key.
go~mus expects the API key to be included in all reseller and cash point API requests to the server in a header that looks like the following:
Authorization: Bearer meowmeowmeow
Who am I
GET https://demo.gomus.de/api/v4/whoami
curl "https://demo.gomus.de/api/v4/whoami"
The above command returns JSON structured like this:
{
"access": "reseller",
"museums": [
5
]
}
Response
The JSON response contains info about the current authentication.
- access (string), will always be present with value [“user”, “cashpoint”, “reseller”, “customer”, “public”]
- museums (array of museum ids), if no “customer” or “public” and if user is limited to museums
Public API
The Public API provides public accessible information about museums, exhibitions, tours, events and tickets.
See detailed documentation on Public API.
Reseller API
The Reseller API allows you to directly sell products (events, tours and tickets) to customers using the go~mus API.
See detailed documentation on Reseller API.
Cash Point API
The Cash Point API allows cash points to directly sell products (events, tours and tickets) to customers using the go~mus API.
See detailed documentation on Cash Point API.
Entry API
The Entry API allows track entries and exists using the go~mus API.
See detailed documentation on Entry API.
Customers API
The Customers API provides ways of creating and updating customer accounts, which can later be used for authorization.
See detailed documentation on the Customers API.
Changelog
Version 4.4.1 (part 2)
- Add information about Newsletter Subscriber Groups
- Add information about updating customers
- Document the /api/v4/auth/sign_in endpoint
Version 4.4.1
- added “vat_pct” param for scale prices
4.4 - System 2.21.0 Update
- updated documentation for events with seating plans
- typo fixes
4.4
- updated info for obsolete event calendar
- updated events detail section
- updated calendar section
- updated global dates list section
- updated ticket calendar section, note that param “ticket_ids” is obsolete, use “by_ticket_ids” filter instead
- updated ticket calendar, capacities and capacity section to handle reservations
- update reservation section, provide hint about ticket’s bookablility for making a reservation
- update tour section
- add equipment section for tours
- updated order section for tour items containing equipment bookings
4.2
- added documentation for new by_bookable filters
- added documentation for new version info
- added documentation for attendees for tickets
- added documentation for entry api
4.1
- added documentation for time frames
- added documentation for dynamic content attributes (roughly)
4.1-rc-3
- added tagging for events, tours and dates
- added documentation for multi locale support
- add documentation for cash point “show_by_barcode” method
4.1-rc-2
- added by_bookable filter for events, tickets and tours
- added cash point api documentation
- added filter “only_my_orders” for orders endpoint
- added public version info endpoint (api/v4/version)
- added ticket reservation documentation
4.0
- initial API version 4
Version
the go~mus API version is 4.4
The system and api version is available at each instance:
GET https://demo.gomus.de/api/v4/version
Note: The pagination limit (maximum value accepted for the per_page
parameter) is by default set to 100
for authenticated api requests and to 25
for unauthenticated api requests.
curl "https://demo.gomus.de/api/v4/version"
The above command returns JSON structured like this:
{
"version": {
"system": "2.9.1",
"api": "4.4",
"release": "Bubbles",
"time": "2017-12-03T10:49:15+02:00",
"zone": "Europe/Berlin",
"currency": "EUR",
"per_page": 25
}
}