"API" Posts

Return to developer

API Documentation - Getting Started

WiggleDesk's API makes it easy to integrate with thousands of web services to automate hybrid working.

Overview

WiggleDesk's API allows users to do things like:

  • Connect to thousands of other web services, through connection tools such as Zapier.
  • Automate your user management.
  • See all your upcoming bookings.
  • See all your teams upcoming bookings.
  • Automatically find space and make suitable bookings.

Desk booking api

Endpoints

Our API includes REST endpoints and Webhooks:

REST Endpoints

REST endpoints listen to any request that you or your data pipelines send us and respond with a json array of objects.

Our REST endpoints are called:

  • bookings
  • my_upcoming_bookings
  • teams_upcoming_bookings
  • create_membership_invitation
  • users (Coming Soon)
  • team_mates_in_office (Coming Soon)

Webhooks

Webhooks fire whenever certain actions occur within WiggleDesk, they send a json array of objects to a listening endpoint that you have set up to receive them.

  • event.added (Coming Soon)
  • event.new_event_in_organisation (Coming Soon)

Turning on API features

API access is turned off at an organisational level by default. Admin users can activate the API features via the API section of the 'Manage Organisation' page within their WiggleDesk account.

Organisation API Access

At this point users will need individual API access provisioned on a per individual basis. This is done via the 'Manage Users' page.

Secure Authorisation

API endpoints are authorised via secret tokens that are unique to each user.

Users can find their secret token via their profile page if API access has been turned on for their account.

It's important to handle these with the same amount of care as personal passwords as the tokens provide read and write access to your organisation's booking data and can provision user access.

Rate Limiting

We limit users to 1,000 requests per day, please contact support if you require this to be increased.

It's unlikely that you'll need to build data pipelines that continuously poll for updated events. We have built WebHooks which fire in real time when events such as new bookings are created. This gives you the latest data as and when changes are made, meaning your always up to date.

Writing your first API connection

For non developers

Please see our Zapier tutorial here.


For developers

Please see our 'My Upcoming Bookings' turorial here.

Read More


API - Adding Users

With hundreds of employees it can quickly become time consuming giving them access whenever someone joins. It's easy to automate adding users with our API.

EndPoint

https://wiggledesk.com/api/create_membership_invitation/

Overview

Our create_membership_invitation endpoint automates the invitations of new users to WiggleDesk.

If you have thousands of users it can incrementally add more overhead to your onboarding teams when getting them set up with internal services. WiggleDesk saves time by automating the provision of access to your spaces.

Behaviour

The API endpoint listens for POST requests containing an email addresses of users that you'd like to invite.

Shortly after (usually a few seconds), an email will be sent to the email provided, with an invitation to join your organisation's WiggleDesk account.

The invited user can then finalise their account settup either by creating a username/password or clicking 'sign on with Microsoft / Google'.

This is equivilent to inviting a user via our 'Manage Users' page:

Automating office access

Before We Begin

First grab your API key from your profile page. If you don't see it, you'll need to double check with a WiggleDesk Admin that your account has been given access and that the steps outlined in our 'Getting started' page have been followed.

WiggleDesk's API can be tested with httpie which is a basic http client written in Python.

You can install httpie using pip:

pip install httpie

Access API Via Code

The below example uses HTTPIE to illustrate how to connect to this endpoint. Simply swap out 'YOUR_SECRET_TOKEN' with your secret token and 'EXAMPLE@EXAMPLE.COM' with the email address of the user that you'd like to invite.

http POST https://wiggledesk.com/api/create_membership_invitation/ "Authorization: token YOUR_SECRET_TOKEN" email_invited=EXAMPLE@EXAMPLE.COM

Response

A successful response will return something like this:

HTTP/1.1 201 Created

Allow: POST, HEAD, OPTIONS

Content-Length: 119

Content-Type: application/json

Date: Tue, 14 Jun 2022 09:24:17 GMT

Location: https://wiggledesk.com/api/create_membership_invitation/membership_id/

Referrer-Policy: same-origin

Server: Google Frontend

Vary: Accept

X-Cloud-Trace-Context:

X-Content-Type-Options: nosniff

X-Frame-Options: SAMEORIGIN

{

"email_invited": "example@example.com",

"url": "https://wiggledesk.com/api/create_membership_invitation/membership_id/"

}

Access API Via Zapier

Coming Soon: Example of how we can listen to new users being added to a Teams directory and automatically inviting them to WiggleDesk.

Read More


API - Team's Upcoming Bookings

Find a team's upcoming bookings.

EndPoint

https://wiggledesk.com/api/teams_upcoming_bookings/

Overview

This endpoint returns all upcoming bookings for a specific team. This can be helpful to integrate with calendaring tools or build workflows highlighting a team's schedule.

Teams upcoming bookings

Behaviour

The API endpoint listens for GET requests, identifies which team the requester is looking for and returns data on all the team member's upcoming bookings that have an end date beyond the time of the request.

Before We Begin

First grab your API key from your profile page. If you don't see it, you'll need to double check with a WiggleDesk Admin that your account has been given access and that the steps outlined in our 'Getting started' page have been followed.

WiggleDesk's API can be tested with httpie which is a basic http client written in Python.

You can install httpie using pip:

pip install httpie

Access API Via Code

You can get a list of all your upcoming bookings by running this command in your command line / terminal (remember to swap out 'YOUR_SECRET_TOKEN' with your secret token and 'TEAM_NAME' with the name of the team). Note no apostrophees are used around the team_name parameters and no spaces around the equals sign:

http GET https://wiggledesk.com/api/teams_upcoming_bookings/ "Authorization: token YOUR_SECRET_TOKEN" team_name=TEAM_NAME

Response

It should return a json array like this (Assuming the team has any upcoming bookings):

HTTP/1.1 200 OK
“count": 3,
"next": null,
"previous": null,

"results":
[
{
"event_id": "1",
"event_desk": "11",
"start_date": "2022-08-27 09:00",
"end_date": "2022-08-27 17:00",

"user": "William",

"event_details": "Client meeting",

"booking_reason", "Other"
},
{
"event_id": "2",
"event_desk": "9",
"start_date": "2022-08-28 09:00",
"end_date": "2022-08-29 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},

{
"event_id": "3",
"event_desk": "13",
"start_date": "2022-08-30 09:00",
"end_date": "2022-08-30 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},
]

Access API Via ZAPIER

Coming Soon

Read More


API - Bookings

Find all your bookings, past, present and future.

EndPoint

https://wiggledesk.com/api/bookings/

Overview

This endpoint returns all your bookings; past, present and future. This can be helpful to integrate with calendaring tools or build workflows highlighting your upcoming schedule.

Past, present and future desk bookings

Behaviour

The API endpoint listens for GET requests, identifies who the request has come from and returns data on all the requester's bookings.

Before We Begin

First grab your API key from your profile page. If you don't see it, you'll need to double check with a WiggleDesk Admin that your account has been given access and that the steps outlined in our 'Getting started' page have been followed.

WiggleDesk's API can be tested with httpie which is a basic http client written in Python.

You can install httpie using pip:

pip install httpie

Access API Via Code

You can get a list of all your upcoming bookings by running this command in your command line / terminal (remember to swap out 'YOUR_SECRET_TOKEN' with your secret token):

http https://wiggledesk.com/api/bookings/ "Authorization: token YOUR_SECRET_TOKEN"

Response

It should return a json array like this (Assuming you have any bookings):

HTTP/1.1 200 OK
“count": 4,
"next": null,
"previous": null,

"results":
[
{
"event_id": "1",
"event_desk": "11",
"start_date": "2022-08-27 09:00",
"end_date": "2022-08-27 17:00",

"user": "William",

"event_details": "Client meeting",

"booking_reason", "Other"
},
{
"event_id": "2",
"event_desk": "9",
"start_date": "2022-08-28 09:00",
"end_date": "2022-08-29 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},

{
"event_id": "3",
"event_desk": "13",
"start_date": "2022-08-30 09:00",
"end_date": "2022-08-30 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},

{
"event_id": "4",
"event_desk": "9",
"start_date": "2022-08-20 09:00",
"end_date": "2022-08-24 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},
]

Access API Via ZAPIER

Coming Soon

Read More


API - My Upcoming Bookings

Find all your upcoming bookings.

EndPoint

https://wiggledesk.com/api/my_upcoming_bookings/

Overview

This endpoint returns all your upcoming bookings. This can be helpful to integrate with calendaring tools or build workflows highlighting your upcoming schedule.

Upcoming Desk Bookings

Behaviour

The API endpoint listens for GET requests, identifies who the request has come from and returns data on all the requester's upcoming bookings that have an end date beyond the time of the request.

Before We Begin

First grab your API key from your profile page. If you don't see it, you'll need to double check with a WiggleDesk Admin that your account has been given access and that the steps outlined in our 'Getting started' page have been followed.

WiggleDesk's API can be tested with httpie which is a basic http client written in Python.

You can install httpie using pip:

pip install httpie

Access API Via Code

You can get a list of all your upcoming bookings by running this command in your command line / terminal (remember to swap out 'YOUR_SECRET_TOKEN' with your secret token):

http https://wiggledesk.com/api/my_upcoming_bookings/ "Authorization: token YOUR_SECRET_TOKEN"

Response

It should return a json array like this (Assuming you have any upcoming bookings):

HTTP/1.1 200 OK
“count": 3,
"next": null,
"previous": null,

"results":
[
{
"event_id": "1",
"event_desk": "11",
"start_date": "2022-08-27 09:00",
"end_date": "2022-08-27 17:00",

"user": "William",

"event_details": "Client meeting",

"booking_reason", "Other"
},
{
"event_id": "2",
"event_desk": "9",
"start_date": "2022-08-28 09:00",
"end_date": "2022-08-29 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},

{
"event_id": "3",
"event_desk": "13",
"start_date": "2022-08-30 09:00",
"end_date": "2022-08-30 17:00",

"user": "William",

"event_details": "",

"booking_reason", "WFO"
},
]

Access API Via ZAPIER

Coming Soon

Read More


Users In Office

Find all users expected to be in office.

EndPoint

https://wiggledesk.com/api/users_in_office/

Overview

This endpoint returns all bookings happening today in your organisation. This can be helpful to quickly identify where people currently are expected to be.

Team mates in office

Behaviour

The API endpoint listens for GET requests, identifies which users are in the same organisation as the requester and returns data on all users bookings happening during the day of the request.

Before We Begin

First grab your API key from your profile page. If you don't see it, you'll need to double check with a WiggleDesk Admin that your account has been given access and that the steps outlined in our 'Getting started' page have been followed.

WiggleDesk's API can be tested with httpie which is a basic http client written in Python.

You can install httpie using pip:

pip install httpie

Access API Via Code

You can get a list of all your upcoming bookings by running this command in your command line / terminal (remember to swap out 'YOUR_SECRET_TOKEN' with your secret token:

http https://wiggledesk.com/api/users_in_office/ "Authorization: token YOUR_SECRET_TOKEN"

Response

It should return a json array like this (Assuming there are any current bookings):

HTTP/1.1 200 OK
“count": 3,
"next": null,
"previous": null,

"results":
[
{

"email": "william@test.com",

"username": "William"
},
{

"email": "susam@test.com",

"username": "Susan"
},

{

"email": "benjamin@test.com",

"username": "Benjamin"
},
]

Access API Via ZAPIER

Coming Soon

Read More


API - Removing Users

Save time in revoking booking permissions whenever someone leaves. Automate user removal with our API.

EndPoint

https://wiggledesk.com/api/remove_membership/

Overview

Our remove_membership endpoint automates the removal of existing users in WiggleDesk.

If you have thousands of users it can add more overhead to your offboarding teams when removing their set up with internal services. WiggleDesk saves time by automating the provision of access to your spaces.

Behaviour

The API endpoint listens for POST requests containing an email addresses of users that you'd like to remove.

The removed user's historical data will still exist but they will not be able to make new bookings.

This is equivilent to removing a user via our 'Manage Users' page:

Removed Users

Before We Begin

First grab your API key from your profile page. If you don't see it, you'll need to double check with a WiggleDesk Admin that your account has been given access and that the steps outlined in our 'Getting started' page have been followed.

WiggleDesk's API can be tested with httpie which is a basic http client written in Python.

You can install httpie using pip:

pip install httpie

Access API Via Code

The below example uses HTTPIE to illustrate how to connect to this endpoint. Simply swap out 'YOUR_SECRET_TOKEN' with your secret token and 'EXAMPLE@EXAMPLE.COM' with the email address of the user that you'd like to invite.

http POST https://wiggledesk.com/api/remove_membership/ "Authorization: token YOUR_SECRET_TOKEN" email_invited=EXAMPLE@EXAMPLE.COM

Response

A successful response will return something like this:

HTTP/1.1 201 Created

Allow: POST, HEAD, OPTIONS

Content-Length: 119

Content-Type: application/json

Date: Tue, 14 Jun 2022 09:24:17 GMT

Location: https://wiggledesk.com/api/remove_membership/membership_id/

Referrer-Policy: same-origin

Server: Google Frontend

Vary: Accept

X-Cloud-Trace-Context:

X-Content-Type-Options: nosniff

X-Frame-Options: SAMEORIGIN

{

"email_invited": "example@example.com",

"url": "https://wiggledesk.com/api/remove_membership/membership_id/"

}

Read More


Today's Interesting DataPoint

Did you know, according to a recent McKinsey study, 47% of all jobs in the UK alone can be performed at least 1 day a week at home, without losing any measurable productivity?


What is WiggleDesk?

WiggleDesk is the easiest way to roll out and manage hybrid working in your organisation.

Get set up in 10 minutes, more info here.