Envoy Workplace Reservation API Guide


Work Schedules & Desk Reservations

This guide explains how to use Envoy’s Workplace APIs to:

  • Create a work schedule
  • Check in to a work schedule
  • Create a desk reservation
  • Check in to a desk reservation

All examples use curl and can be adapted as needed.


📘 Table of Contents


Overview

Envoy Workplace APIs allow you to schedule, check in, and optionally reserve desks for on-site work days.


Prerequisites

You will need:

  • An Envoy API Key
  • A valid location ID
  • Your user email
  • Desk booking features enabled (if using reservations)

Environment Variables

(Optional, but recommended for cleaner commands)

export ENVOY_API_KEY="xxxxx"
export ENVOY_LOCATION_ID="168651"
export ENVOY_USER_EMAIL="[email protected]"

Create a Work Schedule

Required for scheduling yourself into the workplace. API Docs: https://developers.envoy.com/hub/reference/createworkschedule

Endpoint: POST /v1/work-schedules

Request

curl --request POST \
  --url https://api.envoy.com/v1/work-schedules \
  --header "X-API-Key: $ENVOY_API_KEY" \
  --header "accept: application/json" \
  --header "content-type: application/json" \
  --data '
{
  "workSchedule": {
    "expectedArrivalAt": "2024-05-17T14:00:00.000Z",
    "locationId": "'$ENVOY_LOCATION_ID'",
    "email": "'$ENVOY_USER_EMAIL'"
  }
}

Response

{
  "data": {
    "id": "81502787",
    "expectedArrivalAt": "2024-05-17T14:00:00.000Z",
    "expectedDepartureAt": "2024-05-17T15:00:00.000Z",
    "arrivedAt": null,
    "departedAt": null,
    "flowId": "349490",
    "locationId": "168651",
    "status": "APPROVED",
    "registrationURL": "https://invites.envoy.com/invite/bU8YiuJjSzsFLsNrj1agMDRn/status",
    "createdAt": "2024-05-17T14:39:44.185Z",
    "updatedAt": "2024-05-17T14:39:44.185Z",
    "reservations": null,
    "scheduledFor": {
      "id": "9150484",
      "type": "EMPLOYEE",
      "name": "Brent Demo",
      "email": "[email protected]"
    }
  },
  "meta": {}
}

Check In Work Schedule

Docs: https://developers.envoy.com/hub/reference/checkinworkschedule

Request

curl --request POST \
     --url https://api.envoy.com/v1/work-schedules/81502787/checkin \
     --header 'X-API-Key: xxxxxxxxx'

Response

204 No Content

Create Desk Reservation

Docs: https://developers.envoy.com/hub/reference/createreservation

Request

curl --request POST \
     --url https://api.envoy.com/v1/reservations \
     --header 'X-API-Key: xxxxxxxxxx' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "reservation": {
    "locationId": "168651",
    "spaceType": "DESK",
    "userEmail": "[email protected]",
    "startTime": "2024-05-17T14:00:00.000Z"
  }
}

Check In Reservation

Docs: https://developers.envoy.com/hub/reference/checkinreservation

Request

curl --request POST \
     --url https://api.envoy.com/v1/reservations/d-25000865/checkin \
     --header 'X-API-Key: xxxxxxxxx'