All Collections
Mapiq API
Mapiq API .v1 - ⚠️ Deprecated ⚠️
Mapiq API .v1 - ⚠️ Deprecated ⚠️
Updated over a week ago

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

startDate

Yes

The start of the date range

endDate

No

The end of the date range

⚠️ If not provided it will equal startDate

userId

No

Identifier of the user (GUID) as received from the GET user API

buildingId

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

Id

Identifier for the registration (GUID)

userId

Internal Mapiq identifier (GUID)

userExternalId

External identifier, as used by the customer.

firstName

First name of the user

lastName

Last name of the user

email

Email address of the user

date

On which date the registration is valid

nodeId

The identifier of the location (GUID) of the registration can be areaId, floorId, or buildingId

deskId

Idenfier of the booked desk (GUID)

⚠️ It can be null depending on what level the registration is made

areaId

Identifier for the area (GUID) the registration is in

⚠️ It can be null depending on what level the registration is made

floorId

Identifier for which floor (GUID) the registration is in.

⚠️ It can be null depending on what level the registration is made

floorHasMap

Whether the floor has a map

floorNumber

The floor number

buildingId

Identifier for which building (GUID) the registration is in

buildingName

The name of the building the registration is in

floorName

The name of the floor

areaName

The name of the area

deskName

The name of the desk

createdBy

Object with the original creator of the booking

lastModifiedBy

Object with the last editor of the booking

checkedIn

Whether the user has checked in for this shift

GET Buildings

Query parameters:

None

Returned data:
The API returns an array of building objects with properties like

Property

Description

Id

Identifier of the building (GUID)

name

Name of the building

ianaTimezone

The timezone of the building

capacity

Total capacity

version

Version number

floors

A list of floor objects:

  • id: Identifier of the floor (GUID)

  • name: Name of the floor

  • number: Floor number

  • capacity: Capacity of the floor

  • hasMap: Whether there is a map drawn for the floor

  • areas: A list of area objects

    • id: Identifier of the area (GUID)

    • name: Name of the area

    • capacity: Capacity of the area

    • hasBookableDesks: Whether the desks are bookable

openingDays

A list of the days that the building is open

GET Users

Query parameters:
Optional parameters include:

Parameter

Required

Description

useCount

No

-

filters

No

-

sorts

No

-

page

No

-

pageSize

No

-

Returned Data

The API returns an object containing an array of user objects with properties like

Property

Description

totalCount

Number of user objects returned

data

Array with user objects

  • userId: Internal Mapiq identifier (GUID)

  • external: UserIdExternal identifier, as used by the customer. For more information,n see below

  • firstName: First name of the user

  • lastName: Last name of the user

  • email: Email address of the user

  • isActive: Whether the user is active

  • quotaProfile: Object with the quota profile assigned to the user

  • locationProfile: Object with the location profile assigned to the user

  • country: Country of the user (if known)

  • office: Office of the user (if known)

  • jobTitle: Job title of the user (if known)

  • department: Department of the user (if known)

  • business: UnitBusiness Unit of the user (if known)

POST Check-In

Endpoint:

Query parameters:

Required parameters are

Parameter

Required

Description

buildingId

Yes

Identifier of the building (GUID) as received from the GET building API

userId

Yes

Identifier of the user (GUID) as received from the GET user API

eventType

Yes

One of the following values (STRING):

  • atTheOffice > check-in event

  • notAtTheOffice > checkout event

source

Yes

One of the following values (STRING):

  • accessGate

  • sensor

  • wifi

Returned Data

Status code 200 OK

Did this answer your question?