### GET /rest/v1/desks Source: https://api.envoy.com/rest/v1/index Retrieves a list of desks. ```APIDOC ## GET /rest/v1/desks ### Description Retrieves a list of desks. ### Method GET ### Endpoint /rest/v1/desks ### Response #### Success Response (200) - **data** (array) - An array of desk objects. - **id** (string) - The unique identifier for the desk. - **name** (string) - The name of the desk. - **createdAt** (string) - The timestamp when the desk was created. - **updatedAt** (string) - The timestamp when the desk was last updated. - **isAvailable** (boolean) - Indicates if the desk is currently available. - **enabled** (boolean) - Indicates if the desk is enabled. - **assignedTo** (string) - The ID of the user assigned to the desk. - **locationId** (string) - The ID of the location where the desk is situated. - **floorId** (string) - The ID of the floor where the desk is located. - **floorName** (string) - The name of the floor. - **neighborhoodId** (string) - The ID of the neighborhood the desk belongs to. - **neighborhoodName** (string) - The name of the neighborhood. - **xPos** (number) - The X coordinate of the desk on the floor plan. - **yPos** (number) - The Y coordinate of the desk on the floor plan. - **meta** (object) - Metadata about the response. - **relationships** (array) - An array of relationship strings. - **messages** (array) - An array of message strings. #### Response Example ```json { "data": [ { "id": "string", "name": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "enabled": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string", "xPos": 0, "yPos": 0 } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### Get Reservations API Endpoint and Query Parameters Source: https://api.envoy.com/rest/v1/index This snippet outlines the GET request for retrieving reservations from the API. It details the various query parameters available for filtering reservations, such as location, floor, user, date ranges, and status. The response structure for a successful retrieval is also shown. ```json { "data": [ { "id": "string", "type": "DESK", "startTime": "2019-08-24T14:15:22Z", "endTime": "2019-08-24T14:15:22Z", "checkedInAt": "2019-08-24T14:15:22Z", "checkedOutAt": "2019-08-24T14:15:22Z", "canceledAt": "2019-08-24T14:15:22Z", "space": { "id": "string", "name": "string", "type": "DESK", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string" }, "status": "PENDING", "reservedBy": { "id": "string", "type": "EMPLOYEE", "name": "string", "email": "string" }, "workScheduleId": "string" } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` -------------------------------- ### GET /rest/v1/spaces Source: https://api.envoy.com/rest/v1/index Retrieves a list of all spaces. Supports filtering by various parameters. ```APIDOC ## GET /rest/v1/spaces ### Description Retrieves a list of all spaces. Supports filtering by various parameters. ### Method GET ### Endpoint /rest/v1/spaces ### Parameters #### Query Parameters - **locationIds** (array of strings) - Filters spaces by location IDs. - **type** (string) - Filters spaces by type (e.g., 'DESK', 'ROOM'). - **neighborhoodIds** (array of strings) - Filters spaces by neighborhood IDs. - **floorIds** (array of strings) - Filters spaces by floor IDs. - **startDate** (string) - Filters spaces by a start date-time (UTC). - **endDate** (string) - Filters spaces by an end date-time (UTC). - **name** (string) - Filters spaces by name. - **page** (number) - Specifies the page number for pagination (must be greater than 0). - **perPage** (number) - Specifies the number of items per page (must be greater than 0). ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **data** (array of objects) - A list of space objects. - **id** (string) - The unique identifier for the space. - **name** (string) - The name of the space. - **type** (string) - The type of the space (e.g., 'DESK', 'ROOM'). - **createdAt** (string) - The timestamp when the space was created. - **updatedAt** (string) - The timestamp when the space was last updated. - **isAvailable** (boolean) - Indicates if the space is currently available. - **assignedTo** (string) - The identifier of the entity assigned to the space. - **locationId** (string) - The ID of the location where the space is situated. - **floorId** (string) - The ID of the floor where the space is situated. - **floorName** (string) - The name of the floor where the space is situated. - **neighborhoodId** (string) - The ID of the neighborhood within the location. - **neighborhoodName** (string) - The name of the neighborhood within the location. - **meta** (object) - Contains metadata about the response. - **relationships** (array of strings) - Information about related entities. - **messages** (array of strings) - Any messages associated with the response. #### Response Example ```json { "data": [ { "id": "string", "name": "string", "type": "DESK", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string" } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### GET /rest/v1/spaces Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Find available desks or rooms by location, floor, neighborhood, type, and time range with pagination. ```APIDOC ## GET /rest/v1/spaces ### Description Find available desks or rooms by location, floor, neighborhood, type, and time range with pagination. ### Method GET ### Endpoint /rest/v1/spaces ### Query Parameters - **locationIds[]** (array) - Required - The IDs of the locations to search within. - **type** (string) - Optional - The type of space to search for (e.g., 'DESK', 'ROOM'). - **floorIds[]** (array) - Optional - The IDs of the floors to search within. - **neighborhoodIds[]** (array) - Optional - The IDs of the neighborhoods to search within. - **startDate** (string) - Optional - The start date and time for availability (ISO 8601 format). - **endDate** (string) - Optional - The end date and time for availability (ISO 8601 format). - **name** (string) - Optional - Filter by space name. - **page** (integer) - Optional - The page number for pagination. - **perPage** (integer) - Optional - The number of items per page for pagination. ### Request Example ```bash curl -X GET "https://api.envoy.com/rest/v1/spaces?locationIds[]=loc_123&type=DESK&floorIds[]=floor_22&neighborhoodIds[]=nbhd_33&startDate=2024-01-20T09:00:00Z&endDate=2024-01-20T17:00:00Z&name=Desk&page=1&perPage=25" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" ``` ### Response #### Success Response (200) - **data** (array) - An array of space objects matching the criteria. - **meta** (object) - Metadata about the response, including pagination information. #### Response Example ```json { "data": [ { "id": "space_abc", "name": "Desk 1", "type": "DESK", "locationId": "loc_123", "floorId": "floor_22" } ], "meta": { "page": 1, "perPage": 25, "totalCount": 100 } } ``` ``` -------------------------------- ### GET /rest/v1/work-schedules Source: https://api.envoy.com/rest/v1/index Fetches a list of work schedules. Supports filtering by creation and arrival times, location IDs, user emails, and pagination. ```APIDOC ## GET /rest/v1/work-schedules ### Description Fetches a list of work schedules. Supports filtering by creation and arrival times, location IDs, user emails, and pagination. ### Method GET ### Endpoint /rest/v1/work-schedules ### Query Parameters - **createdAtAfter** (string) - Optional - A date-time string in UTC compliant with RFC 3339. - **createdAtBefore** (string) - Optional - A date-time string in UTC compliant with RFC 3339. - **expectedArrivalAtAfter** (string) - Optional - A date-time string in UTC compliant with RFC 3339. - **expectedArrivalAtBefore** (string) - Optional - A date-time string in UTC compliant with RFC 3339. - **locationIds** (Array of strings) - Optional - Filters by location IDs. - **userEmails** (Array of strings) - Optional - Filters by user emails. - **page** (number) - Optional - The page number for pagination (must be > 0). - **perPage** (number) - Optional - The number of items per page (must be > 0). ### Response #### Success Response (200) - **data** (Array of WorkSchedule) - A list of work schedule objects. - **meta** (object) - Metadata containing relationships and messages. #### Response Example ```json { "data": [ { "id": "string", "expectedArrivalAt": "2019-08-24T14:15:22Z", "expectedDepartureAt": "2019-08-24T14:15:22Z", "arrivedAt": "2019-08-24T14:15:22Z", "departedAt": "2019-08-24T14:15:22Z", "flowId": "string", "locationId": "string", "status": "PENDING", "registrationURL": "string", "scheduledFor": { "id": "string", "type": "EMPLOYEE", "name": "string", "email": "string" }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "reservations": [ "string" ] } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### Create Desk API Response Sample (JSON) Source: https://api.envoy.com/rest/v1/index This snippet shows a sample JSON response after successfully creating a desk. It returns the newly created desk's details, including its ID and other properties. ```json { "data": { "id": "string", "name": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "enabled": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string", "xPos": 0, "yPos": 0 }, "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` -------------------------------- ### Retrieve Single Space Details (Bash) Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Get information about a specific workspace, such as a desk or room, including its availability status and current assignment. This is done via a GET request to the space's endpoint. ```bash curl -X GET "https://api.envoy.com/rest/v1/spaces/space_789" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" ``` -------------------------------- ### Get Single Location using Envoy REST API Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Retrieves detailed information about a specific location, including its address, timezone, capacity, and branding elements. This GET request requires an authorization token and specifies JSON content type. ```bash curl -X GET "https://api.envoy.com/rest/v1/locations/loc_123" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" ``` -------------------------------- ### Create Desk API Request Payload Sample (JSON) Source: https://api.envoy.com/rest/v1/index This snippet provides a sample JSON payload for creating a new desk via the API. It requires essential details such as location, floor, name, and optionally assignment and position. ```json { "desk": { "locationId": "string", "floorId": "string", "name": "string", "neighborhoodId": "string", "assignedTo": "string", "enabled": true, "xPos": 0, "yPos": 0 } } ``` -------------------------------- ### Entry Response Sample (JSON) Source: https://api.envoy.com/rest/v1/index Example JSON structure for a successful response when fetching a single entry. Includes comprehensive details about the entry and associated data. ```json { "data": { "id": "string", "fullName": "string", "email": "string", "isDelivery": true, "agreementsStatus": "NOT_APPLICABLE", "nda": "string", "notes": "string", "signedOutAt": "2019-08-24T14:15:22Z", "signedInAt": "2019-08-24T14:15:22Z", "signedInVia": "string", "signedInBy": "string", "customFields": [ { "field": "string", "value": "string" } ], "host": { "name": "string", "email": "string" }, "invite": { "id": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "expectedArrivalAt": "2019-08-24T14:15:22Z", "expectedDepartureAt": "2019-08-24T14:15:22Z", "type": "string", "flowId": "string", "locationId": "string", "approvalStatus": "PENDING", "notes": "string", "customFields": [ { "field": "string", "value": "string" } ], "secretToken": "string", "sendEmailToInvitee": true, "invitee": { "name": "string", "email": "string" }, "host": { "name": "string", "email": "string" }, "photoUrl": "string" }, "flowId": "string", "locationId": "string" }, "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` -------------------------------- ### Get Space API Endpoint Source: https://api.envoy.com/rest/v1/index This snippet describes the GET endpoint for retrieving information about a specific space. Authentication via OAuth2 is required for this operation. No request body or specific query parameters are detailed for this endpoint in the provided text. -------------------------------- ### Create Desk - Bash Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Adds a new desk to the workspace inventory. Requires location, floor, neighborhood, and position details in the request body. Authorization and Content-Type headers are mandatory. ```bash curl -X POST "https://api.envoy.com/rest/v1/desks" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "desk": { "locationId": "loc_123", "floorId": "floor_22", "name": "Desk 15B", "neighborhoodId": "nbhd_33", "assignedTo": "emp_789", "enabled": true, "xPos": 300, "yPos": 450 } }' ``` -------------------------------- ### Get Single Recurring Invite using Envoy REST API Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Retrieves the configuration details for a single recurring invite, including its recurrence rule, associated invitee and host information, and generated invite IDs. This GET request requires authentication and specifies JSON content type. ```bash curl -X GET "https://api.envoy.com/rest/v1/recurring-invites/rec_789" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" ``` -------------------------------- ### Employee Response Sample (JSON) Source: https://api.envoy.com/rest/v1/index Example JSON structure for a successful response when fetching employee data. Includes employee details and metadata. ```json { "data": [ { "id": "string", "name": "string", "email": "string", "locationIds": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` -------------------------------- ### Desks API Source: https://api.envoy.com/rest/v1/index Endpoints for retrieving and creating desks. Supports filtering by various parameters and includes detailed response structures. ```APIDOC ## GET /rest/v1/desks ### Description Retrieves a list of desks with optional filtering capabilities. ### Method GET ### Endpoint /rest/v1/desks ### Parameters #### Query Parameters - **assignedTo** (string) - Optional - The assignee of the desk. - **locationIds** (Array of strings) - Optional - Filter by location IDs. - **floorIds** (Array of strings) - Optional - Filter by floor IDs. - **neighborhoodIds** (Array of strings) - Optional - Filter by neighborhood IDs. - **startDate** (string ) - Optional - Filter desks available from this date. - **endDate** (string ) - Optional - Filter desks available until this date. - **name** (string) - Optional - Filter by desk name. - **page** (number) - Optional - The page number for pagination. - **perPage** (number) - Optional - The number of results per page. ### Response #### Success Response (200) - **data** (Array) - Array of desk objects. - **id** (string) - Unique identifier for the desk. - **name** (string) - Name of the desk. - **createdAt** (string) - Timestamp when the desk was created. - **updatedAt** (string) - Timestamp when the desk was last updated. - **isAvailable** (boolean) - Indicates if the desk is currently available. - **enabled** (boolean) - Indicates if the desk is enabled. - **assignedTo** (string) - The user assigned to the desk. - **locationId** (string) - The ID of the location. - **floorId** (string) - The ID of the floor. - **floorName** (string) - The name of the floor. - **neighborhoodId** (string) - The ID of the neighborhood. - **neighborhoodName** (string) - The name of the neighborhood. - **xPos** (number) - X-coordinate position of the desk. - **yPos** (number) - Y-coordinate position of the desk. - **meta** (object) - Metadata about the response. - **relationships** (Array of strings) - Related entities. - **messages** (Array of strings) - Any messages related to the response. #### Response Example ```json { "data": [ { "id": "string", "name": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "enabled": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string", "xPos": 0, "yPos": 0 } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ## POST /rest/v1/desks ### Description Creates a new desk. ### Method POST ### Endpoint /rest/v1/desks ### Parameters #### Request Body - **desk** (object) - Required - Desk object containing properties to create the desk. - **locationId** (string) - Required - The ID of the location for the desk. - **floorId** (string) - Required - The ID of the floor for the desk. - **name** (string) - Optional - The name of the desk. - **neighborhoodId** (string) - Optional - The ID of the neighborhood. - **assignedTo** (string) - Optional - The user assigned to the desk. - **enabled** (boolean) - Optional - Whether the desk is enabled. - **xPos** (number) - Optional - The x-coordinate position. - **yPos** (number) - Optional - The y-coordinate position. ### Request Example ```json { "desk": { "locationId": "string", "floorId": "string", "name": "string", "neighborhoodId": "string", "assignedTo": "string", "enabled": true, "xPos": 0, "yPos": 0 } } ``` ### Response #### Success Response (200) - **data** (object) - The created desk object. - **id** (string) - Unique identifier for the desk. - **name** (string) - Name of the desk. - **createdAt** (string) - Timestamp when the desk was created. - **updatedAt** (string) - Timestamp when the desk was last updated. - **isAvailable** (boolean) - Indicates if the desk is currently available. - **enabled** (boolean) - Indicates if the desk is enabled. - **assignedTo** (string) - The user assigned to the desk. - **locationId** (string) - The ID of the location. - **floorId** (string) - The ID of the floor. - **floorName** (string) - The name of the floor. - **neighborhoodId** (string) - The ID of the neighborhood. - **neighborhoodName** (string) - The name of the neighborhood. - **xPos** (number) - X-coordinate position of the desk. - **yPos** (number) - Y-coordinate position of the desk. - **meta** (object) - Metadata about the response. - **relationships** (Array of strings) - Related entities. - **messages** (Array of strings) - Any messages related to the response. #### Response Example ```json { "data": { "id": "string", "name": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "enabled": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string", "xPos": 0, "yPos": 0 }, "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### GET /rest/v1/companies Source: https://api.envoy.com/rest/v1/index Retrieves a list of all companies associated with the account. ```APIDOC ## GET /rest/v1/companies ### Description Retrieves a list of all companies associated with the account. ### Method GET ### Endpoint /rest/v1/companies ### Response #### Success Response (200) - **data** (Array of objects) - A list of company objects. - **id** (string) - The unique identifier of the company. - **name** (string) - The name of the company. - **locationIds** (Array of strings) - A list of location IDs associated with the company. - **createdAt** (string) - The timestamp when the company was created (ISO 8601 format). - **updatedAt** (string) - The timestamp when the company was last updated (ISO 8601 format). - **subscriptions** (Array of objects) - Information about the company's subscriptions. - **id** (string) - The ID of the subscription. - **product** (string) - The name of the product subscribed to. - **features** (Array of strings) - A list of features included in the subscription. - **meta** (object) - Metadata about the response. - **relationships** (Array of strings) - Information about related resources. - **messages** (Array of strings) - Informational messages about the request. #### Response Example ```json { "data": [ { "id": "string", "name": "string", "locationIds": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "subscriptions": [ { "id": "string", "product": "string", "features": [ "string" ] } ] } ], "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### Create a New Reservation (Bash) Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Book a desk or room for an employee at a specified location and time range. This operation uses a POST request to the reservations endpoint, with reservation details included in the request body. ```bash curl -X POST "https://api.envoy.com/rest/v1/reservations" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "reservation": { "spaceId": "desk_789", "locationId": "loc_123", "spaceType": "DESK", "userEmail": "jane.smith@company.com", "startTime": "2024-01-22T09:00:00Z", "endTime": "2024-01-22T17:00:00Z", "workScheduleId": "ws_456" } }' ``` -------------------------------- ### GET /rest/v1/reservations/{id} Source: https://api.envoy.com/rest/v1/index Fetches a single reservation by its unique identifier. ```APIDOC ## GET /rest/v1/reservations/{id} ### Description Fetches a single reservation using its unique ID. ### Method GET ### Endpoint `/rest/v1/reservations/{id}` ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier for the reservation. ### Response #### Success Response (200) - **data** (object) - Contains the details of the reservation. - **id** (string) - The reservation ID. - **type** (string) - The type of reservation (e.g., DESK). - **startTime** (string) - The start time of the reservation in ISO 8601 format. - **endTime** (string) - The end time of the reservation in ISO 8601 format. - **checkedInAt** (string) - Timestamp when the reservation was checked in. - **checkedOutAt** (string) - Timestamp when the reservation was checked out. - **canceledAt** (string) - Timestamp when the reservation was canceled. - **space** (object) - Details about the space reserved. - **id** (string) - The ID of the space. - **name** (string) - The name of the space. - **type** (string) - The type of space (e.g., DESK). - **createdAt** (string) - Timestamp when the space was created. - **updatedAt** (string) - Timestamp when the space was last updated. - **isAvailable** (boolean) - Indicates if the space is available. - **assignedTo** (string) - Identifier of who the space is assigned to. - **locationId** (string) - The ID of the location. - **floorId** (string) - The ID of the floor. - **floorName** (string) - The name of the floor. - **neighborhoodId** (string) - The ID of the neighborhood. - **neighborhoodName** (string) - The name of the neighborhood. - **status** (string) - The current status of the reservation (e.g., PENDING). - **reservedBy** (object) - Information about the user who reserved the space. - **id** (string) - The ID of the user. - **type** (string) - The type of user (e.g., EMPLOYEE). - **name** (string) - The name of the user. - **email** (string) - The email of the user. - **workScheduleId** (string) - The ID of the associated work schedule. - **meta** (object) - Metadata associated with the response. - **relationships** (array) - List of relationships. - **messages** (array) - List of messages. #### Response Example ```json { "data": { "id": "string", "type": "DESK", "startTime": "2019-08-24T14:15:22Z", "endTime": "2019-08-24T14:15:22Z", "checkedInAt": "2019-08-24T14:15:22Z", "checkedOutAt": "2019-08-24T14:15:22Z", "canceledAt": "2019-08-24T14:15:22Z", "space": { "id": "string", "name": "string", "type": "DESK", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string" }, "status": "PENDING", "reservedBy": { "id": "string", "type": "EMPLOYEE", "name": "string", "email": "string" }, "workScheduleId": "string" }, "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### Create Reservation Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Book a desk or room for an employee, specifying the location, time range, and associated work schedule. ```APIDOC ## POST /rest/v1/reservations ### Description Creates a new reservation for a desk or room. Requires specifying the space, location, user, time frame, and optionally a work schedule. ### Method POST ### Endpoint /rest/v1/reservations ### Parameters #### Request Body - **reservation** (object) - Required - Contains the details for the new reservation. - **spaceId** (string) - Required - The ID of the space (desk or room) to reserve. - **locationId** (string) - Required - The ID of the location where the space is situated. - **spaceType** (string) - Required - The type of the space (e.g., "DESK", "ROOM"). - **userEmail** (string) - Required - The email address of the employee for whom the reservation is made. - **startTime** (string) - Required - The desired start time of the reservation in ISO 8601 format. - **endTime** (string) - Required - The desired end time of the reservation in ISO 8601 format. - **workScheduleId** (string) - Optional - The ID of the work schedule to associate with this reservation. ### Request Example ```json { "reservation": { "spaceId": "desk_789", "locationId": "loc_123", "spaceType": "DESK", "userEmail": "jane.smith@company.com", "startTime": "2024-01-22T09:00:00Z", "endTime": "2024-01-22T17:00:00Z", "workScheduleId": "ws_456" } } ``` ### Response #### Success Response (201 Created) - **reservation** (object) - Contains the details of the newly created reservation, typically with a "PENDING" status. #### Response Example ```json { "reservation": { "id": "res_1234", "spaceId": "desk_789", "locationId": "loc_123", "spaceType": "DESK", "userEmail": "jane.smith@company.com", "startTime": "2024-01-22T09:00:00Z", "endTime": "2024-01-22T17:00:00Z", "workScheduleId": "ws_456", "status": "PENDING", "createdAt": "2024-01-15T14:00:00Z", "updatedAt": "2024-01-15T14:00:00Z" } } ``` ``` -------------------------------- ### GET /rest/v1/desks/{id} Source: https://api.envoy.com/rest/v1/index Retrieves details for a specific desk by its ID. ```APIDOC ## GET /rest/v1/desks/{id} ### Description Retrieves details for a specific desk. ### Method GET ### Endpoint /rest/v1/desks/{id} ### Path Parameters - **id** (string) - Required - The unique identifier for the desk. ### Response #### Success Response (200) - **data** (object) - Details about the desk. - **id** (string) - The unique identifier for the desk. - **name** (string) - The name of the desk. - **createdAt** (string) - The timestamp when the desk was created. - **updatedAt** (string) - The timestamp when the desk was last updated. - **isAvailable** (boolean) - Indicates if the desk is currently available. - **enabled** (boolean) - Indicates if the desk is enabled. - **assignedTo** (string) - The ID of the user assigned to the desk. - **locationId** (string) - The ID of the location where the desk is situated. - **floorId** (string) - The ID of the floor where the desk is located. - **floorName** (string) - The name of the floor. - **neighborhoodId** (string) - The ID of the neighborhood the desk belongs to. - **neighborhoodName** (string) - The name of the neighborhood. - **xPos** (number) - The X coordinate of the desk on the floor plan. - **yPos** (number) - The Y coordinate of the desk on the floor plan. - **meta** (object) - Metadata about the response. - **relationships** (array) - An array of relationship strings. - **messages** (array) - An array of message strings. #### Response Example ```json { "data": { "id": "string", "name": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isAvailable": true, "enabled": true, "assignedTo": "string", "locationId": "string", "floorId": "string", "floorName": "string", "neighborhoodId": "string", "neighborhoodName": "string", "xPos": 0, "yPos": 0 }, "meta": { "relationships": [ "string" ], "messages": [ "string" ] } } ``` ``` -------------------------------- ### Create Desk Source: https://context7.com/context7/api_envoy_rest_v1/llms.txt Adds a new desk to your workspace inventory with location, floor, neighborhood, and position information. ```APIDOC ## POST /rest/v1/desks ### Description Add a new desk to your workspace inventory with location, floor, neighborhood, and position information. ### Method POST ### Endpoint /rest/v1/desks ### Parameters #### Request Body - **desk** (object) - Required - Object containing the desk details. - **locationId** (string) - Required - The ID of the location for the new desk. - **floorId** (string) - Required - The ID of the floor for the new desk. - **name** (string) - Required - The name of the new desk. - **neighborhoodId** (string) - Optional - The ID of the neighborhood the desk belongs to. - **assignedTo** (string) - Optional - The ID of the employee to initially assign the desk to. - **enabled** (boolean) - Optional - Whether the desk is enabled. Defaults to true. - **xPos** (integer) - Required - The X-coordinate of the desk on the floor plan. - **yPos** (integer) - Required - The Y-coordinate of the desk on the floor plan. ### Request Example ```json { "desk": { "locationId": "loc_123", "floorId": "floor_22", "name": "Desk 15B", "neighborhoodId": "nbhd_33", "assignedTo": "emp_789", "enabled": true, "xPos": 300, "yPos": 450 } } ``` ```bash curl -X POST "https://api.envoy.com/rest/v1/desks" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ ... }' ``` ### Response #### Success Response (201) - **data** (object) - The newly created desk object, including its ID and timestamps. - **meta** (object) - Metadata including relationships and messages. #### Response Example ```json { "data": { "id": "desk_101", "name": "Desk 15B", "createdAt": "2024-01-15T15:00:00Z", "updatedAt": "2024-01-15T15:00:00Z", "isAvailable": true, "enabled": true, "assignedTo": "emp_789", "locationId": "loc_123", "floorId": "floor_22", "floorName": "2nd Floor", "neighborhoodId": "nbhd_33", "neighborhoodName": "Engineering Pod", "xPos": 300, "yPos": 450 }, "meta": { "relationships": [], "messages": [] } } ``` ```