Mapiq's API allows you to fetch booking data in a machine-readable format (JSON) so that other services can utilize the information generated within Mapiq's application, for instance, an access control system that could grant user access based on bookings made in Mapiq.
Authentication
Mapiq's API supports OAuth 2.0 Resource Owner Password Credential (ROPC) flow to retrieve a token for authenticating against the public API. Mapiq will create a service account and provide the necessary information for a successful connection.
External ID
Connecting another service to the API may require a different user identifier than the user's email address. You can share an additional claim containing an external employee ID via Single Sign-On. This external ID is not used within Mapiq and serves only to be shared within the API output. The supported claim namespaces and names are as follows:
Protocol | Expected claim namespace and name |
SAML2.0 | |
OpenId Connect | external_id* |
⚠️ This claim should be included in one of these scopes: openid, email, or profile.
API References
GET Shifts
Query parameters:
Use the startDate
parameter to fetch bookings from a specific date. You can further specify the returned data with additional parameters like
Parameter | Required | Description |
| Yes | The start of the date range |
| No | The end of the date range
⚠️ If not provided it will equal startDate
|
| No | Identifier of the user (GUID) as received from the GET user API |
| No | Identifier of the building (GUID) as received from the GET buildings API |
Returned Data
The API returns an array of booking objects matching the query parameter with properties such as
Property | Description |
| Identifier for the registration (GUID) |
| Internal Mapiq identifier (GUID) |
| External identifier, as used by the customer. |
| First name of the user |
| Last name of the user |
| Email address of the user |
| On which date the registration is valid |
| The identifier of the location (GUID) of the registration can be areaId, floorId, or buildingId |
| Idenfier of the booked desk (GUID)
⚠️ It can be null depending on what level the registration is made
|
| Identifier for the area (GUID) the registration is in
⚠️ It can be null depending on what level the registration is made
|
| Identifier for which floor (GUID) the registration is in.
⚠️ It can be null depending on what level the registration is made
|
| Whether the floor has a map |
| The floor number |
| Identifier for which building (GUID) the registration is in |
| The name of the building the registration is in |
| The name of the floor |
| The name of the area |
| The name of the desk |
| Object with the original creator of the booking |
| Object with the last editor of the booking |
| Whether the user has checked in for this shift |
GET Buildings
Endpoint:
https://api.mapiq.com/shifts/buildings
Query parameters:
None
Returned data:
The API returns an array of building objects with properties like
Property | Description |
| Identifier of the building (GUID) |
| Name of the building |
| The timezone of the building |
| Total capacity |
| Version number |
| A list of floor objects:
|
| A list of the days that the building is open |
GET Users
Endpoint:
https://api.mapiq.com/shifts/users
Query parameters:
Optional parameters include:
Parameter | Required | Description |
| No | - |
| No | - |
| No | - |
| No | - |
| No | - |
Returned Data
The API returns an object containing an array of user objects with properties like
Property | Description |
| Number of user objects returned |
| Array with user objects
|
POST Check-In
Endpoint:
Query parameters:
Required parameters are
Parameter | Required | Description |
| Yes | Identifier of the building (GUID) as received from the GET building API |
| Yes | Identifier of the user (GUID) as received from the GET user API |
| Yes | One of the following values (STRING):
|
| Yes | One of the following values (STRING):
|
Returned Data
Status code 200 OK