Skip to main content

Public API Documentation

API Documentation - Tickets, Visitor Management, Desk Booking

S
Written by Support

Public API Documentation

Authentication

To access the API, an AUTHORIZATION_TOKEN is required. This token can be generated and obtained from the settings page in our UI. Include this token in the header of your requests as follows:

Authorization: AUTHORIZATION_TOKEN

In order to create the Authorization Token, go to Settings → API Management.

Click on “Add new API Token” and assign a name for your new API Token. Save your changes.

Once you have your API Token created, you can click on the list item and copy your generated token value.

Endpoints

Locations

The locations endpoint allows you to retrieve locations from your business.

URL: https://public-api.eden.io/locations

Method: GET

Description: Retrieves locations associated with a business. By default returns only active floors and addresses. Supports filtering by type, parent location, and optionally including deactivated locations.

Headers: Include the Authorization header with your token.

Query Parameters:

  • type: Optional. Filter by location type. Values: floors_and_addresses (default when no parent_id), all, desks, rooms, floors, addresses. When parent_id is set, the default becomes all.

  • parent_id: Optional. Relay ID of a location. When set, returns sublocations of that location. The default type filter becomes all when this parameter is used.

  • include_deactivated: Optional. Set to true to include deactivated locations. Default: only active locations are returned.

Response Format:

[   {     "location_id": "TG9jYXRpb246MTIz",     "parent_id": "TG9jYXRpb246NDU2",     "title": "3rd Floor",     "location_type": "floor",     "deactivated_at": null,     "visitor_types": [       {         "visitor_type_id": "S25veDo6VmlzaXRvclR5cGU6MTIz",         "title": "Employee"       },       {         "visitor_type_id": "S25veDo6VmlzaXRvclR5cGU6NDU2",         "title": "Contractor"       }     ],     "parent": {       "location_id": "TG9jYXRpb246NDU2",       "parent_id": "AB9jYdXRpb246sNDU3",        "location_type": "address",        "deactivated_at": null,       "title": "Headquarters Building"     }   } ]

Notes:

  • Results include all locations accessible to the authenticated user's business.

  • Parent locations (like buildings) will have child locations (like floors) associated with them.

  • The parent_id will be null for top-level locations.

  • The visitor_types array contains available visitor types for each location, which is useful when creating visitor invites.

  • When no locations are found, the response will be: {"message": "No items found"}.

Reservations

The reservations endpoint allows you to retrieve reservations from your business's ticket boards.

URL: https://public-api.eden.io/cola_reservations

Method: GET

Description: Retrieves all active reservations for a specified date and location.

Headers: Include the Authorization header with your token.

Query Parameters:

  • page: Optional. Page number for pagination. Defaults to 1.

  • date: Optional. Format: YYYY-MM-DD. Defaults to today's date.

  • location_id: Optional. Filters reservations by location. When omitted, returns reservations for all business locations.

  • include_inactive_events: Optional. Given a true value, it includes canceled reservations. Default: false.

Response Format:

[   {     "cola_reservation_id": "Q29sYTo6UmVzZXJ2YXRpb246MTIz",     "start_at": "2023-06-01T09:00:00Z",     "end_at": "2023-06-01T10:00:00Z",     "checked_in_at": "2023-06-01T08:55:00Z",     "checked_out_at": "2023-06-01T10:05:00Z",     "status": "finished",     "owner": {       "customer_id": "Q3VzdG9tZXI6Nzg5",       "name": "John Smith",       "email": "[email protected]",       "job_title": "Product Manager",       "profile_image_uid": "profile_images/john_smith.jpg"     },     "location": {       "location_id": "TG9jYXRpb246NDU2",       "title": "Conference Room A",       "location_type": "Meeting Room"     }   } ]

Notes:

  • Results are paginated with 25 items per page.

  • Reservations are sorted by start time in ascending order.

  • When no reservations are found, the response will be: {"message": "No items found"}.

  • The status field indicates the current state of the reservation:

    • scheduled | in_progress | finished | cancelled | released

Access logs

The access logs endpoint allows you to retrieve access logs from your business locations.

URL: https://public-api.eden.io/access_logs

Method: GET

Description: Fetches all visitors logs for a given date and location.

Headers: Include the Authorization header with your token.

Query Parameters:

  • start_date: Optional. Format: YYYY-MM-DD. Defaults to today's date.

  • end_date: Optional. Defaults to one day after start_date. Format: YYYY-MM-DD

  • location_id: Optional. Filters reservations by location. When omitted, returns reservations for all business locations.

  • page: Optional. Page number for pagination. Defaults to 1.

Response Format:

[   {     "access_log_id": "S25veDo6QWNjZXNzTG9nOjEyMw==",     "point_of_contact": "Jane Doe",     "visitor_type_title": "Interview Candidate",     "formatted_reservation_date": "2023-06-01",     "formatted_time": "2023-06-01T14:00:00Z",     "formatted_exit_time": "2023-06-01T15:30:00Z",     "legal_document_status": "Signed",     "notes": "Candidate for Software Engineer position",     "guest": {       "guest_id": "S25veDo6R3Vlc3Q6NDU2",       "name": "Alex Johnson",       "email": "[email protected]",       "notes": "Arriving by car"     },     "location": {       "location_id": "TG9jYXRpb246Nzg5",       "title": "Headquarters",       "location_type": "Office Building"     }   } ]

Notes:

  • Results are sorted by reservation date and time in descending order (newest first).

  • The date range is limited to a maximum of 31 days between start_date and end_date.

  • When no access logs are found, the response will be: {"message": "No items found"}.

  • The legal_document_status indicates whether required documents were signed by the visitor.

    • Signed | Not Signed | Not Applicable

  • Time fields are formatted according to the business's timezone settings.

Create Visitor Invites

The visitor invites endpoint allows you to create invites for visitors to your business locations.

URL: https://public-api.eden.io/knox/invites

Method: POST

Description: Creates visitor invites for one or more guests to visit a specific location.

Headers: Include the Authorization header with your token.

Request Body Parameters:

{   "location_id": "TG9jYXRpb246NDU2",   "visitor_type_id": "S25veDo6VmlzaXRvclR5cGU6Nzg5",   "start_time": "2023-06-15T14:00:00Z",   "end_time": "2023-06-15T15:00:00Z",   "guests": [     {       "name": "John Smith",       "email": "[email protected]",       "company": "Acme Inc",       "notes": "Meeting about project collaboration",       "send_invite": true     }   ] }

Parameter Details:

  • location_id: Required. ID of the location where the visit will take place.

  • visitor_type_id: Required. ID of the visitor type for this invite.

  • start_time: Required. ISO 8601 formatted date and time when the visit begins.

  • end_time: Optional. ISO 8601 formatted date and time when the visit ends.

  • guests: Required. Array of guest information objects:

    • name: Required. Full name of the guest.

    • email: Required. Email address of the guest.

    • company: Optional. Company or organization the guest represents.

    • notes: Optional. Additional information about the guest or visit.

    • send_invite: Optional. Boolean indicating whether to send an email invitation to the guest.

Response Format:

{   "message": "Invite created successfully",   "invite": {     "id": 123,     "guest_name": "John Smith",     "guest_email": "[email protected]",     "location_name": "Headquarters Building",     "start_time": "2023-06-15T14:00:00Z",     "end_time": "2023-06-15T15:00:00Z",     "created_at": "2023-06-10T09:30:00Z"   } }

Notes:

  • The user making the API request must have permission to invite guests.

  • The visitor type must be valid for the specified location.

  • When send_invite is true, an email invitation will be sent to the guest automatically.

  • Multiple guests can be included in a single request to invite a group of people for the same visit.

Error Responses:

Status Code

Description

Example Response

401

Unauthorized

{"error": "invalid Authorization"}

403

Forbidden

{"error": "You do not have permission to invite guests"}

404

Not Found

{"error": "Location not found"}

422

Unprocessable Entity

{"error": "Invalid parameters"}

Tickets

The tickets endpoint allows you to retrieve tickets from your business's ticket boards.

URL: https://public-api.eden.io/quip/tickets

Method: GET

Description: Retrieves tickets from your business's ticket boards.

Headers: Include the Authorization header with your token.

Query Parameters:

  • page: Optional. Page number for pagination. Defaults to 1.

  • status: Optional. Filter tickets by status. Can be a column title, "deleted", or "archived".

  • assigned_to_id: Optional. Filter tickets by assignee ID (GraphQL relay ID format).

Response Format:

[   {     "ticket_id": "UXVpcDo6VGlja2V0OjEyMw==",     "title": "Fix printer in conference room",     "description": "The printer in the main conference room is not working properly.",     "status": "In Progress",     "created_at": "2023-05-15T10:30:00Z",     "updated_at": "2023-05-16T14:20:00Z",     "priority": {       "id": "UXVpcDo6UHJpb3JpdHk6Nzg5",       "name": "High"     },     "due_at": "2023-05-20T17:00:00Z",     "closed_at": null,     "archived_at": null,     "merged_at": null,     "deleted_at": null,     "location": {       "location_id": "TG9jYXRpb246NDU2",       "title": "Headquarters",       "parent_id": null     },     "assignee": {       "customer_id": "Q3VzdG9tZXI6NDU2",       "name": "Jane Doe",       "email": "[email protected]",       "job_title": "IT Support Specialist",       "profile_image_uid": "profile_images/jane_doe.jpg"     }   } ]

Notes:

  • Results are paginated with 50 items per page.

  • Tickets are sorted by creation date in descending order (newest first).

  • When no tickets are found, the response will be: {"message": "No items found"}.

  • The status parameter can be used to filter tickets by their column title or special statuses like "deleted" or "archived".

API Integration Patterns

The Eden Public API endpoints are designed to work together to enable common workflows. Here are some examples of how to use the endpoints together:

Visitor Invitation Workflow

  1. Get Available Locations: Use the GET /locations endpoint to retrieve a list of all locations and their respective visitor types.

  2. Create Visitor Invite: Use the POST /knox/invites endpoint to create an invitation for a visitor, utilizing the location_id and appropriate visitor_type_id obtained from the locations endpoint.

  3. View Visitor Logs: After the visit, use the GET /access_logs endpoint to retrieve information about the visit, filtering by date and location.

Workspace Management Workflow

  1. Browse Available Spaces: Use the GET /locations endpoint to get a list of all locations in your organization.

  2. Check Space Availability: Use the GET /cola_reservations endpoint with the desired date and location to see what reservations already exist.

  3. Monitor Space Usage: Use the GET /access_logs endpoint to track visitor activity in your locations over time.

Issue Tracking Workflow

  1. View Open Tickets: Use the GET /quip/tickets endpoint to retrieve tickets, filtering by status to focus on open issues.

  2. Associate Tickets with Locations: When resolving tickets, you can cross-reference the location_id fields returned from both the tickets and locations endpoints.

Did this answer your question?