Biamp Workplace GraphQL API
Public GraphQL API for integrating with Biamp Workplace. Query, mutate, and subscribe to Workplace resources using a typed, self-describing schema.
API Endpoints
# Production (US):
https://api.evoko.app/graphql
# Production (EU):
https://euapi.evoko.app/graphql
GraphQL basics
GraphQL is a query language for APIs. It lets clients request exactly the fields they need, which can reduce over-fetching and the number of round trips.
GraphQL schemas are strongly typed. Many teams use client-side GraphQL libraries to generate types and handle responses without manual parsing.
This API follows GraphQL’s recommended approach to being versionless: it evolves primarily through additive changes and deprecation rather than URL-based versions.
About this documentation
This reference is generated from the current Biamp Workplace GraphQL schema.
You can explore and test the API using our interactive GraphQL explorer: GraphQL Playground
If you need a machine-readable schema for tooling, you can export the schema in standard formats (SDL/IDL and JSON) using GraphQL introspection.
US and EU endpoints
Workplace is divided into two completely separate regions, each with its own database:
- US Organizations: use the US API endpoint
- EU Organizations: use the EU API endpoint
Important: The US and EU databases are entirely separate. Data is not shared between regions.
Queries to one region will not return data from the other, even if the schemas are identical.
User accounts are managed centrally via Zitadel, which is shared across regions. This means a user who has registered in one region can also log in to the other region, but all organizational and content data remains isolated within its region.
Authentication
Requests are authenticated by default using an access token.
Send it as a Bearer token in the Authorization header:
Authorization: Bearer <ACCESS_TOKEN>
Schema stability
The schema is additive and follows GraphQL best practices. Deprecated fields remain available unless otherwise communicated.
Examples
Below are example operations you can copy/paste and adapt.
1) Start by activating your user if you haven't already (this accepts data collection for the user. See https://www.biamp.com/legal/privacy-policy)
mutation ActivateUser {
activateUser {
id
}
}
2) Query your user profile to verify activation was successful
query MyProfile {
profile {
name
}
}
3) See profile organization memberships
query MyOrganizations {
profile {
name
memberships {
organization {
id
domain
}
}
}
}
4) Get places belonging to organization
query MyOrgsPlaces {
allPlaces(orgId: an orgId from the previous query) {
places {
id
name
placeTypeId
}
}
}
Queries
activeDeviceErrors
Response
Returns [DeviceEvent!]!
Example
Query
query activeDeviceErrors(
$id: ID!,
$limit: Int!,
$minSeverity: Int!
) {
activeDeviceErrors(
id: $id,
limit: $limit,
minSeverity: $minSeverity
) {
deviceId
orgId
eventType
data {
... on DeviceEventTelemetry {
...DeviceEventTelemetryFragment
}
... on DeviceEventStatus {
...DeviceEventStatusFragment
}
}
createdAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67", "limit": 10, "minSeverity": 2}
Response
{
"data": {
"activeDeviceErrors": [
{
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"eventType": "TELEMETRY",
"data": DeviceEventTelemetry,
"createdAt": "2007-12-03T10:15:30Z"
}
]
}
}
activeDeviceErrorsCount
Response
Returns [ActiveDeviceErrorCount!]!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
query activeDeviceErrorsCount($orgId: ID!) {
activeDeviceErrorsCount(orgId: $orgId) {
severity
count
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{"data": {"activeDeviceErrorsCount": [{"severity": 123, "count": 987}]}}
allBookings
Response
Returns a BookingsConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
|
offset - Int
|
|
order - [BookingOrder!]
|
|
filter - BookingFilter
|
Example
Query
query allBookings(
$limit: Int,
$offset: Int,
$order: [BookingOrder!],
$filter: BookingFilter
) {
allBookings(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
bookings {
...BookingFragment
}
}
}
Variables
{
"limit": 123,
"offset": 123,
"order": [BookingOrder],
"filter": BookingFilter
}
Response
{
"data": {
"allBookings": {
"pageInfo": PageInfo,
"totalCount": 123,
"bookings": [Booking]
}
}
}
allCalendarEvents
Description
List calendar events for a membership with optional filtering and ordering.
Authorization: calendar_calendarevents_list on Calendar(membershipId)
Response
Returns a CalendarEventsConnection!
Arguments
| Name | Description |
|---|---|
membershipId - ID!
|
|
filter - CalendarEventsFilter
|
|
order - [CalendarEventOrder!]!
|
Default = [{field: START_TIME}] |
pageSize - Int!
|
Default = 100 |
pageToken - String
|
Example
Query
query allCalendarEvents(
$membershipId: ID!,
$filter: CalendarEventsFilter,
$order: [CalendarEventOrder!]!,
$pageSize: Int!,
$pageToken: String
) {
allCalendarEvents(
membershipId: $membershipId,
filter: $filter,
order: $order,
pageSize: $pageSize,
pageToken: $pageToken
) {
events {
...CalendarEventFragment
}
nextPageToken
}
}
Variables
{
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filter": CalendarEventsFilter,
"order": [{"field": "START_TIME"}],
"pageSize": 100,
"pageToken": "xyz789"
}
Response
{
"data": {
"allCalendarEvents": {
"events": [CalendarEvent],
"nextPageToken": "xyz789"
}
}
}
allCalendarSources
Description
List all calendar sources for an organization.
Authorization: calendar_calendarsources_list on Organization(orgId)
Response
Returns a CalendarSourcesConnection!
Example
Query
query allCalendarSources(
$orgId: ID!,
$pageToken: String,
$pageSize: Int!
) {
allCalendarSources(
orgId: $orgId,
pageToken: $pageToken,
pageSize: $pageSize
) {
sources {
...CalendarSourceFragment
}
nextPageToken
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"pageToken": "xyz789",
"pageSize": 100
}
Response
{
"data": {
"allCalendarSources": {
"sources": [CalendarSource],
"nextPageToken": "abc123"
}
}
}
allCalendars
Description
List all calendars in an organization with optional filtering.
Authorization: calendar_calendars_list on CalendarSource(srcId)
Response
Returns a CalendarsConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
filter - CalendarsFilter
|
|
pageToken - String
|
|
pageSize - Int!
|
Default = 100 |
Example
Query
query allCalendars(
$orgId: ID!,
$filter: CalendarsFilter,
$pageToken: String,
$pageSize: Int!
) {
allCalendars(
orgId: $orgId,
filter: $filter,
pageToken: $pageToken,
pageSize: $pageSize
) {
calendars {
...CalendarFragment
}
nextPageToken
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filter": CalendarsFilter,
"pageToken": "abc123",
"pageSize": 100
}
Response
{
"data": {
"allCalendars": {
"calendars": [Calendar],
"nextPageToken": "xyz789"
}
}
}
allChannels
Description
List all firmware channels with pagination and ordering support.
Authorization: firmware_channel_list on Platform
Response
Returns a ChannelsConnection!
Arguments
| Name | Description |
|---|---|
limit - Int!
|
Default = 20 |
offset - Int!
|
Default = 0 |
order - [ChannelOrder!]
|
Example
Query
query allChannels(
$limit: Int!,
$offset: Int!,
$order: [ChannelOrder!]
) {
allChannels(
limit: $limit,
offset: $offset,
order: $order
) {
pageInfo {
...PageInfoFragment
}
totalCount
channels {
...ChannelFragment
}
}
}
Variables
{"limit": 20, "offset": 0, "order": [ChannelOrder]}
Response
{
"data": {
"allChannels": {
"pageInfo": PageInfo,
"totalCount": 123,
"channels": [Channel]
}
}
}
allColleagues
Description
List all colleagues in an organization with optional search and ordering.
Authorization: colleague_colleagues_list on Organization(orgId)
Response
Returns a ColleaguesConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
pageToken - String
|
|
pageSize - Int!
|
Default = 100 |
order - [ColleagueOrder!]
|
|
filter - ColleagueFilter
|
Example
Query
query allColleagues(
$orgId: ID!,
$pageToken: String,
$pageSize: Int!,
$order: [ColleagueOrder!],
$filter: ColleagueFilter
) {
allColleagues(
orgId: $orgId,
pageToken: $pageToken,
pageSize: $pageSize,
order: $order,
filter: $filter
) {
colleagues {
...ColleagueFragment
}
nextPageToken
totalCount
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"pageToken": "xyz789",
"pageSize": 100,
"order": [ColleagueOrder],
"filter": ColleagueFilter
}
Response
{
"data": {
"allColleagues": {
"colleagues": [Colleague],
"nextPageToken": "xyz789",
"totalCount": 123
}
}
}
allDeviceEvents
Response
Returns a DeviceEventConnection!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
limit - Int
|
|
offset - Int
|
|
order - [DeviceEventOrder!]
|
|
filter - DeviceEventFilter
|
Example
Query
query allDeviceEvents(
$id: ID!,
$limit: Int,
$offset: Int,
$order: [DeviceEventOrder!],
$filter: DeviceEventFilter
) {
allDeviceEvents(
id: $id,
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
deviceEvents {
...DeviceEventFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 123,
"offset": 987,
"order": [DeviceEventOrder],
"filter": DeviceEventFilter
}
Response
{
"data": {
"allDeviceEvents": {
"pageInfo": PageInfo,
"totalCount": 123,
"deviceEvents": [DeviceEvent]
}
}
}
allDeviceTypes
Description
List all device types available in the platform.
Authorization: Authentication required; no SpiceDB permission check (any authenticated subject)
Response
Returns [DeviceType!]!
Example
Query
query allDeviceTypes {
allDeviceTypes {
id
name
attributes {
...DeviceTypeAttributesFragment
}
}
}
Response
{
"data": {
"allDeviceTypes": [
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"attributes": DeviceTypeAttributes
}
]
}
}
allDevices
Description
List all devices with pagination, filtering, and ordering support.
Authorization: device_devices_list on Organization(orgId) when filtering by single organization, or device_devices_list on Platform for cross-organization queries
Response
Returns a DevicesConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
Default = 50 |
offset - Int
|
|
order - [DeviceOrder!]
|
|
filter - DeviceFilter
|
Example
Query
query allDevices(
$limit: Int,
$offset: Int,
$order: [DeviceOrder!],
$filter: DeviceFilter
) {
allDevices(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
devices {
...DeviceFragment
}
}
}
Variables
{
"limit": 50,
"offset": 123,
"order": [DeviceOrder],
"filter": DeviceFilter
}
Response
{
"data": {
"allDevices": {
"pageInfo": PageInfo,
"totalCount": 987,
"devices": [Device]
}
}
}
allFacilities
Description
List all available facilities.
Authorization: No authorization check (public)
Response
Returns [Facility]!
Example
Query
query allFacilities {
allFacilities {
id
name
category
iconPath
}
}
Response
{
"data": {
"allFacilities": [
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"category": "xyz789",
"iconPath": "abc123"
}
]
}
}
allFeatureFlags
Response
Returns [FeatureFlag!]!
Example
Query
query allFeatureFlags {
allFeatureFlags {
id
value
description
}
}
Response
{
"data": {
"allFeatureFlags": [
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"value": true,
"description": "xyz789"
}
]
}
}
allFileTypes
Description
List all file types in the system.
Authorization: file_types_list on Platform
Response
Returns [FileType!]!
Example
Query
query allFileTypes {
allFileTypes {
id
fileType
}
}
Response
{
"data": {
"allFileTypes": [
{
"id": "LAUNCH_REPORT",
"fileType": "xyz789"
}
]
}
}
allFiles
Description
List files for an organization with filtering and offset-based pagination. Only files in uploaded status are returned, ordered by createdAt DESC.
Authorization: file_files_list on Organization(orgId)
Response
Returns a FilesConnection!
Arguments
| Name | Description |
|---|---|
input - AllFilesInput!
|
Example
Query
query allFiles($input: AllFilesInput!) {
allFiles(input: $input) {
files {
...FileFragment
}
totalCount
pageInfo {
...PageInfoFragment
}
}
}
Variables
{"input": AllFilesInput}
Response
{
"data": {
"allFiles": {
"files": [File],
"totalCount": 123,
"pageInfo": PageInfo
}
}
}
allFirmwares
Description
List all firmware versions with pagination, filtering, and ordering support.
Authorization: firmware_firmware_list on Platform
Response
Returns a FirmwaresConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
|
offset - Int
|
|
order - [FirmwareOrder!]
|
|
filter - FirmwareFilter
|
Example
Query
query allFirmwares(
$limit: Int,
$offset: Int,
$order: [FirmwareOrder!],
$filter: FirmwareFilter
) {
allFirmwares(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
firmwares {
...FirmwareFragment
}
}
}
Variables
{
"limit": 987,
"offset": 123,
"order": [FirmwareOrder],
"filter": FirmwareFilter
}
Response
{
"data": {
"allFirmwares": {
"pageInfo": PageInfo,
"totalCount": 987,
"firmwares": [Firmware]
}
}
}
allIDTags
Description
List all ID tags with optional filtering and ordering.
Authorization: idtag_idtags_list on Membership, Organization(orgId), or Platform (depending on filters)
Response
Returns an IDTagsConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID
|
|
userId - ID
|
|
limit - Int
|
|
offset - Int
|
|
order - [IDTagOrder!]
|
Example
Query
query allIDTags(
$orgId: ID,
$userId: ID,
$limit: Int,
$offset: Int,
$order: [IDTagOrder!]
) {
allIDTags(
orgId: $orgId,
userId: $userId,
limit: $limit,
offset: $offset,
order: $order
) {
pageInfo {
...PageInfoFragment
}
totalCount
idTags {
...IDTagFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 987,
"offset": 987,
"order": [IDTagOrder]
}
Response
{
"data": {
"allIDTags": {
"pageInfo": PageInfo,
"totalCount": 987,
"idTags": [IDTag]
}
}
}
allInvitations
Response
Returns an InvitationsConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID
|
|
limit - Int
|
|
offset - Int
|
|
order - [InvitationOrder!]
|
|
filter - InvitationFilter
|
Example
Query
query allInvitations(
$orgId: ID,
$limit: Int,
$offset: Int,
$order: [InvitationOrder!],
$filter: InvitationFilter
) {
allInvitations(
orgId: $orgId,
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
invitations {
...InvitationFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 123,
"offset": 987,
"order": [InvitationOrder],
"filter": InvitationFilter
}
Response
{
"data": {
"allInvitations": {
"pageInfo": PageInfo,
"totalCount": 987,
"invitations": [Invitation]
}
}
}
allLicenseAssociations
Description
List license associations (place or device assignments).
Authorization: license_licenseassociation_list on License(licenseId), or entity-type-specific permission on the bound entity depending on filter
Response
Returns a LicenseAssociationsConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
Default = 20 |
offset - Int
|
Default = 0 |
filter - LicenseAssociationFilter
|
Example
Query
query allLicenseAssociations(
$limit: Int,
$offset: Int,
$filter: LicenseAssociationFilter
) {
allLicenseAssociations(
limit: $limit,
offset: $offset,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
licenseAssociations {
...LicenseAssociationFragment
}
}
}
Variables
{
"limit": 20,
"offset": 0,
"filter": LicenseAssociationFilter
}
Response
{
"data": {
"allLicenseAssociations": {
"pageInfo": PageInfo,
"totalCount": 987,
"licenseAssociations": [LicenseAssociation]
}
}
}
allLicenseTypes
Description
List all license types available in the platform.
Authorization: license_licensetypes_list on Platform
Response
Returns a LicenseTypesConnection
Arguments
| Name | Description |
|---|---|
limit - Int
|
|
offset - Int
|
|
filter - LicenseTypeFilter
|
Example
Query
query allLicenseTypes(
$limit: Int,
$offset: Int,
$filter: LicenseTypeFilter
) {
allLicenseTypes(
limit: $limit,
offset: $offset,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
licenseTypes {
...LicenseTypeFragment
}
}
}
Variables
{"limit": 987, "offset": 123, "filter": LicenseTypeFilter}
Response
{
"data": {
"allLicenseTypes": {
"pageInfo": PageInfo,
"totalCount": 123,
"licenseTypes": [LicenseType]
}
}
}
allLicenses
Description
List licenses with pagination, filtering, and ordering support.
Authorization: license_licenses_list on Organization(orgId) when filtering by single organization, or license_licenses_list on Platform for cross-organization queries
Response
Returns a LicensesConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID
|
|
limit - Int
|
|
offset - Int
|
|
order - [LicenseOrder!]
|
|
filter - LicenseFilter
|
Example
Query
query allLicenses(
$orgId: ID,
$limit: Int,
$offset: Int,
$order: [LicenseOrder!],
$filter: LicenseFilter
) {
allLicenses(
orgId: $orgId,
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
licenses {
...LicenseFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 123,
"offset": 123,
"order": [LicenseOrder],
"filter": LicenseFilter
}
Response
{
"data": {
"allLicenses": {
"pageInfo": PageInfo,
"totalCount": 123,
"licenses": [License]
}
}
}
allMemberships
Description
List all memberships for an organization with filtering and pagination.
Requires: Organization membership with list permission
Response
Returns a MembershipsConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
limit - Int
|
|
offset - Int
|
|
order - [MembershipOrder!]
|
|
filter - MembershipFilter
|
Example
Query
query allMemberships(
$orgId: ID!,
$limit: Int,
$offset: Int,
$order: [MembershipOrder!],
$filter: MembershipFilter
) {
allMemberships(
orgId: $orgId,
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
memberships {
...MembershipFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 987,
"offset": 987,
"order": [MembershipOrder],
"filter": MembershipFilter
}
Response
{
"data": {
"allMemberships": {
"pageInfo": PageInfo,
"totalCount": 123,
"memberships": [Membership]
}
}
}
allOrganizationMessages
Response
Returns an OrganizationMessagesConnection!
Arguments
| Name | Description |
|---|---|
limit - Int!
|
Default = 25 |
offset - Int
|
|
order - [OrganizationMessageOrder!]
|
|
filter - OrganizationMessageFilter
|
Example
Query
query allOrganizationMessages(
$limit: Int!,
$offset: Int,
$order: [OrganizationMessageOrder!],
$filter: OrganizationMessageFilter
) {
allOrganizationMessages(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
organizationMessages {
...OrganizationMessageFragment
}
}
}
Variables
{
"limit": 25,
"offset": 123,
"order": [OrganizationMessageOrder],
"filter": OrganizationMessageFilter
}
Response
{
"data": {
"allOrganizationMessages": {
"pageInfo": PageInfo,
"totalCount": 123,
"organizationMessages": [OrganizationMessage]
}
}
}
allOrganizations
Description
List all organizations with pagination, filtering, and ordering support.
Authorization: organization_organizations_list on Platform
Response
Returns an OrganizationsConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
|
offset - Int
|
|
order - [OrganizationOrder!]
|
|
filter - OrganizationFilter
|
Example
Query
query allOrganizations(
$limit: Int,
$offset: Int,
$order: [OrganizationOrder!],
$filter: OrganizationFilter
) {
allOrganizations(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
organizations {
...OrganizationFragment
}
}
}
Variables
{
"limit": 123,
"offset": 987,
"order": [OrganizationOrder],
"filter": OrganizationFilter
}
Response
{
"data": {
"allOrganizations": {
"pageInfo": PageInfo,
"totalCount": 123,
"organizations": [Organization]
}
}
}
allOverviews
Response
Returns an OverviewsConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
limit - Int
|
|
offset - Int
|
|
order - [OverviewOrder!]
|
|
filter - OverviewFilter
|
Example
Query
query allOverviews(
$orgId: ID!,
$limit: Int,
$offset: Int,
$order: [OverviewOrder!],
$filter: OverviewFilter
) {
allOverviews(
orgId: $orgId,
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
overviews {
...OverviewFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 123,
"offset": 123,
"order": [OverviewOrder],
"filter": OverviewFilter
}
Response
{
"data": {
"allOverviews": {
"pageInfo": PageInfo,
"totalCount": 123,
"overviews": [Overview]
}
}
}
allPlaceFeatureInstances
Response
Returns a PlaceFeatureInstanceConnection!
Arguments
| Name | Description |
|---|---|
filter - PlaceFeatureInstanceFilter!
|
|
limit - Int!
|
Default = 10 |
offset - Int!
|
Default = 0 |
Example
Query
query allPlaceFeatureInstances(
$filter: PlaceFeatureInstanceFilter!,
$limit: Int!,
$offset: Int!
) {
allPlaceFeatureInstances(
filter: $filter,
limit: $limit,
offset: $offset
) {
placeFeatureInstances {
...PlaceFeatureInstanceFragment
}
totalCount
}
}
Variables
{
"filter": PlaceFeatureInstanceFilter,
"limit": 10,
"offset": 0
}
Response
{
"data": {
"allPlaceFeatureInstances": {
"placeFeatureInstances": [PlaceFeatureInstance],
"totalCount": 123
}
}
}
allPlaceFeatures
Response
Returns a PlaceFeatureConnection!
Example
Query
query allPlaceFeatures(
$limit: Int,
$offset: Int
) {
allPlaceFeatures(
limit: $limit,
offset: $offset
) {
placeFeatures {
...PlaceFeatureFragment
}
totalCount
}
}
Variables
{"limit": 100, "offset": 0}
Response
{
"data": {
"allPlaceFeatures": {
"placeFeatures": [PlaceFeature],
"totalCount": 123
}
}
}
allPlaceTypes
Response
Returns [PlaceType!]
Example
Query
query allPlaceTypes {
allPlaceTypes {
id
name
createdAt
updatedAt
}
}
Response
{
"data": {
"allPlaceTypes": [
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
]
}
}
allPlaces
Description
Query all places within an organization.
When using the availability filter, unlicensed locations are automatically filtered out on the backend. Only licensed places will be returned in the results.
Response
Returns a PlacesConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
limit - Int
|
|
offset - Int
|
|
order - [PlaceOrder!]
|
|
filter - PlaceFilter
|
Example
Query
query allPlaces(
$orgId: ID!,
$limit: Int,
$offset: Int,
$order: [PlaceOrder!],
$filter: PlaceFilter
) {
allPlaces(
orgId: $orgId,
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
places {
...PlaceFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"limit": 123,
"offset": 123,
"order": [PlaceOrder],
"filter": PlaceFilter
}
Response
{
"data": {
"allPlaces": {
"pageInfo": PageInfo,
"totalCount": 123,
"places": [Place]
}
}
}
allRoomBookings
Response
Returns a RoomBookingsConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
Default = 20 |
offset - Int
|
Default = 0 |
order - [RoomBookingOrder!]
|
|
filter - RoomBookingFilter
|
Example
Query
query allRoomBookings(
$limit: Int,
$offset: Int,
$order: [RoomBookingOrder!],
$filter: RoomBookingFilter
) {
allRoomBookings(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
bookings {
...RoomBookingFragment
}
}
}
Variables
{
"limit": 20,
"offset": 0,
"order": [RoomBookingOrder],
"filter": RoomBookingFilter
}
Response
{
"data": {
"allRoomBookings": {
"pageInfo": PageInfo,
"totalCount": 123,
"bookings": [RoomBooking]
}
}
}
allUsers
Description
Returns list of all users
Response
Returns a UsersConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
|
offset - Int
|
|
order - [UserOrder!]
|
|
filter - UserFilter
|
Example
Query
query allUsers(
$limit: Int,
$offset: Int,
$order: [UserOrder!],
$filter: UserFilter
) {
allUsers(
limit: $limit,
offset: $offset,
order: $order,
filter: $filter
) {
pageInfo {
...PageInfoFragment
}
totalCount
users {
...UserFragment
}
}
}
Variables
{
"limit": 987,
"offset": 123,
"order": [UserOrder],
"filter": UserFilter
}
Response
{
"data": {
"allUsers": {
"pageInfo": PageInfo,
"totalCount": 987,
"users": [User]
}
}
}
calendar
Description
Retrieve the calendar for a specific membership.
Authorization: calendar_calendars_get on Calendar(membershipId)
Example
Query
query calendar($membershipId: ID!) {
calendar(membershipId: $membershipId) {
id
createdAt
updatedAt
remoteId
remoteData
remoteSubId
remoteSubExpiresAt
syncToken
sourceId
label
membershipId
resourceID
isResource
}
}
Variables
{"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"calendar": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "abc123",
"remoteSubId": "xyz789",
"remoteSubExpiresAt": "2007-12-03T10:15:30Z",
"syncToken": "abc123",
"sourceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"label": "xyz789",
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"resourceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"isResource": true
}
}
}
calendarEvent
Description
Retrieve a specific calendar event by ID.
Authorization: calendar_calendarevents_get on CalendarEvent(eventId)
Response
Returns a CalendarEvent!
Arguments
| Name | Description |
|---|---|
eventId - ID!
|
Example
Query
query calendarEvent($eventId: ID!) {
calendarEvent(eventId: $eventId) {
id
name
calendarId
timesSynced
remoteId
remoteData
isRecurring
isWholeDay
sensitivity
startTime
endTime
createdAt
updatedAt
attendees {
...AttendeeFragment
}
meetingUrl
creator
iCalUID
meetingProvider
}
}
Variables
{"eventId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"calendarEvent": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"calendarId": "xyz789",
"timesSynced": 987,
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "xyz789",
"isRecurring": true,
"isWholeDay": true,
"sensitivity": "PRIVATE",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attendees": [Attendee],
"meetingUrl": "xyz789",
"creator": "abc123",
"iCalUID": "abc123",
"meetingProvider": "UNSPECIFIED"
}
}
}
calendarSource
Description
Retrieve a calendar source configuration by ID.
Authorization: calendar_calendarsources_get on CalendarSource(srcId)
Response
Returns a CalendarSource!
Arguments
| Name | Description |
|---|---|
srcId - ID!
|
Example
Query
query calendarSource($srcId: ID!) {
calendarSource(srcId: $srcId) {
id
createdAt
updatedAt
orgId
settings
provider
resourceAdmin
syncedAt
syncErrors
}
}
Variables
{"srcId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"calendarSource": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"orgId": "abc123",
"settings": "xyz789",
"provider": "GOOGLE",
"resourceAdmin": "abc123",
"syncedAt": "2007-12-03T10:15:30Z",
"syncErrors": ["xyz789"]
}
}
}
colleagueFacets
Description
Get facets for colleagues in an organization.
Authorization: colleague_colleagues_list on Organization(orgId)
Response
Returns a ColleagueFacets!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
query colleagueFacets($orgId: ID!) {
colleagueFacets(orgId: $orgId) {
departments {
...FacetValueFragment
}
cities {
...FacetValueFragment
}
countryCodes {
...FacetValueFragment
}
employeeTypes {
...FacetValueFragment
}
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"colleagueFacets": {
"departments": [FacetValue],
"cities": [FacetValue],
"countryCodes": [FacetValue],
"employeeTypes": [FacetValue]
}
}
}
desk
Example
Query
query desk($id: ID!) {
desk(id: $id) {
id
orgId
name
deskType
bookingCount
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
floor {
...FloorFragment
}
presenceDetection
available {
...AvailabilityFragment
}
timeZone
timeZoneOffset
timePresentation
settings {
...DeskBookingSettingsFragment
}
createdAt
updatedAt
license {
...LicenseFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"desk": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"deskType": "HOT",
"bookingCount": 123,
"currentBooking": Booking,
"nextBooking": Booking,
"floor": Floor,
"presenceDetection": true,
"available": Availability,
"timeZone": "abc123",
"timeZoneOffset": 123,
"timePresentation": "H24",
"settings": DeskBookingSettings,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License
}
}
}
device
Description
Retrieve a specific device by ID.
Authorization: device_devices_get on Device(id)
Example
Query
query device($id: ID!) {
device(id: $id) {
id
type {
...DeviceTypeFragment
}
serial
assignedFirmware {
...FirmwareFragment
}
latestFirmware {
...FirmwareFragment
}
nextFirmware {
...FirmwareFragment
}
firmwarePublicKey
firmwareVariant
channel {
...ChannelFragment
}
place {
...PlaceFragment
}
placeId
desk {
...DeskFragment
}
deskId
room {
...RoomFragment
}
roomId
status {
...DeviceStatusFragment
}
language
timezone
orgName
orgId
parent {
...DeviceFragment
}
children {
...DeviceFragment
}
activeHours {
...WeeklyOpenHoursFragment
}
createdAt
updatedAt
attributes {
...DeviceAttributesFragment
}
state
activeError {
...DeviceEventStatusFragment
}
activeDeviceErrors {
...DeviceEventFragment
}
interfaces {
...NetworkInterfaceFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"device": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "xyz789",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "xyz789",
"firmwareVariant": "abc123",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "abc123",
"timezone": "abc123",
"orgName": "xyz789",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
}
}
deviceCountByState
Response
Returns [DeviceCountByState!]!
Arguments
| Name | Description |
|---|---|
orgID - ID!
|
Example
Query
query deviceCountByState($orgID: ID!) {
deviceCountByState(orgID: $orgID) {
state
count
}
}
Variables
{"orgID": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{"data": {"deviceCountByState": [{"state": "UNPROVISIONED", "count": 987}]}}
deviceMetrics
Response
Returns [MetricVector!]!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
deviceId - ID
|
|
input - MetricQueryInput
|
Example
Query
query deviceMetrics(
$orgId: ID!,
$deviceId: ID,
$input: MetricQueryInput
) {
deviceMetrics(
orgId: $orgId,
deviceId: $deviceId,
input: $input
) {
name
label
values {
...MetricValueFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": MetricQueryInput
}
Response
{
"data": {
"deviceMetrics": [
{
"name": "abc123",
"label": "xyz789",
"values": [MetricValue]
}
]
}
}
deviceSpecificSettings
Description
Returns the device specific settings for a given device id and preset
Response
Returns a DeviceSpecificSettings!
Example
Query
query deviceSpecificSettings(
$deviceID: ID!,
$preset: ID!
) {
deviceSpecificSettings(
deviceID: $deviceID,
preset: $preset
) {
id
deviceID
preset
data
dataVersion
createdAt
updatedAt
}
}
Variables
{
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{
"data": {
"deviceSpecificSettings": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "abc123",
"data": "xyz789",
"dataVersion": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deviceStatistics
Response
Returns a DeviceStatistics
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
filter - DeviceStatisticsFilter
|
Example
Query
query deviceStatistics(
$orgId: ID!,
$filter: DeviceStatisticsFilter
) {
deviceStatistics(
orgId: $orgId,
filter: $filter
) {
cpuUtilization {
...DeviceStatisticsDistributionFragment
}
temperature {
...DeviceStatisticsDistributionFragment
}
errors {
...DeviceStatisticsErrorSummaryFragment
}
missingDevices
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filter": DeviceStatisticsFilter
}
Response
{
"data": {
"deviceStatistics": {
"cpuUtilization": [DeviceStatisticsDistribution],
"temperature": [DeviceStatisticsDistribution],
"errors": [DeviceStatisticsErrorSummary],
"missingDevices": 987
}
}
}
entityLicenseTypeStates
Description
Get license states per license type for any licensed entity.
NOTE: entityType: DEVICE is wired but currently returns an empty list for every device. Device-bound license states are a follow-up to this PR and have no implementation yet, so a UI rendered against entityLicenseTypeStates(entityType: DEVICE, ...) will always show "no licenses" until that follow-up lands. Use entityType: PLACE for real data today.
Authorization: varies by entityType: PLACE: place_places_get on Place(entityId) DEVICE: device_devices_get on Device(entityId)
Response
Returns [LicenseTypeEntityState!]!
Arguments
| Name | Description |
|---|---|
entityType - LicenseBoundEntityType!
|
|
entityId - ID!
|
Example
Query
query entityLicenseTypeStates(
$entityType: LicenseBoundEntityType!,
$entityId: ID!
) {
entityLicenseTypeStates(
entityType: $entityType,
entityId: $entityId
) {
licenseTypeId
state
startTime
endTime
licenseIds
}
}
Variables
{"entityType": "PLACE", "entityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"entityLicenseTypeStates": [
{
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"state": "UNSPECIFIED",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"licenseIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
]
}
}
featureFlag
Response
Returns a FeatureFlag!
Arguments
| Name | Description |
|---|---|
input - GetFeatureFlagInput!
|
Example
Query
query featureFlag($input: GetFeatureFlagInput!) {
featureFlag(input: $input) {
id
value
description
}
}
Variables
{"input": GetFeatureFlagInput}
Response
{
"data": {
"featureFlag": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"value": false,
"description": "xyz789"
}
}
}
file
Description
Fetch a single file by ID within an organization. Unlike allFiles, this returns files in any status (e.g. PENDING), making it suitable for polling the PENDING -> UPLOADED transition.
Returns null when the file does not exist or belongs to a different organization.
Authorization: file_files_list on Organization(orgId)
Response
Returns a File
Arguments
| Name | Description |
|---|---|
input - FileInput!
|
Example
Query
query file($input: FileInput!) {
file(input: $input) {
id
orgId
fileType
size
createdAt
updatedAt
status
filename
uploadedBy {
... on User {
...UserFragment
}
... on Device {
...DeviceFragment
}
}
metadata {
...FileMetadataEntryFragment
}
}
}
Variables
{"input": FileInput}
Response
{
"data": {
"file": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"fileType": "LAUNCH_REPORT",
"size": 987,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "PENDING",
"filename": "xyz789",
"uploadedBy": User,
"metadata": [FileMetadataEntry]
}
}
}
fileType
Description
Retrieve a specific file type by its ID.
Authorization: file_type_get on FileType(id)
Response
Returns a FileType!
Arguments
| Name | Description |
|---|---|
id - FileTypeID!
|
Example
Query
query fileType($id: FileTypeID!) {
fileType(id: $id) {
id
fileType
}
}
Variables
{"id": "LAUNCH_REPORT"}
Response
{
"data": {
"fileType": {
"id": "LAUNCH_REPORT",
"fileType": "abc123"
}
}
}
getFileDownloadUrl
Description
Get a URL for downloading a file.
Authorization: file_files_download on Organization(orgId)
Response
Returns a GetFileDownloadUrlResponse!
Arguments
| Name | Description |
|---|---|
input - GetFileDownloadUrlInput!
|
Example
Query
query getFileDownloadUrl($input: GetFileDownloadUrlInput!) {
getFileDownloadUrl(input: $input) {
url {
...FileDownloadUrlFragment
}
}
}
Variables
{"input": GetFileDownloadUrlInput}
Response
{"data": {"getFileDownloadUrl": {"url": FileDownloadUrl}}}
getScheduleCalendar
Description
Retrieve a specific schedule calendar by resource name.
Authorization: schedule_calendar_get on ScheduleCalendar(name)
Response
Returns a ScheduleCalendar!
Arguments
| Name | Description |
|---|---|
name - ID!
|
Example
Query
query getScheduleCalendar($name: ID!) {
getScheduleCalendar(name: $name) {
name
summary
description
timeZone
createdAt
updatedAt
}
}
Variables
{"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"getScheduleCalendar": {
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"summary": "xyz789",
"description": "xyz789",
"timeZone": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
getScheduleEvent
Description
Retrieve a specific schedule event by resource name.
Authorization: schedule_event_get on ScheduleCalendar (parent of event)
Response
Returns a ScheduleEvent!
Arguments
| Name | Description |
|---|---|
name - ID!
|
Example
Query
query getScheduleEvent($name: ID!) {
getScheduleEvent(name: $name) {
name
createdAt
updatedAt
summary
description
startTime
endTime
timeZone
recurrence
recurringEventId
devices {
...DeviceFragment
}
deviceAction
deviceActionArguments
deviceActionTriggeredAt
notificationEmails
deviceActionCompletedAt
deviceActionState
notificationBeforeOffset
}
}
Variables
{"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"getScheduleEvent": {
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"summary": "xyz789",
"description": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"timeZone": "abc123",
"recurrence": ["xyz789"],
"recurringEventId": "xyz789",
"devices": [Device],
"deviceAction": "abc123",
"deviceActionArguments": ["abc123"],
"deviceActionTriggeredAt": "2007-12-03T10:15:30Z",
"notificationEmails": ["xyz789"],
"deviceActionCompletedAt": "2007-12-03T10:15:30Z",
"deviceActionState": "UNSPECIFIED",
"notificationBeforeOffset": "P3Y6M4DT12H30M5S"
}
}
}
licenseSummary
Description
Get license usage summary for an organization.
Authorization: license_licenses_list on Organization(orgId)
Response
Returns a LicenseSummary
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
filter - LicenseSummaryFilter
|
Example
Query
query licenseSummary(
$orgId: ID!,
$filter: LicenseSummaryFilter
) {
licenseSummary(
orgId: $orgId,
filter: $filter
) {
assigned
notExpired
expiresSoon
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filter": LicenseSummaryFilter
}
Response
{
"data": {
"licenseSummary": {"assigned": 123, "notExpired": 987, "expiresSoon": 123}
}
}
listScheduleDeviceActions
Description
List device actions for a schedule event.
Authorization: schedule_eventdeviceaction_list on ScheduleCalendar(parent)
Response
Returns a ListScheduleDeviceActionsResponse
Arguments
| Name | Description |
|---|---|
parent - ID!
|
Example
Query
query listScheduleDeviceActions($parent: ID!) {
listScheduleDeviceActions(parent: $parent) {
actions {
...ScheduleDeviceActionFragment
}
}
}
Variables
{"parent": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"listScheduleDeviceActions": {
"actions": [ScheduleDeviceAction]
}
}
}
listScheduleEvents
Description
List schedule events for a calendar with optional filtering and ordering.
Authorization: schedule_event_list on ScheduleCalendar(parent)
Response
Returns a ListScheduleEventsResponse!
Arguments
| Name | Description |
|---|---|
parent - ID!
|
|
pageSize - Int
|
|
skip - Int
|
|
orderBy - [ScheduleEventsOrder!]
|
|
filter - ListScheduleEventsFilter
|
Example
Query
query listScheduleEvents(
$parent: ID!,
$pageSize: Int,
$skip: Int,
$orderBy: [ScheduleEventsOrder!],
$filter: ListScheduleEventsFilter
) {
listScheduleEvents(
parent: $parent,
pageSize: $pageSize,
skip: $skip,
orderBy: $orderBy,
filter: $filter
) {
events {
...ScheduleEventFragment
}
nextPageToken
}
}
Variables
{
"parent": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"pageSize": 987,
"skip": 987,
"orderBy": [ScheduleEventsOrder],
"filter": ListScheduleEventsFilter
}
Response
{
"data": {
"listScheduleEvents": {
"events": [ScheduleEvent],
"nextPageToken": "xyz789"
}
}
}
membership
Description
Retrieve a specific membership by ID.
Requires: Permission to view the membership
Response
Returns a Membership!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query membership($id: ID!) {
membership(id: $id) {
hasCalendar
calendar {
...CalendarFragment
}
id
userId
orgId
user {
...UserFragment
}
organization {
...OrganizationFragment
}
invitation {
...InvitationFragment
}
role
roles
createdAt
updatedAt
status
pin {
...PinFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"membership": {
"hasCalendar": true,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
}
}
organization
Description
Retrieve a specific organization by ID.
Authorization: organization_organizations_get on Organization(id)
Response
Returns an Organization!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query organization($id: ID!) {
organization(id: $id) {
hasCalendar
id
name
domain
logoMediaId
logoUrl
bookingSettings {
...OrganizationBookingSettingsFragment
}
deskBookingSettings {
...DeskBookingSettingsFragment
}
roomBookingSettings {
...RoomBookingSettingsFragment
}
parkingBookingSettings {
...ParkingBookingSettingsFragment
}
calendarSettings {
...CalendarSettingsFragment
}
whitelist
whitelistEnabled
language
timezone
deviceScreenTemplate
brokenEquipmentReportEmails
timePresentation
deskStats {
...DeskStatsFragment
}
deviceStats {
...DeviceStatsFragment
}
membershipStats {
...MembershipStatsFragment
}
openHours {
...WeeklyOpenHoursFragment
}
licenseStats {
...LicenseStatsFragment
}
trial {
...LicenseFragment
}
ola
deviceErrorReportEmails
deviceErrorReportWebhookUrl
createdAt
updatedAt
type
schedulingSettings {
...SchedulingSettingsFragment
}
pin {
...PinFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"organization": {
"hasCalendar": true,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"domain": "xyz789",
"logoMediaId": "xyz789",
"logoUrl": "xyz789",
"bookingSettings": OrganizationBookingSettings,
"deskBookingSettings": DeskBookingSettings,
"roomBookingSettings": RoomBookingSettings,
"parkingBookingSettings": ParkingBookingSettings,
"calendarSettings": CalendarSettings,
"whitelist": "abc123",
"whitelistEnabled": true,
"language": "xyz789",
"timezone": "abc123",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": [
"abc123"
],
"timePresentation": "H24",
"deskStats": DeskStats,
"deviceStats": DeviceStats,
"membershipStats": MembershipStats,
"openHours": WeeklyOpenHours,
"licenseStats": LicenseStats,
"trial": [License],
"ola": "xyz789",
"deviceErrorReportEmails": ["xyz789"],
"deviceErrorReportWebhookUrl": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"type": "SHARED",
"schedulingSettings": SchedulingSettings,
"pin": Pin
}
}
}
organizationPermissions
Response
Returns a PermissionSet!
Arguments
| Name | Description |
|---|---|
input - OrganizationPermissionsInput!
|
Example
Query
query organizationPermissions($input: OrganizationPermissionsInput!) {
organizationPermissions(input: $input) {
appCommand {
...AppCommandPermissionsFragment
}
appSettings {
...AppSettingsPermissionsFragment
}
flagsFlags {
...FlagsFlagsPermissionsFragment
}
userUsers {
...UserUsersPermissionsFragment
}
organizationOrganizations {
...OrganizationOrganizationsPermissionsFragment
}
organizationMemberships {
...OrganizationMembershipsPermissionsFragment
}
organizationMessages {
...OrganizationMessagesPermissionsFragment
}
resourceTypes {
...ResourceTypesPermissionsFragment
}
placeTypes {
...PlaceTypesPermissionsFragment
}
deviceTypes {
...DeviceTypesPermissionsFragment
}
deviceSerial {
...DeviceSerialPermissionsFragment
}
facilityFacility {
...FacilityFacilityPermissionsFragment
}
fileTypes {
...FileTypesPermissionsFragment
}
fileSignedurl {
...FileSignedurlPermissionsFragment
}
fileFiles {
...FileFilesPermissionsFragment
}
firmwareFirmware {
...FirmwareFirmwarePermissionsFragment
}
firmwareChannel {
...FirmwareChannelPermissionsFragment
}
organizationMembershipinvitations {
...OrganizationMembershipinvitationsPermissionsFragment
}
calendarCalendarsources {
...CalendarCalendarsourcesPermissionsFragment
}
calendarCalendars {
...CalendarCalendarsPermissionsFragment
}
calendarCalendarevents {
...CalendarCalendareventsPermissionsFragment
}
colleagueColleagues {
...ColleagueColleaguesPermissionsFragment
}
resourceResources {
...ResourceResourcesPermissionsFragment
}
placePlaces {
...PlacePlacesPermissionsFragment
}
bookingBookings {
...BookingBookingsPermissionsFragment
}
mediaMedias {
...MediaMediasPermissionsFragment
}
planPlans {
...PlanPlansPermissionsFragment
}
notificationFcmtoken {
...NotificationFcmtokenPermissionsFragment
}
licenseLicenses {
...LicenseLicensesPermissionsFragment
}
licenseLicensetypes {
...LicenseLicensetypesPermissionsFragment
}
licenseLicenseassociation {
...LicenseLicenseassociationPermissionsFragment
}
idtagIdtags {
...IdtagIdtagsPermissionsFragment
}
pinPins {
...PinPinsPermissionsFragment
}
deviceDevices {
...DeviceDevicesPermissionsFragment
}
deviceDeviceevents {
...DeviceDeviceeventsPermissionsFragment
}
overviewOverviews {
...OverviewOverviewsPermissionsFragment
}
overviewAuthcode {
...OverviewAuthcodePermissionsFragment
}
calendarColleagues {
...CalendarColleaguesPermissionsFragment
}
natsauthNatsaccount {
...NatsauthNatsaccountPermissionsFragment
}
devicecommandDevice {
...DevicecommandDevicePermissionsFragment
}
placePlacefeatures {
...PlacePlacefeaturesPermissionsFragment
}
placePlacefeatureinstances {
...PlacePlacefeatureinstancesPermissionsFragment
}
scheduleCalendar {
...ScheduleCalendarPermissionsFragment
}
scheduleEvent {
...ScheduleEventPermissionsFragment
}
scheduleEventdeviceaction {
...ScheduleEventdeviceactionPermissionsFragment
}
organizationZoom {
...OrganizationZoomPermissionsFragment
}
subscriptionSubscriptions {
...SubscriptionSubscriptionsPermissionsFragment
}
subscriptionLicenses {
...SubscriptionLicensesPermissionsFragment
}
subscriptionPaymentmethods {
...SubscriptionPaymentmethodsPermissionsFragment
}
subscriptionBuyingid {
...SubscriptionBuyingidPermissionsFragment
}
subscriptionBillingaddress {
...SubscriptionBillingaddressPermissionsFragment
}
}
}
Variables
{"input": OrganizationPermissionsInput}
Response
{
"data": {
"organizationPermissions": {
"appCommand": AppCommandPermissions,
"appSettings": AppSettingsPermissions,
"flagsFlags": FlagsFlagsPermissions,
"userUsers": UserUsersPermissions,
"organizationOrganizations": OrganizationOrganizationsPermissions,
"organizationMemberships": OrganizationMembershipsPermissions,
"organizationMessages": OrganizationMessagesPermissions,
"resourceTypes": ResourceTypesPermissions,
"placeTypes": PlaceTypesPermissions,
"deviceTypes": DeviceTypesPermissions,
"deviceSerial": DeviceSerialPermissions,
"facilityFacility": FacilityFacilityPermissions,
"fileTypes": FileTypesPermissions,
"fileSignedurl": FileSignedurlPermissions,
"fileFiles": FileFilesPermissions,
"firmwareFirmware": FirmwareFirmwarePermissions,
"firmwareChannel": FirmwareChannelPermissions,
"organizationMembershipinvitations": OrganizationMembershipinvitationsPermissions,
"calendarCalendarsources": CalendarCalendarsourcesPermissions,
"calendarCalendars": CalendarCalendarsPermissions,
"calendarCalendarevents": CalendarCalendareventsPermissions,
"colleagueColleagues": ColleagueColleaguesPermissions,
"resourceResources": ResourceResourcesPermissions,
"placePlaces": PlacePlacesPermissions,
"bookingBookings": BookingBookingsPermissions,
"mediaMedias": MediaMediasPermissions,
"planPlans": PlanPlansPermissions,
"notificationFcmtoken": NotificationFcmtokenPermissions,
"licenseLicenses": LicenseLicensesPermissions,
"licenseLicensetypes": LicenseLicensetypesPermissions,
"licenseLicenseassociation": LicenseLicenseassociationPermissions,
"idtagIdtags": IdtagIdtagsPermissions,
"pinPins": PinPinsPermissions,
"deviceDevices": DeviceDevicesPermissions,
"deviceDeviceevents": DeviceDeviceeventsPermissions,
"overviewOverviews": OverviewOverviewsPermissions,
"overviewAuthcode": OverviewAuthcodePermissions,
"calendarColleagues": CalendarColleaguesPermissions,
"natsauthNatsaccount": NatsauthNatsaccountPermissions,
"devicecommandDevice": DevicecommandDevicePermissions,
"placePlacefeatures": PlacePlacefeaturesPermissions,
"placePlacefeatureinstances": PlacePlacefeatureinstancesPermissions,
"scheduleCalendar": ScheduleCalendarPermissions,
"scheduleEvent": ScheduleEventPermissions,
"scheduleEventdeviceaction": ScheduleEventdeviceactionPermissions,
"organizationZoom": OrganizationZoomPermissions,
"subscriptionSubscriptions": SubscriptionSubscriptionsPermissions,
"subscriptionLicenses": SubscriptionLicensesPermissions,
"subscriptionPaymentmethods": SubscriptionPaymentmethodsPermissions,
"subscriptionBuyingid": SubscriptionBuyingidPermissions,
"subscriptionBillingaddress": SubscriptionBillingaddressPermissions
}
}
}
overview
Response
Returns an Overview!
Arguments
| Name | Description |
|---|---|
id - ID!
|
The ID of the overview. The alias "me" can also be used if the caller is an overview. |
Example
Query
query overview($id: ID!) {
overview(id: $id) {
id
orgId
type
mode
name
message
alert {
...AlertFragment
}
showDateTime
showLogo
darkMode
columnCount
tiles {
...TileFragment
}
logoUrl
createdAt
updatedAt
place {
...PlaceFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"overview": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "abc123",
"type": "TILES",
"mode": "MONITORING",
"name": "abc123",
"message": "xyz789",
"alert": Alert,
"showDateTime": false,
"showLogo": false,
"darkMode": true,
"columnCount": 987,
"tiles": [Tile],
"logoUrl": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"place": Place
}
}
}
place
Example
Query
query place($id: ID!) {
place(id: $id) {
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
id
name
parentPlaceId
placeTypeId
settings {
... on BuildingSettings {
...BuildingSettingsFragment
}
... on SiteSettings {
...SiteSettingsFragment
}
... on FloorSettings {
...FloorSettingsFragment
}
... on ZoneSettings {
...ZoneSettingsFragment
}
... on DeskSettings {
...DeskSettingsFragment
}
... on RoomSettings {
...RoomSettingsFragment
}
}
attributes {
... on BuildingAttributes {
...BuildingAttributesFragment
}
... on SiteAttributes {
...SiteAttributesFragment
}
... on FloorAttributes {
...FloorAttributesFragment
}
... on ParkingLotAttributes {
...ParkingLotAttributesFragment
}
... on ParkingSpaceAttributes {
...ParkingSpaceAttributesFragment
}
... on DeskAttributes {
...DeskAttributesFragment
}
... on RoomAttributes {
...RoomAttributesFragment
}
}
createdAt
updatedAt
deviceCount
plan {
...PlanFragment
}
fullName
hierarchy {
...PlaceSummaryFragment
}
hasChildren
media {
...MediaFragment
}
available {
...AvailabilityFragment
}
calendar {
...PlaceFeatureInstanceFragment
}
zoomInfo {
...ZoomPlaceInfoFragment
}
timeZoneOffset
owner {
...MembershipFragment
}
isDedicated
qrCodeString
schedulingSettings {
...SchedulingSettingsFragment
}
mergedSchedulingSettings {
...SchedulingSettingsFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"place": {
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 123,
"plan": Plan,
"fullName": ["abc123"],
"hierarchy": [PlaceSummary],
"hasChildren": true,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 123,
"owner": Membership,
"isDedicated": false,
"qrCodeString": "abc123",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
}
}
placeBookingSummary
Response
Returns a PlaceBookingSummary!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
filter - PlaceStatisticsFilter!
|
Example
Query
query placeBookingSummary(
$orgId: ID!,
$filter: PlaceStatisticsFilter!
) {
placeBookingSummary(
orgId: $orgId,
filter: $filter
) {
totalBookingCount
totalBookingSeconds
activeUserCount
totalUserCount
distribution {
...PlaceDistributionFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filter": PlaceStatisticsFilter
}
Response
{
"data": {
"placeBookingSummary": {
"totalBookingCount": 987,
"totalBookingSeconds": 123,
"activeUserCount": 987,
"totalUserCount": 987,
"distribution": [PlaceDistribution]
}
}
}
placeFeature
Response
Returns a PlaceFeature
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query placeFeature($id: ID!) {
placeFeature(id: $id) {
id
enabled
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"placeFeature": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"enabled": true
}
}
}
placeFeatureInstance
Response
Returns a PlaceFeatureInstance
Example
Query
query placeFeatureInstance(
$placeId: ID!,
$featureId: ID!
) {
placeFeatureInstance(
placeId: $placeId,
featureId: $featureId
) {
placeId
featureId
orgId
enabled
disabled_reason
attributes {
... on PlaceFeatureInstanceCalendarAttributes {
...PlaceFeatureInstanceCalendarAttributesFragment
}
}
}
}
Variables
{
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"featureId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{
"data": {
"placeFeatureInstance": {
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"featureId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"enabled": false,
"disabled_reason": "abc123",
"attributes": PlaceFeatureInstanceCalendarAttributes
}
}
}
placeLicenseState
Description
Get the license state for a specific place.
Authorization: place_places_get on Place(placeId)
Response
Returns a PlaceLicenseState!
Arguments
| Name | Description |
|---|---|
placeId - String!
|
Example
Query
query placeLicenseState($placeId: String!) {
placeLicenseState(placeId: $placeId)
}
Variables
{"placeId": "abc123"}
Response
{"data": {"placeLicenseState": "UNSPECIFIED"}}
placeLicenseTypeStates
Description
Get the license states per license type for a specific place.
Authorization: place_places_get on Place(placeId)
Response
Returns [PlaceLicenseTypeState!]!
Arguments
| Name | Description |
|---|---|
placeId - String!
|
Example
Query
query placeLicenseTypeStates($placeId: String!) {
placeLicenseTypeStates(placeId: $placeId) {
licenseTypeId
state
startTime
endTime
licenseIds
}
}
Variables
{"placeId": "xyz789"}
Response
{
"data": {
"placeLicenseTypeStates": [
{
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"state": "UNSPECIFIED",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"licenseIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
]
}
}
placeStatistics
Response
Returns a PlaceStatisticsConnection!
Arguments
| Name | Description |
|---|---|
limit - Int
|
|
offset - Int
|
|
filter - PlaceStatisticsFilter!
|
|
order - [PlaceStatisticsOrder!]
|
|
orgId - ID!
|
Example
Query
query placeStatistics(
$limit: Int,
$offset: Int,
$filter: PlaceStatisticsFilter!,
$order: [PlaceStatisticsOrder!],
$orgId: ID!
) {
placeStatistics(
limit: $limit,
offset: $offset,
filter: $filter,
order: $order,
orgId: $orgId
) {
pageInfo {
...PageInfoFragment
}
totalCount
statistics {
...PlaceStatisticsFragment
}
}
}
Variables
{
"limit": 987,
"offset": 123,
"filter": PlaceStatisticsFilter,
"order": [PlaceStatisticsOrder],
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{
"data": {
"placeStatistics": {
"pageInfo": PageInfo,
"totalCount": 123,
"statistics": [PlaceStatistics]
}
}
}
profile
Description
Get the authenticated user's profile information.
Requires: Authentication
Response
Returns a User!
Example
Query
query profile {
profile {
id
name
firstName
lastName
email
eula
verified
memberships {
...MembershipFragment
}
invitations {
...InvitationFragment
}
superAdmin
createdAt
updatedAt
}
}
Response
{
"data": {
"profile": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"email": "xyz789",
"eula": "abc123",
"verified": false,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": true,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
room
Example
Query
query room($id: ID!) {
room(id: $id) {
id
orgId
floorId
floor {
...FloorFragment
}
name
email
capacity
roomType
resources
bookingSettings {
...RoomBookingSettingsFragment
}
currentBooking {
...RoomBookingFragment
}
nextBooking {
...RoomBookingFragment
}
available {
...AvailabilityFragment
}
timeZone
timeZoneOffset
timePresentation
deviceScreenTemplate
brokenEquipmentReportEmails
createdAt
updatedAt
license {
...LicenseFragment
}
media {
...MediaFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"room": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"floorId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"floor": Floor,
"name": "abc123",
"email": "abc123",
"capacity": 123,
"roomType": "abc123",
"resources": ["ROOM_TEMPERATURE"],
"bookingSettings": RoomBookingSettings,
"currentBooking": RoomBooking,
"nextBooking": RoomBooking,
"available": Availability,
"timeZone": "abc123",
"timeZoneOffset": 987,
"timePresentation": "H24",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": [
"xyz789"
],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"media": Media
}
}
}
searchToken
Description
Generates a search token.
Response
Returns a SearchToken!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
query searchToken($orgId: ID!) {
searchToken(orgId: $orgId) {
token
expiresAt
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"searchToken": {
"token": "xyz789",
"expiresAt": "2007-12-03T10:15:30Z"
}
}
}
userByIdTag
Description
Retrieve a user by their ID tag within a specific organization.
Requires: Organization membership
Example
Query
query userByIdTag(
$idTag: String!,
$orgId: ID!
) {
userByIdTag(
idTag: $idTag,
orgId: $orgId
) {
id
name
firstName
lastName
email
eula
verified
memberships {
...MembershipFragment
}
invitations {
...InvitationFragment
}
superAdmin
createdAt
updatedAt
}
}
Variables
{
"idTag": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{
"data": {
"userByIdTag": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"firstName": "xyz789",
"lastName": "abc123",
"email": "abc123",
"eula": "abc123",
"verified": false,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
zoomConnection
Description
Get the Zoom connection for an organization.
Returns null if no connection exists.
Response
Returns a ZoomConnection
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
query zoomConnection($orgId: ID!) {
zoomConnection(orgId: $orgId) {
id
orgId
zoomAccountId
connectedAt
connectedByUserId
status
statusMessage
statusUpdatedAt
installId
reauthLink
syncLog {
...SyncLogEntryFragment
}
managedPlacesCount
linkedDevicesCount
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"zoomConnection": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"zoomAccountId": "xyz789",
"connectedAt": "2007-12-03T10:15:30Z",
"connectedByUserId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": "ACTIVE",
"statusMessage": "abc123",
"statusUpdatedAt": "2007-12-03T10:15:30Z",
"installId": "xyz789",
"reauthLink": "abc123",
"syncLog": [SyncLogEntry],
"managedPlacesCount": 987,
"linkedDevicesCount": 123
}
}
}
zoomInstallLockStatus
Description
Lock status of a pending Zoom installation.
Returns whether the install's Zoom account is already linked to an Evoko org. The web picker calls this after the OAuth callback to disable non-locked orgs and to redirect or show an error when the locked org is not in the user's memberships.
Authentication: requires an authenticated user (any role). At the point this is called (org-picker page after OAuth redirect), the user is signed in via Zitadel; the installId is itself a capability obtained from the OAuth redirect. The query intentionally does NOT carry @orgBlockCheckDirective because no org is in context yet.
Response
Returns a ZoomInstallLockStatus!
Arguments
| Name | Description |
|---|---|
installId - ID!
|
Example
Query
query zoomInstallLockStatus($installId: ID!) {
zoomInstallLockStatus(installId: $installId) {
locked
lockedOrgId
}
}
Variables
{"installId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"zoomInstallLockStatus": {
"locked": true,
"lockedOrgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
zoomLogs
Description
Get Zoom integration activity logs for an organization. Filters are optional and composable: start/end bound by createdAt, syncPeriod narrows to a specific sync run.
Response
Returns [SyncLogEntry!]!
Example
Query
query zoomLogs(
$orgId: ID!,
$start: DateTime,
$end: DateTime,
$syncPeriod: DateTime,
$limit: Int!,
$offset: Int
) {
zoomLogs(
orgId: $orgId,
start: $start,
end: $end,
syncPeriod: $syncPeriod,
limit: $limit,
offset: $offset
) {
id
logLevel
message
syncPeriod
createdAt
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"syncPeriod": "2007-12-03T10:15:30Z",
"limit": 50,
"offset": 123
}
Response
{
"data": {
"zoomLogs": [
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"logLevel": "INFO",
"message": "abc123",
"syncPeriod": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
]
}
}
zoomPlaceInfo
Description
Get Zoom connection info for a specific place.
Returns whether the place has a Zoom connection and its QR code string.
Response
Returns a ZoomPlaceInfo
Arguments
| Name | Description |
|---|---|
placeId - ID!
|
Example
Query
query zoomPlaceInfo($placeId: ID!) {
zoomPlaceInfo(placeId: $placeId) {
hasConnection
qrCodeString
}
}
Variables
{"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"zoomPlaceInfo": {
"hasConnection": true,
"qrCodeString": "abc123"
}
}
}
Mutations
acceptCalendarEvent
Description
Accept a calendar event invitation.
Authorization: calendar_calendarevents_accept on CalendarEvent(id)
Response
Returns a CalendarEvent!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation acceptCalendarEvent($id: ID!) {
acceptCalendarEvent(id: $id) {
id
name
calendarId
timesSynced
remoteId
remoteData
isRecurring
isWholeDay
sensitivity
startTime
endTime
createdAt
updatedAt
attendees {
...AttendeeFragment
}
meetingUrl
creator
iCalUID
meetingProvider
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"acceptCalendarEvent": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"calendarId": "xyz789",
"timesSynced": 123,
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "abc123",
"isRecurring": false,
"isWholeDay": true,
"sensitivity": "PRIVATE",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attendees": [Attendee],
"meetingUrl": "xyz789",
"creator": "xyz789",
"iCalUID": "xyz789",
"meetingProvider": "UNSPECIFIED"
}
}
}
acceptInvitation
Response
Returns an Invitation
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation acceptInvitation($id: ID!) {
acceptInvitation(id: $id) {
id
orgId
email
expiresAt
organization {
...OrganizationFragment
}
status
membership {
...MembershipFragment
}
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"acceptInvitation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"email": "xyz789",
"expiresAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"status": "PENDING",
"membership": Membership,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
activateLicense
Description
Activate a license for an organization.
Authorization: license_licenses_activate on Organization(orgId)
Response
Returns a License!
Example
Query
mutation activateLicense(
$id: ID!,
$orgId: ID!,
$activationTime: DateTime
) {
activateLicense(
id: $id,
orgId: $orgId,
activationTime: $activationTime
) {
id
refId
count
duration
activatesAt
expiresAt
createdAt
updatedAt
revokedAt
organization {
...OrganizationFragment
}
licenseTypeId
trial
state
licenseType {
...LicenseTypeFragment
}
associations {
...LicenseAssociationsConnectionFragment
}
places {
...LicensePlacesConnectionFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"activationTime": "2007-12-03T10:15:30Z"
}
Response
{
"data": {
"activateLicense": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"refId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"count": 987,
"duration": 123,
"activatesAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"revokedAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"trial": false,
"state": "UNSPECIFIED",
"licenseType": LicenseType,
"associations": LicenseAssociationsConnection,
"places": LicensePlacesConnection
}
}
}
activateMembership
Description
Activate a pending or deactivated membership.
Requires: Organization admin or owner role
Response
Returns a Membership!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation activateMembership($id: ID!) {
activateMembership(id: $id) {
hasCalendar
calendar {
...CalendarFragment
}
id
userId
orgId
user {
...UserFragment
}
organization {
...OrganizationFragment
}
invitation {
...InvitationFragment
}
role
roles
createdAt
updatedAt
status
pin {
...PinFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"activateMembership": {
"hasCalendar": true,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
}
}
activateOverviewCode
Description
Activate the overview code. This will bind the overview code to the authenticated user and extend the expiration. Can be called multiple times to extend the expiration. If the code can not be activated, one of the following errors will be returned:
notFound: the code do not exists or already activated by another userexpiredToken: the auth request has expiredconflict: if the request is already authorized
Response
Returns an ActivateOverviewCodePayload!
Arguments
| Name | Description |
|---|---|
userCode - String!
|
Example
Query
mutation activateOverviewCode($userCode: String!) {
activateOverviewCode(userCode: $userCode) {
userCode
expiresIn
}
}
Variables
{"userCode": "abc123"}
Response
{
"data": {
"activateOverviewCode": {
"userCode": "xyz789",
"expiresIn": "P3Y6M4DT12H30M5S"
}
}
}
activateTrialLicense
Description
Activate trial licenses for an organization.
Authorization: license_licenses_activate on Organization(orgId)
Response
Returns a LicensesConnection!
Example
Query
mutation activateTrialLicense(
$orgId: ID!,
$activationTime: DateTime
) {
activateTrialLicense(
orgId: $orgId,
activationTime: $activationTime
) {
pageInfo {
...PageInfoFragment
}
totalCount
licenses {
...LicenseFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"activationTime": "2007-12-03T10:15:30Z"
}
Response
{
"data": {
"activateTrialLicense": {
"pageInfo": PageInfo,
"totalCount": 123,
"licenses": [License]
}
}
}
activateUser
Description
Activate user account in the current region after providing consent to store data.
Requires: Authentication. Called after user provides regional data storage consent.
Response
Returns a User!
Example
Query
mutation activateUser {
activateUser {
id
name
firstName
lastName
email
eula
verified
memberships {
...MembershipFragment
}
invitations {
...InvitationFragment
}
superAdmin
createdAt
updatedAt
}
}
Response
{
"data": {
"activateUser": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"email": "abc123",
"eula": "abc123",
"verified": false,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
addBooking
Response
Returns a Booking!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddBookingInput!
|
|
idTag - String
|
|
pin - String
|
Example
Query
mutation addBooking(
$orgId: ID!,
$input: AddBookingInput!,
$idTag: String,
$pin: String
) {
addBooking(
orgId: $orgId,
input: $input,
idTag: $idTag,
pin: $pin
) {
id
startTime
endTime
checkedIn
checkedOut
canceled
isWholeDay
userDeleted
place {
...PlaceFragment
}
user {
...UserFragment
}
skipAwayFromDeskReminder
skipLateArrivalReminder
focusMode
arrivedAt
title
attendees {
...AttendeeFragment
}
isPrivate
isImmutable
organizer
desk {
...DeskFragment
}
resource {
...ResourceFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddBookingInput,
"idTag": "abc123",
"pin": "xyz789"
}
Response
{
"data": {
"addBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": true,
"userDeleted": false,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": false,
"skipLateArrivalReminder": false,
"focusMode": true,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "abc123",
"attendees": [Attendee],
"isPrivate": true,
"isImmutable": true,
"organizer": "xyz789",
"desk": Desk,
"resource": Resource
}
}
}
addCalendarSource
Description
Add a new calendar source (Google or Microsoft) to an organization.
Authorization: calendar_calendarsources_create on Organization(orgId)
Response
Returns a CalendarSource!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddCalendarSourceInput!
|
Example
Query
mutation addCalendarSource(
$orgId: ID!,
$input: AddCalendarSourceInput!
) {
addCalendarSource(
orgId: $orgId,
input: $input
) {
id
createdAt
updatedAt
orgId
settings
provider
resourceAdmin
syncedAt
syncErrors
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddCalendarSourceInput
}
Response
{
"data": {
"addCalendarSource": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"orgId": "abc123",
"settings": "abc123",
"provider": "GOOGLE",
"resourceAdmin": "xyz789",
"syncedAt": "2007-12-03T10:15:30Z",
"syncErrors": ["xyz789"]
}
}
}
addChannel
Description
Create a new firmware distribution channel.
Authorization: firmware_channel_create on Platform
Response
Returns a Channel!
Arguments
| Name | Description |
|---|---|
input - AddChannelInput!
|
Example
Query
mutation addChannel($input: AddChannelInput!) {
addChannel(input: $input) {
id
name
}
}
Variables
{"input": AddChannelInput}
Response
{
"data": {
"addChannel": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123"
}
}
}
addDeviceHeartbeatEvent
addDeviceOfflineEvent
Description
Send a message to indicate that the device is going offline.
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
deviceId - ID!
|
|
reason - OfflineReason!
|
Default = UNSPECIFIED |
duration - Duration
|
Example
Query
mutation addDeviceOfflineEvent(
$deviceId: ID!,
$reason: OfflineReason!,
$duration: Duration
) {
addDeviceOfflineEvent(
deviceId: $deviceId,
reason: $reason,
duration: $duration
)
}
Variables
{
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"reason": "UNSPECIFIED",
"duration": "P3Y6M4DT12H30M5S"
}
Response
{"data": {"addDeviceOfflineEvent": false}}
addDeviceSpecificSettings
Description
Adds a device specific setting to the device with the given device id
Response
Returns a DeviceSpecificSettings!
Arguments
| Name | Description |
|---|---|
deviceID - ID!
|
|
input - AddDeviceSpecificSettingsInput!
|
Example
Query
mutation addDeviceSpecificSettings(
$deviceID: ID!,
$input: AddDeviceSpecificSettingsInput!
) {
addDeviceSpecificSettings(
deviceID: $deviceID,
input: $input
) {
id
deviceID
preset
data
dataVersion
createdAt
updatedAt
}
}
Variables
{
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddDeviceSpecificSettingsInput
}
Response
{
"data": {
"addDeviceSpecificSettings": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "abc123",
"data": "abc123",
"dataVersion": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
addDeviceStatusEvent
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
deviceId - ID!
|
|
data - DeviceEventStatusInput!
|
Example
Query
mutation addDeviceStatusEvent(
$orgId: ID!,
$deviceId: ID!,
$data: DeviceEventStatusInput!
) {
addDeviceStatusEvent(
orgId: $orgId,
deviceId: $deviceId,
data: $data
)
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"data": DeviceEventStatusInput
}
Response
{"data": {"addDeviceStatusEvent": true}}
addDeviceTelemetryEvent
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
deviceId - ID!
|
|
data - DeviceEventTelemetryInput!
|
Example
Query
mutation addDeviceTelemetryEvent(
$orgId: ID!,
$deviceId: ID!,
$data: DeviceEventTelemetryInput!
) {
addDeviceTelemetryEvent(
orgId: $orgId,
deviceId: $deviceId,
data: $data
)
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"data": DeviceEventTelemetryInput
}
Response
{"data": {"addDeviceTelemetryEvent": true}}
addDeviceType
Description
Create a new device type in the platform.
Authorization: device_types_create on Platform
Response
Returns a DeviceType!
Arguments
| Name | Description |
|---|---|
input - AddDeviceTypeInput!
|
Example
Query
mutation addDeviceType($input: AddDeviceTypeInput!) {
addDeviceType(input: $input) {
id
name
attributes {
...DeviceTypeAttributesFragment
}
}
}
Variables
{"input": AddDeviceTypeInput}
Response
{
"data": {
"addDeviceType": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"attributes": DeviceTypeAttributes
}
}
}
addFirmware
Description
Upload and register a new firmware version.
Authorization: firmware_firmware_create on Platform
Response
Returns a Firmware!
Arguments
| Name | Description |
|---|---|
input - AddFirmwareInput!
|
Example
Query
mutation addFirmware($input: AddFirmwareInput!) {
addFirmware(input: $input) {
id
deviceType {
...DeviceTypeFragment
}
version
url
publicKey
variant
channels {
...ChannelFragment
}
createdAt
updatedAt
}
}
Variables
{"input": AddFirmwareInput}
Response
{
"data": {
"addFirmware": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceType": DeviceType,
"version": "abc123",
"url": "abc123",
"publicKey": "xyz789",
"variant": "xyz789",
"channels": [Channel],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
addIDTag
Description
Add an ID tag for a user. Only org admins can add tags to other users.
Authorization: idtag_idtags_create on Membership (of target user)
Response
Returns an IDTag!
Example
Query
mutation addIDTag(
$orgId: ID!,
$userId: ID!,
$tag: String!,
$name: String
) {
addIDTag(
orgId: $orgId,
userId: $userId,
tag: $tag,
name: $name
) {
id
userId
orgId
name
tag
createdAt
updatedAt
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"tag": "abc123",
"name": "abc123"
}
Response
{
"data": {
"addIDTag": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"tag": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
addInvitation
Response
Returns an Invitation!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddInvitationInput!
|
Example
Query
mutation addInvitation(
$orgId: ID!,
$input: AddInvitationInput!
) {
addInvitation(
orgId: $orgId,
input: $input
) {
id
orgId
email
expiresAt
organization {
...OrganizationFragment
}
status
membership {
...MembershipFragment
}
createdAt
updatedAt
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddInvitationInput
}
Response
{
"data": {
"addInvitation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"email": "abc123",
"expiresAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"status": "PENDING",
"membership": Membership,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
addInvitations
Description
Bulk invite up to 50 members to an organization by email address.
Response
Returns an AddInvitationsResult!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddInvitationsInput!
|
Example
Query
mutation addInvitations(
$orgId: ID!,
$input: AddInvitationsInput!
) {
addInvitations(
orgId: $orgId,
input: $input
) {
invitations {
...InvitationFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddInvitationsInput
}
Response
{
"data": {
"addInvitations": {"invitations": [Invitation]}
}
}
addLicense
Description
Create a new license and optionally assign it to an organization.
Authorization: license_licenses_create on Platform
Response
Returns a License!
Arguments
| Name | Description |
|---|---|
input - AddLicenseInput!
|
Example
Query
mutation addLicense($input: AddLicenseInput!) {
addLicense(input: $input) {
id
refId
count
duration
activatesAt
expiresAt
createdAt
updatedAt
revokedAt
organization {
...OrganizationFragment
}
licenseTypeId
trial
state
licenseType {
...LicenseTypeFragment
}
associations {
...LicenseAssociationsConnectionFragment
}
places {
...LicensePlacesConnectionFragment
}
}
}
Variables
{"input": AddLicenseInput}
Response
{
"data": {
"addLicense": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"refId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"count": 987,
"duration": 123,
"activatesAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"revokedAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"trial": false,
"state": "UNSPECIFIED",
"licenseType": LicenseType,
"associations": LicenseAssociationsConnection,
"places": LicensePlacesConnection
}
}
}
addLicenseAssociation
Description
Associate a license with any licensed entity (place, device, or future types).
Authorization: license_licenseassociation_create on License(licenseId)
Response
Returns a LicenseAssociation
Arguments
| Name | Description |
|---|---|
input - AddLicenseAssociation!
|
Example
Query
mutation addLicenseAssociation($input: AddLicenseAssociation!) {
addLicenseAssociation(input: $input) {
id
createdAt
updatedAt
license {
...LicenseFragment
}
boundEntityType
boundEntityId
placeId
deviceId
}
}
Variables
{"input": AddLicenseAssociation}
Response
{
"data": {
"addLicenseAssociation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"boundEntityType": "PLACE",
"boundEntityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
addLicensePlace
Description
Associate a license with a place.
Authorization: license_licenseassociation_create on License(licenseId)
Response
Returns a LicenseAssociation
Arguments
| Name | Description |
|---|---|
input - AddLicensePlace
|
Example
Query
mutation addLicensePlace($input: AddLicensePlace) {
addLicensePlace(input: $input) {
id
createdAt
updatedAt
license {
...LicenseFragment
}
boundEntityType
boundEntityId
placeId
deviceId
}
}
Variables
{"input": AddLicensePlace}
Response
{
"data": {
"addLicensePlace": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"boundEntityType": "PLACE",
"boundEntityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
addLicenseType
Description
Create a new license type in the platform.
Authorization: license_licensetypes_create on Platform
Response
Returns a LicenseType
Arguments
| Name | Description |
|---|---|
input - AddLicenseTypeInput!
|
Example
Query
mutation addLicenseType($input: AddLicenseTypeInput!) {
addLicenseType(input: $input) {
id
name
createdAt
updatedAt
entitySupport {
...LicenseTypeEntitySupportFragment
}
placeFeatures
deviceFeatures
}
}
Variables
{"input": AddLicenseTypeInput}
Response
{
"data": {
"addLicenseType": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"entitySupport": [LicenseTypeEntitySupport],
"placeFeatures": ["xyz789"],
"deviceFeatures": ["abc123"]
}
}
}
addLicensesToOrg
Description
Assign multiple licenses to an organization.
Authorization: license_licenses_activate on Organization(orgId)
Response
Returns a LicensesConnection!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddLicensesInput!
|
Example
Query
mutation addLicensesToOrg(
$orgId: ID!,
$input: AddLicensesInput!
) {
addLicensesToOrg(
orgId: $orgId,
input: $input
) {
pageInfo {
...PageInfoFragment
}
totalCount
licenses {
...LicenseFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddLicensesInput
}
Response
{
"data": {
"addLicensesToOrg": {
"pageInfo": PageInfo,
"totalCount": 987,
"licenses": [License]
}
}
}
addOrganizationMessage
Response
Returns an OrganizationMessage!
Arguments
| Name | Description |
|---|---|
input - AddOrganizationMessageInput!
|
Example
Query
mutation addOrganizationMessage($input: AddOrganizationMessageInput!) {
addOrganizationMessage(input: $input) {
id
organizations {
...OrganizationFragment
}
type
content
canBeClosed
showToAllOrganizations
showAt
hideAt
}
}
Variables
{"input": AddOrganizationMessageInput}
Response
{
"data": {
"addOrganizationMessage": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"organizations": [Organization],
"type": "SUCCESS",
"content": "abc123",
"canBeClosed": true,
"showToAllOrganizations": false,
"showAt": "2007-12-03T10:15:30Z",
"hideAt": "2007-12-03T10:15:30Z"
}
}
}
addOverview
Response
Returns an Overview!
Arguments
| Name | Description |
|---|---|
input - AddOverviewInput!
|
Example
Query
mutation addOverview($input: AddOverviewInput!) {
addOverview(input: $input) {
id
orgId
type
mode
name
message
alert {
...AlertFragment
}
showDateTime
showLogo
darkMode
columnCount
tiles {
...TileFragment
}
logoUrl
createdAt
updatedAt
place {
...PlaceFragment
}
}
}
Variables
{"input": AddOverviewInput}
Response
{
"data": {
"addOverview": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "abc123",
"type": "TILES",
"mode": "MONITORING",
"name": "xyz789",
"message": "abc123",
"alert": Alert,
"showDateTime": true,
"showLogo": false,
"darkMode": false,
"columnCount": 987,
"tiles": [Tile],
"logoUrl": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"place": Place
}
}
}
addPlace
Response
Returns a Place!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddPlaceInput!
|
Example
Query
mutation addPlace(
$orgId: ID!,
$input: AddPlaceInput!
) {
addPlace(
orgId: $orgId,
input: $input
) {
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
id
name
parentPlaceId
placeTypeId
settings {
... on BuildingSettings {
...BuildingSettingsFragment
}
... on SiteSettings {
...SiteSettingsFragment
}
... on FloorSettings {
...FloorSettingsFragment
}
... on ZoneSettings {
...ZoneSettingsFragment
}
... on DeskSettings {
...DeskSettingsFragment
}
... on RoomSettings {
...RoomSettingsFragment
}
}
attributes {
... on BuildingAttributes {
...BuildingAttributesFragment
}
... on SiteAttributes {
...SiteAttributesFragment
}
... on FloorAttributes {
...FloorAttributesFragment
}
... on ParkingLotAttributes {
...ParkingLotAttributesFragment
}
... on ParkingSpaceAttributes {
...ParkingSpaceAttributesFragment
}
... on DeskAttributes {
...DeskAttributesFragment
}
... on RoomAttributes {
...RoomAttributesFragment
}
}
createdAt
updatedAt
deviceCount
plan {
...PlanFragment
}
fullName
hierarchy {
...PlaceSummaryFragment
}
hasChildren
media {
...MediaFragment
}
available {
...AvailabilityFragment
}
calendar {
...PlaceFeatureInstanceFragment
}
zoomInfo {
...ZoomPlaceInfoFragment
}
timeZoneOffset
owner {
...MembershipFragment
}
isDedicated
qrCodeString
schedulingSettings {
...SchedulingSettingsFragment
}
mergedSchedulingSettings {
...SchedulingSettingsFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddPlaceInput
}
Response
{
"data": {
"addPlace": {
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 987,
"plan": Plan,
"fullName": ["abc123"],
"hierarchy": [PlaceSummary],
"hasChildren": false,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 123,
"owner": Membership,
"isDedicated": false,
"qrCodeString": "abc123",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
}
}
addPlaceFeature
Response
Returns a PlaceFeature!
Arguments
| Name | Description |
|---|---|
input - AddPlaceFeatureInput!
|
Example
Query
mutation addPlaceFeature($input: AddPlaceFeatureInput!) {
addPlaceFeature(input: $input) {
id
enabled
}
}
Variables
{"input": AddPlaceFeatureInput}
Response
{
"data": {
"addPlaceFeature": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"enabled": true
}
}
}
addPlaceType
Response
Returns a PlaceType!
Arguments
| Name | Description |
|---|---|
input - AddPlaceTypeInput!
|
Example
Query
mutation addPlaceType($input: AddPlaceTypeInput!) {
addPlaceType(input: $input) {
id
name
createdAt
updatedAt
}
}
Variables
{"input": AddPlaceTypeInput}
Response
{
"data": {
"addPlaceType": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
addRoomBooking
Response
Returns a RoomBooking!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - AddRoomBookingInput!
|
|
idTag - String
|
|
pin - String
|
Example
Query
mutation addRoomBooking(
$orgId: ID!,
$input: AddRoomBookingInput!,
$idTag: String,
$pin: String
) {
addRoomBooking(
orgId: $orgId,
input: $input,
idTag: $idTag,
pin: $pin
) {
id
bookedBy
user {
...UserFragment
}
room {
...RoomFragment
}
timeZone
title
startTime
endTime
teamsMeeting
attendees {
...AttendeeFragment
}
recurring
endRecurringDate
isPrivate
isImmutable
canceled
checkedIn
checkedOut
isWholeDay
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": AddRoomBookingInput,
"idTag": "abc123",
"pin": "abc123"
}
Response
{
"data": {
"addRoomBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"bookedBy": "abc123",
"user": User,
"room": Room,
"timeZone": "abc123",
"title": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"teamsMeeting": true,
"attendees": [Attendee],
"recurring": "abc123",
"endRecurringDate": "2007-12-03T10:15:30Z",
"isPrivate": true,
"isImmutable": true,
"canceled": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"isWholeDay": true
}
}
}
assignFirmware
Description
Assign firmware to one or more devices. Narrow down the targeted devices by providing filter. Provide firmwareId to assign a specific firmware (only devices of the same device type is then targeted). Omit firmwareId to assign the latest firmware for the devices respective channel and device type. Returns how many devices were updated.
If pushUpdate is true and the targeted device supports it, the update will be pushed to the device.
Authorization: device_devices_assign_firmware on Organization(orgId) or Platform
Response
Returns an Int!
Arguments
| Name | Description |
|---|---|
firmwareId - ID
|
|
filter - AssignFirmwareFilter!
|
|
pushUpdate - Boolean!
|
Default = false |
Example
Query
mutation assignFirmware(
$firmwareId: ID,
$filter: AssignFirmwareFilter!,
$pushUpdate: Boolean!
) {
assignFirmware(
firmwareId: $firmwareId,
filter: $filter,
pushUpdate: $pushUpdate
)
}
Variables
{
"firmwareId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filter": AssignFirmwareFilter,
"pushUpdate": false
}
Response
{"data": {"assignFirmware": 987}}
authenticateWithOverviewCode
Description
Authenticate overview screen. If the overview screen is not authorized yet, one of the following errors will be returned:
notFound: the device code do not existactivationPending: pending, the user has NOT started the user-interaction steps, continue pollingauthorizationPending: pending, the user has started the user-interaction steps, continue pollingslowDown: polling to fast, increase interval by 5 seconds for this and all subsequent requests, continue pollingaccessDenied: the auth request has been rejectedexpiredToken: the auth request has expired
Response
Returns an AuthenticatePayload!
Arguments
| Name | Description |
|---|---|
deviceCode - String!
|
Example
Query
mutation authenticateWithOverviewCode($deviceCode: String!) {
authenticateWithOverviewCode(deviceCode: $deviceCode) {
subject {
... on Overview {
...OverviewFragment
}
}
accessToken
expiresIn
}
}
Variables
{"deviceCode": "xyz789"}
Response
{
"data": {
"authenticateWithOverviewCode": {
"subject": Overview,
"accessToken": "xyz789",
"expiresIn": "P3Y6M4DT12H30M5S"
}
}
}
cancelBooking
Example
Query
mutation cancelBooking(
$id: ID!,
$idTag: String,
$pin: String
) {
cancelBooking(
id: $id,
idTag: $idTag,
pin: $pin
) {
id
startTime
endTime
checkedIn
checkedOut
canceled
isWholeDay
userDeleted
place {
...PlaceFragment
}
user {
...UserFragment
}
skipAwayFromDeskReminder
skipLateArrivalReminder
focusMode
arrivedAt
title
attendees {
...AttendeeFragment
}
isPrivate
isImmutable
organizer
desk {
...DeskFragment
}
resource {
...ResourceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"idTag": "abc123",
"pin": "xyz789"
}
Response
{
"data": {
"cancelBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": true,
"userDeleted": true,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": true,
"skipLateArrivalReminder": true,
"focusMode": false,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "xyz789",
"attendees": [Attendee],
"isPrivate": true,
"isImmutable": false,
"organizer": "abc123",
"desk": Desk,
"resource": Resource
}
}
}
cancelRoomBooking
Response
Returns a RoomBooking!
Example
Query
mutation cancelRoomBooking(
$orgId: ID!,
$id: ID!,
$idTag: String,
$pin: String
) {
cancelRoomBooking(
orgId: $orgId,
id: $id,
idTag: $idTag,
pin: $pin
) {
id
bookedBy
user {
...UserFragment
}
room {
...RoomFragment
}
timeZone
title
startTime
endTime
teamsMeeting
attendees {
...AttendeeFragment
}
recurring
endRecurringDate
isPrivate
isImmutable
canceled
checkedIn
checkedOut
isWholeDay
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"idTag": "abc123",
"pin": "xyz789"
}
Response
{
"data": {
"cancelRoomBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"bookedBy": "xyz789",
"user": User,
"room": Room,
"timeZone": "xyz789",
"title": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"teamsMeeting": true,
"attendees": [Attendee],
"recurring": "xyz789",
"endRecurringDate": "2007-12-03T10:15:30Z",
"isPrivate": true,
"isImmutable": false,
"canceled": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"isWholeDay": false
}
}
}
checkInBooking
Response
Returns a Booking!
Example
Query
mutation checkInBooking(
$id: ID!,
$idTag: String,
$pin: String,
$source: String
) {
checkInBooking(
id: $id,
idTag: $idTag,
pin: $pin,
source: $source
) {
id
startTime
endTime
checkedIn
checkedOut
canceled
isWholeDay
userDeleted
place {
...PlaceFragment
}
user {
...UserFragment
}
skipAwayFromDeskReminder
skipLateArrivalReminder
focusMode
arrivedAt
title
attendees {
...AttendeeFragment
}
isPrivate
isImmutable
organizer
desk {
...DeskFragment
}
resource {
...ResourceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"idTag": "xyz789",
"pin": "xyz789",
"source": "xyz789"
}
Response
{
"data": {
"checkInBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": false,
"userDeleted": true,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": false,
"skipLateArrivalReminder": true,
"focusMode": false,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "xyz789",
"attendees": [Attendee],
"isPrivate": false,
"isImmutable": true,
"organizer": "abc123",
"desk": Desk,
"resource": Resource
}
}
}
checkInRoomBooking
Response
Returns a RoomBooking!
Example
Query
mutation checkInRoomBooking(
$orgId: ID!,
$id: ID!,
$idTag: String,
$pin: String,
$source: String
) {
checkInRoomBooking(
orgId: $orgId,
id: $id,
idTag: $idTag,
pin: $pin,
source: $source
) {
id
bookedBy
user {
...UserFragment
}
room {
...RoomFragment
}
timeZone
title
startTime
endTime
teamsMeeting
attendees {
...AttendeeFragment
}
recurring
endRecurringDate
isPrivate
isImmutable
canceled
checkedIn
checkedOut
isWholeDay
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"idTag": "xyz789",
"pin": "xyz789",
"source": "xyz789"
}
Response
{
"data": {
"checkInRoomBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"bookedBy": "abc123",
"user": User,
"room": Room,
"timeZone": "xyz789",
"title": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"teamsMeeting": true,
"attendees": [Attendee],
"recurring": "abc123",
"endRecurringDate": "2007-12-03T10:15:30Z",
"isPrivate": true,
"isImmutable": false,
"canceled": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"isWholeDay": true
}
}
}
checkOutBooking
Example
Query
mutation checkOutBooking(
$id: ID!,
$idTag: String,
$pin: String
) {
checkOutBooking(
id: $id,
idTag: $idTag,
pin: $pin
) {
id
startTime
endTime
checkedIn
checkedOut
canceled
isWholeDay
userDeleted
place {
...PlaceFragment
}
user {
...UserFragment
}
skipAwayFromDeskReminder
skipLateArrivalReminder
focusMode
arrivedAt
title
attendees {
...AttendeeFragment
}
isPrivate
isImmutable
organizer
desk {
...DeskFragment
}
resource {
...ResourceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"idTag": "xyz789",
"pin": "abc123"
}
Response
{
"data": {
"checkOutBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": false,
"userDeleted": true,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": true,
"skipLateArrivalReminder": false,
"focusMode": true,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "xyz789",
"attendees": [Attendee],
"isPrivate": false,
"isImmutable": false,
"organizer": "xyz789",
"desk": Desk,
"resource": Resource
}
}
}
checkOutRoomBooking
Response
Returns a RoomBooking!
Example
Query
mutation checkOutRoomBooking(
$orgId: ID!,
$id: ID!,
$idTag: String,
$pin: String
) {
checkOutRoomBooking(
orgId: $orgId,
id: $id,
idTag: $idTag,
pin: $pin
) {
id
bookedBy
user {
...UserFragment
}
room {
...RoomFragment
}
timeZone
title
startTime
endTime
teamsMeeting
attendees {
...AttendeeFragment
}
recurring
endRecurringDate
isPrivate
isImmutable
canceled
checkedIn
checkedOut
isWholeDay
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"idTag": "xyz789",
"pin": "abc123"
}
Response
{
"data": {
"checkOutRoomBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"bookedBy": "abc123",
"user": User,
"room": Room,
"timeZone": "abc123",
"title": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"teamsMeeting": true,
"attendees": [Attendee],
"recurring": "xyz789",
"endRecurringDate": "2007-12-03T10:15:30Z",
"isPrivate": false,
"isImmutable": false,
"canceled": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"isWholeDay": false
}
}
}
completeZoomSetup
Description
Complete the Zoom Marketplace installation setup.
Response
Returns a ZoomConnection!
Arguments
| Name | Description |
|---|---|
input - CompleteZoomSetupInput!
|
Example
Query
mutation completeZoomSetup($input: CompleteZoomSetupInput!) {
completeZoomSetup(input: $input) {
id
orgId
zoomAccountId
connectedAt
connectedByUserId
status
statusMessage
statusUpdatedAt
installId
reauthLink
syncLog {
...SyncLogEntryFragment
}
managedPlacesCount
linkedDevicesCount
}
}
Variables
{"input": CompleteZoomSetupInput}
Response
{
"data": {
"completeZoomSetup": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"zoomAccountId": "xyz789",
"connectedAt": "2007-12-03T10:15:30Z",
"connectedByUserId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": "ACTIVE",
"statusMessage": "xyz789",
"statusUpdatedAt": "2007-12-03T10:15:30Z",
"installId": "xyz789",
"reauthLink": "abc123",
"syncLog": [SyncLogEntry],
"managedPlacesCount": 987,
"linkedDevicesCount": 123
}
}
}
convertServiceAccountToUser
Description
Convert a service account to a regular user account for organization access.
Requires: Platform admin permission. See Service Account Documentation for setup details.
Example
Query
mutation convertServiceAccountToUser($id: ID!) {
convertServiceAccountToUser(id: $id) {
id
name
firstName
lastName
email
eula
verified
memberships {
...MembershipFragment
}
invitations {
...InvitationFragment
}
superAdmin
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"convertServiceAccountToUser": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"email": "abc123",
"eula": "xyz789",
"verified": true,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
createCalendarEvent
Description
Create a new calendar event for a membership.
Authorization: calendar_calendarevents_create on Calendar(membershipId)
Response
Returns a CalendarEvent!
Arguments
| Name | Description |
|---|---|
membershipId - ID!
|
|
input - CreateCalendarEventInput!
|
Example
Query
mutation createCalendarEvent(
$membershipId: ID!,
$input: CreateCalendarEventInput!
) {
createCalendarEvent(
membershipId: $membershipId,
input: $input
) {
id
name
calendarId
timesSynced
remoteId
remoteData
isRecurring
isWholeDay
sensitivity
startTime
endTime
createdAt
updatedAt
attendees {
...AttendeeFragment
}
meetingUrl
creator
iCalUID
meetingProvider
}
}
Variables
{
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": CreateCalendarEventInput
}
Response
{
"data": {
"createCalendarEvent": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"calendarId": "xyz789",
"timesSynced": 987,
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "abc123",
"isRecurring": false,
"isWholeDay": false,
"sensitivity": "PRIVATE",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attendees": [Attendee],
"meetingUrl": "xyz789",
"creator": "abc123",
"iCalUID": "xyz789",
"meetingProvider": "UNSPECIFIED"
}
}
}
createDevice
Description
Register a new device in an organization and generate authentication credentials.
Authorization: device_devices_create on Organization(orgId)
Response
Returns a CreateDevicePayload!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - DeviceInput!
|
Example
Query
mutation createDevice(
$orgId: ID!,
$input: DeviceInput!
) {
createDevice(
orgId: $orgId,
input: $input
) {
device {
...DeviceFragment
}
token
legacyToken
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": DeviceInput
}
Response
{
"data": {
"createDevice": {
"device": Device,
"token": "abc123",
"legacyToken": "abc123"
}
}
}
createFacility
Description
Create a new facility.
Authorization: facility_facility_create on Platform
Response
Returns a Facility
Arguments
| Name | Description |
|---|---|
input - AddFacilityInput!
|
Example
Query
mutation createFacility($input: AddFacilityInput!) {
createFacility(input: $input) {
id
name
category
iconPath
}
}
Variables
{"input": AddFacilityInput}
Response
{
"data": {
"createFacility": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"category": "abc123",
"iconPath": "abc123"
}
}
}
createOrganization
Description
Create a new organization in the platform.
Authorization: organization_organizations_create on Platform
Response
Returns an Organization!
Arguments
| Name | Description |
|---|---|
input - CreateOrganizationInput!
|
Example
Query
mutation createOrganization($input: CreateOrganizationInput!) {
createOrganization(input: $input) {
hasCalendar
id
name
domain
logoMediaId
logoUrl
bookingSettings {
...OrganizationBookingSettingsFragment
}
deskBookingSettings {
...DeskBookingSettingsFragment
}
roomBookingSettings {
...RoomBookingSettingsFragment
}
parkingBookingSettings {
...ParkingBookingSettingsFragment
}
calendarSettings {
...CalendarSettingsFragment
}
whitelist
whitelistEnabled
language
timezone
deviceScreenTemplate
brokenEquipmentReportEmails
timePresentation
deskStats {
...DeskStatsFragment
}
deviceStats {
...DeviceStatsFragment
}
membershipStats {
...MembershipStatsFragment
}
openHours {
...WeeklyOpenHoursFragment
}
licenseStats {
...LicenseStatsFragment
}
trial {
...LicenseFragment
}
ola
deviceErrorReportEmails
deviceErrorReportWebhookUrl
createdAt
updatedAt
type
schedulingSettings {
...SchedulingSettingsFragment
}
pin {
...PinFragment
}
}
}
Variables
{"input": CreateOrganizationInput}
Response
{
"data": {
"createOrganization": {
"hasCalendar": false,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"domain": "xyz789",
"logoMediaId": "abc123",
"logoUrl": "xyz789",
"bookingSettings": OrganizationBookingSettings,
"deskBookingSettings": DeskBookingSettings,
"roomBookingSettings": RoomBookingSettings,
"parkingBookingSettings": ParkingBookingSettings,
"calendarSettings": CalendarSettings,
"whitelist": "abc123",
"whitelistEnabled": true,
"language": "xyz789",
"timezone": "abc123",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": [
"xyz789"
],
"timePresentation": "H24",
"deskStats": DeskStats,
"deviceStats": DeviceStats,
"membershipStats": MembershipStats,
"openHours": WeeklyOpenHours,
"licenseStats": LicenseStats,
"trial": [License],
"ola": "xyz789",
"deviceErrorReportEmails": ["abc123"],
"deviceErrorReportWebhookUrl": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"type": "SHARED",
"schedulingSettings": SchedulingSettings,
"pin": Pin
}
}
}
createPin
Description
Create a new PIN for organization or membership access.
Authorization: pin_pins_create on Membership(membershipId) OR Organization(orgId)
Response
Returns a Pin!
Arguments
| Name | Description |
|---|---|
input - CreatePinInput!
|
Example
Query
mutation createPin($input: CreatePinInput!) {
createPin(input: $input) {
id
code
orgId
membershipId
}
}
Variables
{"input": CreatePinInput}
Response
{
"data": {
"createPin": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"code": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
createPlan
Response
Returns a Plan!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
input - CreatePlanInput!
|
Example
Query
mutation createPlan(
$orgId: ID!,
$input: CreatePlanInput!
) {
createPlan(
orgId: $orgId,
input: $input
) {
id
orgId
placeId
mediaId
annotations
createdAt
updatedAt
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": CreatePlanInput
}
Response
{
"data": {
"createPlan": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"annotations": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
createScheduleEvent
Description
Create a new scheduled event in a calendar.
Authorization: schedule_event_create on ScheduleCalendar(parent)
Response
Returns a ScheduleEvent!
Arguments
| Name | Description |
|---|---|
parent - ID!
|
|
event - ScheduleEventInput
|
Example
Query
mutation createScheduleEvent(
$parent: ID!,
$event: ScheduleEventInput
) {
createScheduleEvent(
parent: $parent,
event: $event
) {
name
createdAt
updatedAt
summary
description
startTime
endTime
timeZone
recurrence
recurringEventId
devices {
...DeviceFragment
}
deviceAction
deviceActionArguments
deviceActionTriggeredAt
notificationEmails
deviceActionCompletedAt
deviceActionState
notificationBeforeOffset
}
}
Variables
{
"parent": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"event": ScheduleEventInput
}
Response
{
"data": {
"createScheduleEvent": {
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"summary": "abc123",
"description": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"timeZone": "abc123",
"recurrence": ["abc123"],
"recurringEventId": "abc123",
"devices": [Device],
"deviceAction": "xyz789",
"deviceActionArguments": ["xyz789"],
"deviceActionTriggeredAt": "2007-12-03T10:15:30Z",
"notificationEmails": ["abc123"],
"deviceActionCompletedAt": "2007-12-03T10:15:30Z",
"deviceActionState": "UNSPECIFIED",
"notificationBeforeOffset": "P3Y6M4DT12H30M5S"
}
}
}
deactivateMembership
Description
Deactivate an active membership without deleting it.
Requires: Organization admin or owner role
Response
Returns a Membership!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deactivateMembership($id: ID!) {
deactivateMembership(id: $id) {
hasCalendar
calendar {
...CalendarFragment
}
id
userId
orgId
user {
...UserFragment
}
organization {
...OrganizationFragment
}
invitation {
...InvitationFragment
}
role
roles
createdAt
updatedAt
status
pin {
...PinFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deactivateMembership": {
"hasCalendar": true,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
}
}
declineInvitation
Response
Returns an Invitation!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation declineInvitation($id: ID!) {
declineInvitation(id: $id) {
id
orgId
email
expiresAt
organization {
...OrganizationFragment
}
status
membership {
...MembershipFragment
}
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"declineInvitation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"email": "abc123",
"expiresAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"status": "PENDING",
"membership": Membership,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deleteCalendarEvent
Description
Delete a calendar event.
Authorization: calendar_calendarevents_delete on CalendarEvent(id)
Response
Returns a DeleteCalendarEventResponse!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteCalendarEvent($id: ID!) {
deleteCalendarEvent(id: $id) {
id
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteCalendarEvent": {"id": "xyz789"}
}
}
deleteCalendarSource
Description
Delete a calendar source and all associated calendars and events.
Authorization: calendar_calendarsources_delete on CalendarSource(srcId)
Response
Returns a DeleteCalendarSourceResponse!
Arguments
| Name | Description |
|---|---|
srcId - ID!
|
Example
Query
mutation deleteCalendarSource($srcId: ID!) {
deleteCalendarSource(srcId: $srcId) {
id
deletedCalendarsCount
deletedEventsCount
}
}
Variables
{"srcId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteCalendarSource": {
"id": "xyz789",
"deletedCalendarsCount": 123,
"deletedEventsCount": 123
}
}
}
deleteChannel
Description
Delete a firmware distribution channel.
Authorization: firmware_channel_delete on Channel(id)
Example
Query
mutation deleteChannel($id: ID!) {
deleteChannel(id: $id) {
id
name
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteChannel": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789"
}
}
}
deleteDevice
Description
Delete a device and remove all associated resources.
Authorization: device_devices_delete on Device(id)
Example
Query
mutation deleteDevice($id: ID!) {
deleteDevice(id: $id) {
id
type {
...DeviceTypeFragment
}
serial
assignedFirmware {
...FirmwareFragment
}
latestFirmware {
...FirmwareFragment
}
nextFirmware {
...FirmwareFragment
}
firmwarePublicKey
firmwareVariant
channel {
...ChannelFragment
}
place {
...PlaceFragment
}
placeId
desk {
...DeskFragment
}
deskId
room {
...RoomFragment
}
roomId
status {
...DeviceStatusFragment
}
language
timezone
orgName
orgId
parent {
...DeviceFragment
}
children {
...DeviceFragment
}
activeHours {
...WeeklyOpenHoursFragment
}
createdAt
updatedAt
attributes {
...DeviceAttributesFragment
}
state
activeError {
...DeviceEventStatusFragment
}
activeDeviceErrors {
...DeviceEventFragment
}
interfaces {
...NetworkInterfaceFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteDevice": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "abc123",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "xyz789",
"firmwareVariant": "xyz789",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "xyz789",
"timezone": "xyz789",
"orgName": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
}
}
deleteDeviceSerial
Description
Remove a device serial record by serial number and device type.
Authorization: device_serial_delete on Platform
Example
Query
mutation deleteDeviceSerial(
$serial: ID!,
$deviceTypeId: ID!
) {
deleteDeviceSerial(
serial: $serial,
deviceTypeId: $deviceTypeId
)
}
Variables
{
"serial": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{"data": {"deleteDeviceSerial": false}}
deleteDeviceSpecificSettings
Description
Deletes a device specific setting matching the device specific setting ID. NOTE: The ID in this mutation is the ID of the device speciic setting itself, and NOT the device ID. If the caller does not know the ID of the setting, it can be found from the deviceSpecificSettings query which does take the device ID as input.
Response
Returns a DeviceSpecificSettings!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteDeviceSpecificSettings($id: ID!) {
deleteDeviceSpecificSettings(id: $id) {
id
deviceID
preset
data
dataVersion
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteDeviceSpecificSettings": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "xyz789",
"data": "abc123",
"dataVersion": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deleteFile
Description
Delete a file. Hard delete: removes the blob from storage and the row from the database. Idempotent on the blob side (a missing blob is a no-op).
Authorization: file_files_delete on Organization(orgId)
Response
Returns a DeleteFileResult!
Arguments
| Name | Description |
|---|---|
input - DeleteFileInput!
|
Example
Query
mutation deleteFile($input: DeleteFileInput!) {
deleteFile(input: $input) {
fileId
}
}
Variables
{"input": DeleteFileInput}
Response
{"data": {"deleteFile": {"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}}}
deleteFirmware
Description
Delete a firmware version from the platform.
Authorization: firmware_firmware_delete on Firmware(id)
Example
Query
mutation deleteFirmware($id: ID!) {
deleteFirmware(id: $id) {
id
deviceType {
...DeviceTypeFragment
}
version
url
publicKey
variant
channels {
...ChannelFragment
}
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteFirmware": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceType": DeviceType,
"version": "abc123",
"url": "abc123",
"publicKey": "xyz789",
"variant": "abc123",
"channels": [Channel],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deleteIDTag
Description
Delete an ID tag.
Authorization: idtag_idtags_delete on Idtag(id)
Example
Query
mutation deleteIDTag($id: ID!) {
deleteIDTag(id: $id) {
id
userId
orgId
name
tag
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteIDTag": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"tag": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deleteInvitation
Response
Returns an Invitation!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteInvitation($id: ID!) {
deleteInvitation(id: $id) {
id
orgId
email
expiresAt
organization {
...OrganizationFragment
}
status
membership {
...MembershipFragment
}
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteInvitation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"email": "abc123",
"expiresAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"status": "PENDING",
"membership": Membership,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deleteLicenseAssociation
Description
Remove a license association from a place or device.
Authorization: license_licenseassociation_delete on LicenseAssociation(id)
Response
Returns a LicenseAssociation
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteLicenseAssociation($id: ID!) {
deleteLicenseAssociation(id: $id) {
id
createdAt
updatedAt
license {
...LicenseFragment
}
boundEntityType
boundEntityId
placeId
deviceId
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteLicenseAssociation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"boundEntityType": "PLACE",
"boundEntityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
deleteMembership
Description
Remove a user's membership from an organization.
Requires: Organization admin or owner role
Response
Returns a Membership!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteMembership($id: ID!) {
deleteMembership(id: $id) {
hasCalendar
calendar {
...CalendarFragment
}
id
userId
orgId
user {
...UserFragment
}
organization {
...OrganizationFragment
}
invitation {
...InvitationFragment
}
role
roles
createdAt
updatedAt
status
pin {
...PinFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteMembership": {
"hasCalendar": true,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
}
}
deleteOrganization
Description
Delete an organization and all associated data.
Authorization: organization_organizations_delete on Organization(id)
Response
Returns an Organization!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteOrganization($id: ID!) {
deleteOrganization(id: $id) {
hasCalendar
id
name
domain
logoMediaId
logoUrl
bookingSettings {
...OrganizationBookingSettingsFragment
}
deskBookingSettings {
...DeskBookingSettingsFragment
}
roomBookingSettings {
...RoomBookingSettingsFragment
}
parkingBookingSettings {
...ParkingBookingSettingsFragment
}
calendarSettings {
...CalendarSettingsFragment
}
whitelist
whitelistEnabled
language
timezone
deviceScreenTemplate
brokenEquipmentReportEmails
timePresentation
deskStats {
...DeskStatsFragment
}
deviceStats {
...DeviceStatsFragment
}
membershipStats {
...MembershipStatsFragment
}
openHours {
...WeeklyOpenHoursFragment
}
licenseStats {
...LicenseStatsFragment
}
trial {
...LicenseFragment
}
ola
deviceErrorReportEmails
deviceErrorReportWebhookUrl
createdAt
updatedAt
type
schedulingSettings {
...SchedulingSettingsFragment
}
pin {
...PinFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteOrganization": {
"hasCalendar": true,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"domain": "abc123",
"logoMediaId": "abc123",
"logoUrl": "xyz789",
"bookingSettings": OrganizationBookingSettings,
"deskBookingSettings": DeskBookingSettings,
"roomBookingSettings": RoomBookingSettings,
"parkingBookingSettings": ParkingBookingSettings,
"calendarSettings": CalendarSettings,
"whitelist": "abc123",
"whitelistEnabled": false,
"language": "xyz789",
"timezone": "xyz789",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": [
"xyz789"
],
"timePresentation": "H24",
"deskStats": DeskStats,
"deviceStats": DeviceStats,
"membershipStats": MembershipStats,
"openHours": WeeklyOpenHours,
"licenseStats": LicenseStats,
"trial": [License],
"ola": "xyz789",
"deviceErrorReportEmails": ["abc123"],
"deviceErrorReportWebhookUrl": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"type": "SHARED",
"schedulingSettings": SchedulingSettings,
"pin": Pin
}
}
}
deleteOrganizationMessage
Response
Returns an OrganizationMessage!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
mutation deleteOrganizationMessage($id: ID!) {
deleteOrganizationMessage(id: $id) {
id
organizations {
...OrganizationFragment
}
type
content
canBeClosed
showToAllOrganizations
showAt
hideAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteOrganizationMessage": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"organizations": [Organization],
"type": "SUCCESS",
"content": "abc123",
"canBeClosed": false,
"showToAllOrganizations": false,
"showAt": "2007-12-03T10:15:30Z",
"hideAt": "2007-12-03T10:15:30Z"
}
}
}
deleteOverview
Example
Query
mutation deleteOverview($id: ID!) {
deleteOverview(id: $id) {
id
orgId
type
mode
name
message
alert {
...AlertFragment
}
showDateTime
showLogo
darkMode
columnCount
tiles {
...TileFragment
}
logoUrl
createdAt
updatedAt
place {
...PlaceFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteOverview": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "abc123",
"type": "TILES",
"mode": "MONITORING",
"name": "abc123",
"message": "abc123",
"alert": Alert,
"showDateTime": true,
"showLogo": false,
"darkMode": false,
"columnCount": 987,
"tiles": [Tile],
"logoUrl": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"place": Place
}
}
}
deletePin
Description
Delete a PIN.
Authorization: pin_pins_delete on Pin(id)
Example
Query
mutation deletePin($id: ID!) {
deletePin(id: $id) {
id
code
orgId
membershipId
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deletePin": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"code": "xyz789",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
deletePlace
Example
Query
mutation deletePlace($id: ID!) {
deletePlace(id: $id) {
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
id
name
parentPlaceId
placeTypeId
settings {
... on BuildingSettings {
...BuildingSettingsFragment
}
... on SiteSettings {
...SiteSettingsFragment
}
... on FloorSettings {
...FloorSettingsFragment
}
... on ZoneSettings {
...ZoneSettingsFragment
}
... on DeskSettings {
...DeskSettingsFragment
}
... on RoomSettings {
...RoomSettingsFragment
}
}
attributes {
... on BuildingAttributes {
...BuildingAttributesFragment
}
... on SiteAttributes {
...SiteAttributesFragment
}
... on FloorAttributes {
...FloorAttributesFragment
}
... on ParkingLotAttributes {
...ParkingLotAttributesFragment
}
... on ParkingSpaceAttributes {
...ParkingSpaceAttributesFragment
}
... on DeskAttributes {
...DeskAttributesFragment
}
... on RoomAttributes {
...RoomAttributesFragment
}
}
createdAt
updatedAt
deviceCount
plan {
...PlanFragment
}
fullName
hierarchy {
...PlaceSummaryFragment
}
hasChildren
media {
...MediaFragment
}
available {
...AvailabilityFragment
}
calendar {
...PlaceFeatureInstanceFragment
}
zoomInfo {
...ZoomPlaceInfoFragment
}
timeZoneOffset
owner {
...MembershipFragment
}
isDedicated
qrCodeString
schedulingSettings {
...SchedulingSettingsFragment
}
mergedSchedulingSettings {
...SchedulingSettingsFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deletePlace": {
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 987,
"plan": Plan,
"fullName": ["abc123"],
"hierarchy": [PlaceSummary],
"hasChildren": true,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 123,
"owner": Membership,
"isDedicated": false,
"qrCodeString": "xyz789",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
}
}
deletePlaceFeature
deletePlan
Example
Query
mutation deletePlan($id: ID!) {
deletePlan(id: $id) {
id
orgId
placeId
mediaId
annotations
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deletePlan": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"annotations": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deleteScheduleEvent
Description
Delete a scheduled event.
Authorization: schedule_event_delete on ScheduleCalendar (parent of event)
Response
Returns a ScheduleEvent!
Arguments
| Name | Description |
|---|---|
name - ID!
|
Example
Query
mutation deleteScheduleEvent($name: ID!) {
deleteScheduleEvent(name: $name) {
name
createdAt
updatedAt
summary
description
startTime
endTime
timeZone
recurrence
recurringEventId
devices {
...DeviceFragment
}
deviceAction
deviceActionArguments
deviceActionTriggeredAt
notificationEmails
deviceActionCompletedAt
deviceActionState
notificationBeforeOffset
}
}
Variables
{"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteScheduleEvent": {
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"summary": "abc123",
"description": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"timeZone": "abc123",
"recurrence": ["abc123"],
"recurringEventId": "abc123",
"devices": [Device],
"deviceAction": "abc123",
"deviceActionArguments": ["abc123"],
"deviceActionTriggeredAt": "2007-12-03T10:15:30Z",
"notificationEmails": ["abc123"],
"deviceActionCompletedAt": "2007-12-03T10:15:30Z",
"deviceActionState": "UNSPECIFIED",
"notificationBeforeOffset": "P3Y6M4DT12H30M5S"
}
}
}
deleteUser
Description
Delete a user account. Currently not implemented.
Requires: Platform admin permission
Example
Query
mutation deleteUser($id: ID!) {
deleteUser(id: $id) {
id
name
firstName
lastName
email
eula
verified
memberships {
...MembershipFragment
}
invitations {
...InvitationFragment
}
superAdmin
createdAt
updatedAt
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deleteUser": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"email": "xyz789",
"eula": "xyz789",
"verified": true,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deviceCommand
Response
Returns a DeviceCommandResult!
Arguments
| Name | Description |
|---|---|
input - DeviceCommandInput!
|
Example
Query
mutation deviceCommand($input: DeviceCommandInput!) {
deviceCommand(input: $input) {
success
errorMessage
}
}
Variables
{"input": DeviceCommandInput}
Response
{
"data": {
"deviceCommand": {
"success": false,
"errorMessage": "abc123"
}
}
}
disconnectZoomFromOrganization
Description
Disconnect Zoom from an organization.
Removes Zoom integration metadata but keeps places and devices as regular (non-Zoom) entities.
Response
Returns a ZoomDisconnectResult!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
mutation disconnectZoomFromOrganization($orgId: ID!) {
disconnectZoomFromOrganization(orgId: $orgId) {
success
placesAffected
licensesDecoupled
message
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"disconnectZoomFromOrganization": {
"success": true,
"placesAffected": 123,
"licensesDecoupled": 987,
"message": "xyz789"
}
}
}
duplicateFile
Description
Duplicate an existing file within the same organization. The duplicating user becomes the new file's owner. The blob is copied server-side; clients do not download or re-upload bytes.
Returns the new file in PENDING status. The blob copy is asynchronous; clients can poll file(input) until status is UPLOADED.
Authorization: file_files_duplicate on Organization(orgId)
Response
Returns a DuplicateFileResult!
Arguments
| Name | Description |
|---|---|
input - DuplicateFileInput!
|
Example
Query
mutation duplicateFile($input: DuplicateFileInput!) {
duplicateFile(input: $input) {
file {
...FileFragment
}
}
}
Variables
{"input": DuplicateFileInput}
Response
{"data": {"duplicateFile": {"file": File}}}
extendBooking
Response
Returns a Booking!
Example
Query
mutation extendBooking(
$id: ID!,
$seconds: Int,
$idTag: String,
$pin: String
) {
extendBooking(
id: $id,
seconds: $seconds,
idTag: $idTag,
pin: $pin
) {
id
startTime
endTime
checkedIn
checkedOut
canceled
isWholeDay
userDeleted
place {
...PlaceFragment
}
user {
...UserFragment
}
skipAwayFromDeskReminder
skipLateArrivalReminder
focusMode
arrivedAt
title
attendees {
...AttendeeFragment
}
isPrivate
isImmutable
organizer
desk {
...DeskFragment
}
resource {
...ResourceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"seconds": 123,
"idTag": "abc123",
"pin": "abc123"
}
Response
{
"data": {
"extendBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": false,
"userDeleted": true,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": true,
"skipLateArrivalReminder": false,
"focusMode": false,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "abc123",
"attendees": [Attendee],
"isPrivate": true,
"isImmutable": true,
"organizer": "xyz789",
"desk": Desk,
"resource": Resource
}
}
}
generateFileReplaceUrl
Description
Generate a signed URL for replacing the contents of an existing file in blob storage. The blob is overwritten in place at the file's existing path.
Authorization: file_files_replace on Organization(file.orgId)
Response
Returns a GenerateFileUploadUrlResult!
Arguments
| Name | Description |
|---|---|
input - GenerateFileReplaceUrlInput!
|
Example
Query
mutation generateFileReplaceUrl($input: GenerateFileReplaceUrlInput!) {
generateFileReplaceUrl(input: $input) {
fileId
url {
...SignedUrlFragment
}
}
}
Variables
{"input": GenerateFileReplaceUrlInput}
Response
{
"data": {
"generateFileReplaceUrl": {
"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"url": SignedUrl
}
}
}
generateFileUploadUrl
Description
Generate a signed URL for uploading a file to blob storage.
Authorization: file_signedurl_create on Organization(orgId)
Response
Returns a GenerateFileUploadUrlResult!
Arguments
| Name | Description |
|---|---|
input - GenerateFileUploadUrlInput!
|
Example
Query
mutation generateFileUploadUrl($input: GenerateFileUploadUrlInput!) {
generateFileUploadUrl(input: $input) {
fileId
url {
...SignedUrlFragment
}
}
}
Variables
{"input": GenerateFileUploadUrlInput}
Response
{
"data": {
"generateFileUploadUrl": {
"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"url": SignedUrl
}
}
}
generateFirmwareURL
Description
Generate a signed URL for firmware upload or download.
Authorization: firmware_firmware_upload on Platform (for upload) or firmware_firmware_download on Platform (for download)
Response
Returns an FirmwareURL!
Arguments
| Name | Description |
|---|---|
input - GenerateFirmwareURLInput!
|
Example
Query
mutation generateFirmwareURL($input: GenerateFirmwareURLInput!) {
generateFirmwareURL(input: $input) {
url
expiresAt
}
}
Variables
{"input": GenerateFirmwareURLInput}
Response
{
"data": {
"generateFirmwareURL": {
"url": "xyz789",
"expiresAt": "2007-12-03T10:15:30Z"
}
}
}
generateOverviewCode
Description
Generate a new overview code used to authorize overview screens.
Response
Returns an OverviewCodePayload!
Example
Query
mutation generateOverviewCode {
generateOverviewCode {
deviceCode
userCode
expiresIn
interval
verificationUri
verificationUriComplete
}
}
Response
{
"data": {
"generateOverviewCode": {
"deviceCode": "abc123",
"userCode": "abc123",
"expiresIn": "P3Y6M4DT12H30M5S",
"interval": "P3Y6M4DT12H30M5S",
"verificationUri": "abc123",
"verificationUriComplete": "abc123"
}
}
}
importIDTags
Description
Import ID tags from a csv file. The file should contain one tag per line in the specified format: email,tag_value
Response
Returns an ImportIDTagsResult!
Arguments
| Name | Description |
|---|---|
input - ImportIDTagsInput!
|
Example
Query
mutation importIDTags($input: ImportIDTagsInput!) {
importIDTags(input: $input) {
summary {
...ImportIDTagsSummaryFragment
}
reportUrl {
...SignedUrlFragment
}
}
}
Variables
{"input": ImportIDTagsInput}
Response
{
"data": {
"importIDTags": {
"summary": ImportIDTagsSummary,
"reportUrl": SignedUrl
}
}
}
joinOrganization
Description
Request to join an organization by domain. Creates a membership request pending approval.
Requires: Authentication. The organization admin must approve the request before membership is active.
Response
Returns a Membership!
Arguments
| Name | Description |
|---|---|
domain - String!
|
Example
Query
mutation joinOrganization($domain: String!) {
joinOrganization(domain: $domain) {
hasCalendar
calendar {
...CalendarFragment
}
id
userId
orgId
user {
...UserFragment
}
organization {
...OrganizationFragment
}
invitation {
...InvitationFragment
}
role
roles
createdAt
updatedAt
status
pin {
...PinFragment
}
}
}
Variables
{"domain": "abc123"}
Response
{
"data": {
"joinOrganization": {
"hasCalendar": false,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
}
}
movePlace
Example
Query
mutation movePlace(
$id: ID!,
$parentPlaceId: ID
) {
movePlace(
id: $id,
parentPlaceId: $parentPlaceId
) {
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
id
name
parentPlaceId
placeTypeId
settings {
... on BuildingSettings {
...BuildingSettingsFragment
}
... on SiteSettings {
...SiteSettingsFragment
}
... on FloorSettings {
...FloorSettingsFragment
}
... on ZoneSettings {
...ZoneSettingsFragment
}
... on DeskSettings {
...DeskSettingsFragment
}
... on RoomSettings {
...RoomSettingsFragment
}
}
attributes {
... on BuildingAttributes {
...BuildingAttributesFragment
}
... on SiteAttributes {
...SiteAttributesFragment
}
... on FloorAttributes {
...FloorAttributesFragment
}
... on ParkingLotAttributes {
...ParkingLotAttributesFragment
}
... on ParkingSpaceAttributes {
...ParkingSpaceAttributesFragment
}
... on DeskAttributes {
...DeskAttributesFragment
}
... on RoomAttributes {
...RoomAttributesFragment
}
}
createdAt
updatedAt
deviceCount
plan {
...PlanFragment
}
fullName
hierarchy {
...PlaceSummaryFragment
}
hasChildren
media {
...MediaFragment
}
available {
...AvailabilityFragment
}
calendar {
...PlaceFeatureInstanceFragment
}
zoomInfo {
...ZoomPlaceInfoFragment
}
timeZoneOffset
owner {
...MembershipFragment
}
isDedicated
qrCodeString
schedulingSettings {
...SchedulingSettingsFragment
}
mergedSchedulingSettings {
...SchedulingSettingsFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{
"data": {
"movePlace": {
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 987,
"plan": Plan,
"fullName": ["xyz789"],
"hierarchy": [PlaceSummary],
"hasChildren": false,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 987,
"owner": Membership,
"isDedicated": false,
"qrCodeString": "xyz789",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
}
}
publishNatsAccount
Description
Publish a NATS account JWT for messaging infrastructure.
Requires: Permission to publish the NATS account
Response
Returns a NatsAccount!
Arguments
| Name | Description |
|---|---|
id - String!
|
Example
Query
mutation publishNatsAccount($id: String!) {
publishNatsAccount(id: $id) {
id
jwt
orgId
platformId
createdAt
updatedAt
}
}
Variables
{"id": "xyz789"}
Response
{
"data": {
"publishNatsAccount": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"jwt": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"platformId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
purgeZoomFromOrganization
Description
Purge all Zoom data from an organization.
Deletes all Zoom-synced data and decouples licenses.
Response
Returns a ZoomPurgeResult!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
mutation purgeZoomFromOrganization($orgId: ID!) {
purgeZoomFromOrganization(orgId: $orgId) {
success
placesDeleted
message
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"purgeZoomFromOrganization": {
"success": true,
"placesDeleted": 987,
"message": "xyz789"
}
}
}
reportResourceIssue
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
problemAreas - [RoomResource!]!
|
Example
Query
mutation reportResourceIssue(
$id: ID!,
$problemAreas: [RoomResource!]!
) {
reportResourceIssue(
id: $id,
problemAreas: $problemAreas
)
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"problemAreas": ["ROOM_TEMPERATURE"]
}
Response
{"data": {"reportResourceIssue": true}}
resetFirmware
Description
Reset device firmware assignment to use the channel default.
Authorization: device_devices_assign_firmware on Platform
Example
Query
mutation resetFirmware($id: ID!) {
resetFirmware(id: $id) {
id
type {
...DeviceTypeFragment
}
serial
assignedFirmware {
...FirmwareFragment
}
latestFirmware {
...FirmwareFragment
}
nextFirmware {
...FirmwareFragment
}
firmwarePublicKey
firmwareVariant
channel {
...ChannelFragment
}
place {
...PlaceFragment
}
placeId
desk {
...DeskFragment
}
deskId
room {
...RoomFragment
}
roomId
status {
...DeviceStatusFragment
}
language
timezone
orgName
orgId
parent {
...DeviceFragment
}
children {
...DeviceFragment
}
activeHours {
...WeeklyOpenHoursFragment
}
createdAt
updatedAt
attributes {
...DeviceAttributesFragment
}
state
activeError {
...DeviceEventStatusFragment
}
activeDeviceErrors {
...DeviceEventFragment
}
interfaces {
...NetworkInterfaceFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"resetFirmware": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "abc123",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "xyz789",
"firmwareVariant": "abc123",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "abc123",
"timezone": "xyz789",
"orgName": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
}
}
revokeLicense
Description
Revoke a license and make it unusable.
Authorization: license_licenses_revoke on Platform
Example
Query
mutation revokeLicense($id: ID!) {
revokeLicense(id: $id) {
id
refId
count
duration
activatesAt
expiresAt
createdAt
updatedAt
revokedAt
organization {
...OrganizationFragment
}
licenseTypeId
trial
state
licenseType {
...LicenseTypeFragment
}
associations {
...LicenseAssociationsConnectionFragment
}
places {
...LicensePlacesConnectionFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"revokeLicense": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"refId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"count": 123,
"duration": 987,
"activatesAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"revokedAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"trial": false,
"state": "UNSPECIFIED",
"licenseType": LicenseType,
"associations": LicenseAssociationsConnection,
"places": LicensePlacesConnection
}
}
}
setFeatureFlag
Response
Returns a FeatureFlag!
Arguments
| Name | Description |
|---|---|
input - SetFeatureFlagInput!
|
Example
Query
mutation setFeatureFlag($input: SetFeatureFlagInput!) {
setFeatureFlag(input: $input) {
id
value
description
}
}
Variables
{"input": SetFeatureFlagInput}
Response
{
"data": {
"setFeatureFlag": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"value": false,
"description": "abc123"
}
}
}
signDeviceJwt
Response
Returns a DeviceJwt!
Arguments
| Name | Description |
|---|---|
input - SignDeviceJwtInput!
|
Example
Query
mutation signDeviceJwt($input: SignDeviceJwtInput!) {
signDeviceJwt(input: $input) {
id
orgId
deviceId
jwt
createdAt
}
}
Variables
{"input": SignDeviceJwtInput}
Response
{
"data": {
"signDeviceJwt": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"jwt": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
signMembershipJwt
Description
Sign a membership JWT for NATS authentication with organization-scoped permissions.
Requires: Organization membership with the base permission for every requested application. If any requested application is not permitted, the entire request is rejected. bwp.info.> is always granted. COMMAND grants bwp.control.> and bwp.control-restricted.> (if permitted). SETTINGS grants bwp.settings.> and bwp.settings-restricted.> (if permitted).
Response
Returns a SignMembershipJwtResponse!
Arguments
| Name | Description |
|---|---|
input - SignMembershipJwtInput!
|
Example
Query
mutation signMembershipJwt($input: SignMembershipJwtInput!) {
signMembershipJwt(input: $input) {
jwt
}
}
Variables
{"input": SignMembershipJwtInput}
Response
{
"data": {
"signMembershipJwt": {"jwt": "xyz789"}
}
}
startSyncOrgSources
Description
Trigger synchronization of all calendar sources for an organization.
Authorization: calendar_calendarsources_sync on Organization(orgId)
Response
Returns a StartSyncOrgSourcesResponse!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
mutation startSyncOrgSources($orgId: ID!) {
startSyncOrgSources(orgId: $orgId) {
started
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{"data": {"startSyncOrgSources": {"started": true}}}
syncZoomWorkspacesNow
Description
Queue an immediate sync of Zoom workspaces for an organization.
Returns immediately after queuing. Watch zoomConnection.syncLog for the actual sync outcome and any errors (including re-auth requirements).
Response
Returns a ZoomSyncStarted!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
Example
Query
mutation syncZoomWorkspacesNow($orgId: ID!) {
syncZoomWorkspacesNow(orgId: $orgId) {
accepted
startedAt
}
}
Variables
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"syncZoomWorkspacesNow": {
"accepted": false,
"startedAt": "2007-12-03T10:15:30Z"
}
}
}
updateBooking
Response
Returns a Booking!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateBookingInput!
|
|
idTag - String
|
|
pin - String
|
Example
Query
mutation updateBooking(
$id: ID!,
$input: UpdateBookingInput!,
$idTag: String,
$pin: String
) {
updateBooking(
id: $id,
input: $input,
idTag: $idTag,
pin: $pin
) {
id
startTime
endTime
checkedIn
checkedOut
canceled
isWholeDay
userDeleted
place {
...PlaceFragment
}
user {
...UserFragment
}
skipAwayFromDeskReminder
skipLateArrivalReminder
focusMode
arrivedAt
title
attendees {
...AttendeeFragment
}
isPrivate
isImmutable
organizer
desk {
...DeskFragment
}
resource {
...ResourceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateBookingInput,
"idTag": "xyz789",
"pin": "xyz789"
}
Response
{
"data": {
"updateBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": false,
"userDeleted": true,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": true,
"skipLateArrivalReminder": false,
"focusMode": false,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "xyz789",
"attendees": [Attendee],
"isPrivate": true,
"isImmutable": true,
"organizer": "xyz789",
"desk": Desk,
"resource": Resource
}
}
}
updateCalendarEvent
Description
Update an existing calendar event.
Authorization: calendar_calendarevents_update on CalendarEvent(id)
Response
Returns a CalendarEvent!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateCalendarEventInput!
|
Example
Query
mutation updateCalendarEvent(
$id: ID!,
$input: UpdateCalendarEventInput!
) {
updateCalendarEvent(
id: $id,
input: $input
) {
id
name
calendarId
timesSynced
remoteId
remoteData
isRecurring
isWholeDay
sensitivity
startTime
endTime
createdAt
updatedAt
attendees {
...AttendeeFragment
}
meetingUrl
creator
iCalUID
meetingProvider
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateCalendarEventInput
}
Response
{
"data": {
"updateCalendarEvent": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"calendarId": "abc123",
"timesSynced": 987,
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "xyz789",
"isRecurring": false,
"isWholeDay": false,
"sensitivity": "PRIVATE",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attendees": [Attendee],
"meetingUrl": "xyz789",
"creator": "abc123",
"iCalUID": "xyz789",
"meetingProvider": "UNSPECIFIED"
}
}
}
updateCalendarSource
Description
Update an existing calendar source configuration.
Authorization: calendar_calendarsources_update on CalendarSource(srcId)
Response
Returns a CalendarSource!
Arguments
| Name | Description |
|---|---|
srcId - ID!
|
|
input - UpdateCalendarSourceInput!
|
Example
Query
mutation updateCalendarSource(
$srcId: ID!,
$input: UpdateCalendarSourceInput!
) {
updateCalendarSource(
srcId: $srcId,
input: $input
) {
id
createdAt
updatedAt
orgId
settings
provider
resourceAdmin
syncedAt
syncErrors
}
}
Variables
{
"srcId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateCalendarSourceInput
}
Response
{
"data": {
"updateCalendarSource": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"orgId": "abc123",
"settings": "abc123",
"provider": "GOOGLE",
"resourceAdmin": "abc123",
"syncedAt": "2007-12-03T10:15:30Z",
"syncErrors": ["abc123"]
}
}
}
updateDevice
Description
Update device configuration including serial, location, and firmware channel.
Authorization: device_devices_update on Device(id)
Response
Returns a Device!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Default = "me" |
input - UpdateDeviceInput!
|
Example
Query
mutation updateDevice(
$id: ID!,
$input: UpdateDeviceInput!
) {
updateDevice(
id: $id,
input: $input
) {
id
type {
...DeviceTypeFragment
}
serial
assignedFirmware {
...FirmwareFragment
}
latestFirmware {
...FirmwareFragment
}
nextFirmware {
...FirmwareFragment
}
firmwarePublicKey
firmwareVariant
channel {
...ChannelFragment
}
place {
...PlaceFragment
}
placeId
desk {
...DeskFragment
}
deskId
room {
...RoomFragment
}
roomId
status {
...DeviceStatusFragment
}
language
timezone
orgName
orgId
parent {
...DeviceFragment
}
children {
...DeviceFragment
}
activeHours {
...WeeklyOpenHoursFragment
}
createdAt
updatedAt
attributes {
...DeviceAttributesFragment
}
state
activeError {
...DeviceEventStatusFragment
}
activeDeviceErrors {
...DeviceEventFragment
}
interfaces {
...NetworkInterfaceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateDeviceInput
}
Response
{
"data": {
"updateDevice": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "abc123",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "abc123",
"firmwareVariant": "abc123",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "abc123",
"timezone": "abc123",
"orgName": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
}
}
updateDeviceSpecificSettings
Description
Updates the device specific setting matching the device specific setting ID. NOTE: The ID in this mutation is the ID of the device speciic setting itself, and NOT the device ID. If the caller does not know the ID of the setting, it can be found from the deviceSpecificSettings query which does take the device ID as input.
Response
Returns a DeviceSpecificSettings!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateDeviceSpecificSettingsInput!
|
Example
Query
mutation updateDeviceSpecificSettings(
$id: ID!,
$input: UpdateDeviceSpecificSettingsInput!
) {
updateDeviceSpecificSettings(
id: $id,
input: $input
) {
id
deviceID
preset
data
dataVersion
createdAt
updatedAt
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateDeviceSpecificSettingsInput
}
Response
{
"data": {
"updateDeviceSpecificSettings": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "abc123",
"data": "xyz789",
"dataVersion": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
updateDeviceStatus
addDeviceTelemetryEvent
Description
Update device telemetry status (temperature, uptime, firmware version).
Authorization: device_devices_update on Device(id); or device must be authenticating as itself
Response
Returns a DeviceStatus!
Arguments
| Name | Description |
|---|---|
id - ID!
|
Default = "me" |
input - DeviceStatusInput!
|
Example
Query
mutation updateDeviceStatus(
$id: ID!,
$input: DeviceStatusInput!
) {
updateDeviceStatus(
id: $id,
input: $input
) {
temperature
uptime
firmware
timestamp
presence
cpuUtilization
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": DeviceStatusInput
}
Response
{
"data": {
"updateDeviceStatus": {
"temperature": 987.65,
"uptime": 987,
"firmware": "xyz789",
"timestamp": "2007-12-03T10:15:30Z",
"presence": false,
"cpuUtilization": 987.65
}
}
}
updateDeviceType
Description
Update device type configuration.
Authorization: device_type_update on DeviceType(id)
Response
Returns a DeviceType!
Arguments
| Name | Description |
|---|---|
input - UpdateDeviceTypeInput!
|
Example
Query
mutation updateDeviceType($input: UpdateDeviceTypeInput!) {
updateDeviceType(input: $input) {
id
name
attributes {
...DeviceTypeAttributesFragment
}
}
}
Variables
{"input": UpdateDeviceTypeInput}
Response
{
"data": {
"updateDeviceType": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"attributes": DeviceTypeAttributes
}
}
}
updateDevicesLocation
Description
Move a collection of devices to new places. Returns a collection of minimal Devices that were updated, not containing place, orgName, or settings.
Authorization: organization_organizations_update on Organization(orgId)
Response
Returns [Device!]
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
deviceMoves - [DeviceLocationMoveInput!]!
|
Example
Query
mutation updateDevicesLocation(
$orgId: ID!,
$deviceMoves: [DeviceLocationMoveInput!]!
) {
updateDevicesLocation(
orgId: $orgId,
deviceMoves: $deviceMoves
) {
id
type {
...DeviceTypeFragment
}
serial
assignedFirmware {
...FirmwareFragment
}
latestFirmware {
...FirmwareFragment
}
nextFirmware {
...FirmwareFragment
}
firmwarePublicKey
firmwareVariant
channel {
...ChannelFragment
}
place {
...PlaceFragment
}
placeId
desk {
...DeskFragment
}
deskId
room {
...RoomFragment
}
roomId
status {
...DeviceStatusFragment
}
language
timezone
orgName
orgId
parent {
...DeviceFragment
}
children {
...DeviceFragment
}
activeHours {
...WeeklyOpenHoursFragment
}
createdAt
updatedAt
attributes {
...DeviceAttributesFragment
}
state
activeError {
...DeviceEventStatusFragment
}
activeDeviceErrors {
...DeviceEventFragment
}
interfaces {
...NetworkInterfaceFragment
}
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceMoves": [DeviceLocationMoveInput]
}
Response
{
"data": {
"updateDevicesLocation": [
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "xyz789",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "xyz789",
"firmwareVariant": "xyz789",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "abc123",
"timezone": "abc123",
"orgName": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
]
}
}
updateFacility
Description
Update an existing facility's properties.
Authorization: facility_facility_update on Platform
Response
Returns a Facility
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateFacilityInput!
|
Example
Query
mutation updateFacility(
$id: ID!,
$input: UpdateFacilityInput!
) {
updateFacility(
id: $id,
input: $input
) {
id
name
category
iconPath
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateFacilityInput
}
Response
{
"data": {
"updateFacility": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"category": "abc123",
"iconPath": "xyz789"
}
}
}
updateFile
Description
Update mutable fields on an existing file. Metadata-only: it updates the files row and does not touch the blob. The new filename takes effect on the next getFileDownloadUrl via Content-Disposition.
Authorization: file_files_update on the file's Organization.
Response
Returns a File!
Arguments
| Name | Description |
|---|---|
input - UpdateFileInput!
|
Example
Query
mutation updateFile($input: UpdateFileInput!) {
updateFile(input: $input) {
id
orgId
fileType
size
createdAt
updatedAt
status
filename
uploadedBy {
... on User {
...UserFragment
}
... on Device {
...DeviceFragment
}
}
metadata {
...FileMetadataEntryFragment
}
}
}
Variables
{"input": UpdateFileInput}
Response
{
"data": {
"updateFile": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"fileType": "LAUNCH_REPORT",
"size": 123,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "PENDING",
"filename": "xyz789",
"uploadedBy": User,
"metadata": [FileMetadataEntry]
}
}
}
updateFileMetadata
Description
Update an existing file's metadata without re-uploading the blob.
Authorization: file_files_update on Organization(orgId)
Response
Returns an UpdateFileMetadataResult!
Arguments
| Name | Description |
|---|---|
input - UpdateFileMetadataInput!
|
Example
Query
mutation updateFileMetadata($input: UpdateFileMetadataInput!) {
updateFileMetadata(input: $input) {
file {
...FileFragment
}
}
}
Variables
{"input": UpdateFileMetadataInput}
Response
{"data": {"updateFileMetadata": {"file": File}}}
updateFirmware
Description
Update firmware metadata including version, URL, public key, and channel assignments.
Authorization: firmware_firmware_update on Firmware(id)
Response
Returns a Firmware!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateFirmwareInput!
|
Example
Query
mutation updateFirmware(
$id: ID!,
$input: UpdateFirmwareInput!
) {
updateFirmware(
id: $id,
input: $input
) {
id
deviceType {
...DeviceTypeFragment
}
version
url
publicKey
variant
channels {
...ChannelFragment
}
createdAt
updatedAt
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateFirmwareInput
}
Response
{
"data": {
"updateFirmware": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceType": DeviceType,
"version": "abc123",
"url": "abc123",
"publicKey": "xyz789",
"variant": "xyz789",
"channels": [Channel],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
updateInvitation
Response
Returns an Invitation!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateInvitationInput!
|
Example
Query
mutation updateInvitation(
$id: ID!,
$input: UpdateInvitationInput!
) {
updateInvitation(
id: $id,
input: $input
) {
id
orgId
email
expiresAt
organization {
...OrganizationFragment
}
status
membership {
...MembershipFragment
}
createdAt
updatedAt
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateInvitationInput
}
Response
{
"data": {
"updateInvitation": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"email": "abc123",
"expiresAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"status": "PENDING",
"membership": Membership,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
updateLicense
Description
Update license details such as count, duration, or activation time.
Authorization: license_licenses_update on License(id)
Response
Returns a License!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateLicenseInput!
|
Example
Query
mutation updateLicense(
$id: ID!,
$input: UpdateLicenseInput!
) {
updateLicense(
id: $id,
input: $input
) {
id
refId
count
duration
activatesAt
expiresAt
createdAt
updatedAt
revokedAt
organization {
...OrganizationFragment
}
licenseTypeId
trial
state
licenseType {
...LicenseTypeFragment
}
associations {
...LicenseAssociationsConnectionFragment
}
places {
...LicensePlacesConnectionFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateLicenseInput
}
Response
{
"data": {
"updateLicense": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"refId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"count": 987,
"duration": 123,
"activatesAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"revokedAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"trial": false,
"state": "UNSPECIFIED",
"licenseType": LicenseType,
"associations": LicenseAssociationsConnection,
"places": LicensePlacesConnection
}
}
}
updateLicenseReseller
Description
Update the reseller associated with a license.
Authorization: license_licenses_updatereseller on License(id)
Example
Query
mutation updateLicenseReseller(
$id: ID!,
$resID: ID
) {
updateLicenseReseller(
id: $id,
resID: $resID
) {
id
refId
count
duration
activatesAt
expiresAt
createdAt
updatedAt
revokedAt
organization {
...OrganizationFragment
}
licenseTypeId
trial
state
licenseType {
...LicenseTypeFragment
}
associations {
...LicenseAssociationsConnectionFragment
}
places {
...LicensePlacesConnectionFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"resID": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
Response
{
"data": {
"updateLicenseReseller": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"refId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"count": 123,
"duration": 987,
"activatesAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"revokedAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"trial": false,
"state": "UNSPECIFIED",
"licenseType": LicenseType,
"associations": LicenseAssociationsConnection,
"places": LicensePlacesConnection
}
}
}
updateLicenseType
Description
Update the display name and/or entity feature support of an existing license type. entitySupport, when provided, fully replaces the existing definition; entity types not listed have their features cleared.
Authorization: license_licensetypes_update on LicenseType(id)
Response
Returns a LicenseType!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateLicenseTypeInput!
|
Example
Query
mutation updateLicenseType(
$id: ID!,
$input: UpdateLicenseTypeInput!
) {
updateLicenseType(
id: $id,
input: $input
) {
id
name
createdAt
updatedAt
entitySupport {
...LicenseTypeEntitySupportFragment
}
placeFeatures
deviceFeatures
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateLicenseTypeInput
}
Response
{
"data": {
"updateLicenseType": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"entitySupport": [LicenseTypeEntitySupport],
"placeFeatures": ["abc123"],
"deviceFeatures": ["xyz789"]
}
}
}
updateMembership
Description
Update membership roles for a user in an organization.
Requires: Organization admin or owner role. Users cannot modify their own roles.
Response
Returns a Membership!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateMembershipInput!
|
Example
Query
mutation updateMembership(
$id: ID!,
$input: UpdateMembershipInput!
) {
updateMembership(
id: $id,
input: $input
) {
hasCalendar
calendar {
...CalendarFragment
}
id
userId
orgId
user {
...UserFragment
}
organization {
...OrganizationFragment
}
invitation {
...InvitationFragment
}
role
roles
createdAt
updatedAt
status
pin {
...PinFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateMembershipInput
}
Response
{
"data": {
"updateMembership": {
"hasCalendar": true,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
}
}
updateNotificationToken
Description
Set the user ID that should be associated with a specific FCM token. If user ID is null, the FCM token will be removed.
Example
Query
mutation updateNotificationToken(
$fcmToken: String!,
$userId: String
) {
updateNotificationToken(
fcmToken: $fcmToken,
userId: $userId
)
}
Variables
{
"fcmToken": "abc123",
"userId": "abc123"
}
Response
{"data": {"updateNotificationToken": true}}
updateOrganization
Description
Update organization settings including booking policies, calendar settings, and branding.
Authorization: organization_organizations_update on Organization(id)
Response
Returns an Organization!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateOrganizationInput!
|
Example
Query
mutation updateOrganization(
$id: ID!,
$input: UpdateOrganizationInput!
) {
updateOrganization(
id: $id,
input: $input
) {
hasCalendar
id
name
domain
logoMediaId
logoUrl
bookingSettings {
...OrganizationBookingSettingsFragment
}
deskBookingSettings {
...DeskBookingSettingsFragment
}
roomBookingSettings {
...RoomBookingSettingsFragment
}
parkingBookingSettings {
...ParkingBookingSettingsFragment
}
calendarSettings {
...CalendarSettingsFragment
}
whitelist
whitelistEnabled
language
timezone
deviceScreenTemplate
brokenEquipmentReportEmails
timePresentation
deskStats {
...DeskStatsFragment
}
deviceStats {
...DeviceStatsFragment
}
membershipStats {
...MembershipStatsFragment
}
openHours {
...WeeklyOpenHoursFragment
}
licenseStats {
...LicenseStatsFragment
}
trial {
...LicenseFragment
}
ola
deviceErrorReportEmails
deviceErrorReportWebhookUrl
createdAt
updatedAt
type
schedulingSettings {
...SchedulingSettingsFragment
}
pin {
...PinFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateOrganizationInput
}
Response
{
"data": {
"updateOrganization": {
"hasCalendar": false,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"domain": "abc123",
"logoMediaId": "xyz789",
"logoUrl": "xyz789",
"bookingSettings": OrganizationBookingSettings,
"deskBookingSettings": DeskBookingSettings,
"roomBookingSettings": RoomBookingSettings,
"parkingBookingSettings": ParkingBookingSettings,
"calendarSettings": CalendarSettings,
"whitelist": "xyz789",
"whitelistEnabled": true,
"language": "abc123",
"timezone": "abc123",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": [
"xyz789"
],
"timePresentation": "H24",
"deskStats": DeskStats,
"deviceStats": DeviceStats,
"membershipStats": MembershipStats,
"openHours": WeeklyOpenHours,
"licenseStats": LicenseStats,
"trial": [License],
"ola": "abc123",
"deviceErrorReportEmails": ["xyz789"],
"deviceErrorReportWebhookUrl": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"type": "SHARED",
"schedulingSettings": SchedulingSettings,
"pin": Pin
}
}
}
updateOrganizationMessage
Response
Returns an OrganizationMessage!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateOrganizationMessageInput!
|
Example
Query
mutation updateOrganizationMessage(
$id: ID!,
$input: UpdateOrganizationMessageInput!
) {
updateOrganizationMessage(
id: $id,
input: $input
) {
id
organizations {
...OrganizationFragment
}
type
content
canBeClosed
showToAllOrganizations
showAt
hideAt
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateOrganizationMessageInput
}
Response
{
"data": {
"updateOrganizationMessage": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"organizations": [Organization],
"type": "SUCCESS",
"content": "abc123",
"canBeClosed": false,
"showToAllOrganizations": false,
"showAt": "2007-12-03T10:15:30Z",
"hideAt": "2007-12-03T10:15:30Z"
}
}
}
updateOverview
Response
Returns an Overview!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateOverviewInput!
|
Example
Query
mutation updateOverview(
$id: ID!,
$input: UpdateOverviewInput!
) {
updateOverview(
id: $id,
input: $input
) {
id
orgId
type
mode
name
message
alert {
...AlertFragment
}
showDateTime
showLogo
darkMode
columnCount
tiles {
...TileFragment
}
logoUrl
createdAt
updatedAt
place {
...PlaceFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateOverviewInput
}
Response
{
"data": {
"updateOverview": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "abc123",
"type": "TILES",
"mode": "MONITORING",
"name": "abc123",
"message": "abc123",
"alert": Alert,
"showDateTime": true,
"showLogo": false,
"darkMode": false,
"columnCount": 123,
"tiles": [Tile],
"logoUrl": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"place": Place
}
}
}
updatePin
Description
Update an existing PIN code.
Authorization: pin_pins_update on Pin(id)
Response
Returns a Pin!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdatePinInput!
|
Example
Query
mutation updatePin(
$id: ID!,
$input: UpdatePinInput!
) {
updatePin(
id: $id,
input: $input
) {
id
code
orgId
membershipId
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdatePinInput
}
Response
{
"data": {
"updatePin": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"code": "xyz789",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
}
}
updatePlace
Response
Returns a Place!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdatePlaceInput!
|
Example
Query
mutation updatePlace(
$id: ID!,
$input: UpdatePlaceInput!
) {
updatePlace(
id: $id,
input: $input
) {
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
id
name
parentPlaceId
placeTypeId
settings {
... on BuildingSettings {
...BuildingSettingsFragment
}
... on SiteSettings {
...SiteSettingsFragment
}
... on FloorSettings {
...FloorSettingsFragment
}
... on ZoneSettings {
...ZoneSettingsFragment
}
... on DeskSettings {
...DeskSettingsFragment
}
... on RoomSettings {
...RoomSettingsFragment
}
}
attributes {
... on BuildingAttributes {
...BuildingAttributesFragment
}
... on SiteAttributes {
...SiteAttributesFragment
}
... on FloorAttributes {
...FloorAttributesFragment
}
... on ParkingLotAttributes {
...ParkingLotAttributesFragment
}
... on ParkingSpaceAttributes {
...ParkingSpaceAttributesFragment
}
... on DeskAttributes {
...DeskAttributesFragment
}
... on RoomAttributes {
...RoomAttributesFragment
}
}
createdAt
updatedAt
deviceCount
plan {
...PlanFragment
}
fullName
hierarchy {
...PlaceSummaryFragment
}
hasChildren
media {
...MediaFragment
}
available {
...AvailabilityFragment
}
calendar {
...PlaceFeatureInstanceFragment
}
zoomInfo {
...ZoomPlaceInfoFragment
}
timeZoneOffset
owner {
...MembershipFragment
}
isDedicated
qrCodeString
schedulingSettings {
...SchedulingSettingsFragment
}
mergedSchedulingSettings {
...SchedulingSettingsFragment
}
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdatePlaceInput
}
Response
{
"data": {
"updatePlace": {
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 123,
"plan": Plan,
"fullName": ["xyz789"],
"hierarchy": [PlaceSummary],
"hasChildren": false,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 987,
"owner": Membership,
"isDedicated": true,
"qrCodeString": "xyz789",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
}
}
updatePlaceFeature
Response
Returns a PlaceFeature!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdatePlaceFeatureInput!
|
Example
Query
mutation updatePlaceFeature(
$id: ID!,
$input: UpdatePlaceFeatureInput!
) {
updatePlaceFeature(
id: $id,
input: $input
) {
id
enabled
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdatePlaceFeatureInput
}
Response
{
"data": {
"updatePlaceFeature": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"enabled": false
}
}
}
updatePlaceFeatureInstance
Response
Returns a PlaceFeatureInstance!
Arguments
| Name | Description |
|---|---|
placeId - ID!
|
|
featureId - ID!
|
|
input - UpdatePlaceFeatureInstanceInput!
|
Example
Query
mutation updatePlaceFeatureInstance(
$placeId: ID!,
$featureId: ID!,
$input: UpdatePlaceFeatureInstanceInput!
) {
updatePlaceFeatureInstance(
placeId: $placeId,
featureId: $featureId,
input: $input
) {
placeId
featureId
orgId
enabled
disabled_reason
attributes {
... on PlaceFeatureInstanceCalendarAttributes {
...PlaceFeatureInstanceCalendarAttributesFragment
}
}
}
}
Variables
{
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"featureId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdatePlaceFeatureInstanceInput
}
Response
{
"data": {
"updatePlaceFeatureInstance": {
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"featureId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"enabled": false,
"disabled_reason": "abc123",
"attributes": PlaceFeatureInstanceCalendarAttributes
}
}
}
updatePlan
Response
Returns a Plan!
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdatePlanInput!
|
Example
Query
mutation updatePlan(
$id: ID!,
$input: UpdatePlanInput!
) {
updatePlan(
id: $id,
input: $input
) {
id
orgId
placeId
mediaId
annotations
createdAt
updatedAt
}
}
Variables
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdatePlanInput
}
Response
{
"data": {
"updatePlan": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"annotations": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
updateProfile
Description
Update the authenticated user's profile (first name and last name).
Requires: Authentication. Users can only update their own profile.
Response
Returns a User!
Arguments
| Name | Description |
|---|---|
input - UpdateUserInput!
|
Example
Query
mutation updateProfile($input: UpdateUserInput!) {
updateProfile(input: $input) {
id
name
firstName
lastName
email
eula
verified
memberships {
...MembershipFragment
}
invitations {
...InvitationFragment
}
superAdmin
createdAt
updatedAt
}
}
Variables
{"input": UpdateUserInput}
Response
{
"data": {
"updateProfile": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"email": "xyz789",
"eula": "abc123",
"verified": false,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
updateRoomBooking
Response
Returns a RoomBooking!
Arguments
| Name | Description |
|---|---|
orgId - ID!
|
|
id - ID!
|
|
input - UpdateRoomBookingInput!
|
|
idTag - String
|
|
pin - String
|
Example
Query
mutation updateRoomBooking(
$orgId: ID!,
$id: ID!,
$input: UpdateRoomBookingInput!,
$idTag: String,
$pin: String
) {
updateRoomBooking(
orgId: $orgId,
id: $id,
input: $input,
idTag: $idTag,
pin: $pin
) {
id
bookedBy
user {
...UserFragment
}
room {
...RoomFragment
}
timeZone
title
startTime
endTime
teamsMeeting
attendees {
...AttendeeFragment
}
recurring
endRecurringDate
isPrivate
isImmutable
canceled
checkedIn
checkedOut
isWholeDay
}
}
Variables
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"input": UpdateRoomBookingInput,
"idTag": "abc123",
"pin": "abc123"
}
Response
{
"data": {
"updateRoomBooking": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"bookedBy": "xyz789",
"user": User,
"room": Room,
"timeZone": "xyz789",
"title": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"teamsMeeting": true,
"attendees": [Attendee],
"recurring": "xyz789",
"endRecurringDate": "2007-12-03T10:15:30Z",
"isPrivate": false,
"isImmutable": false,
"canceled": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"isWholeDay": false
}
}
}
updateScheduleEvent
Description
Update an existing scheduled event.
Authorization: schedule_event_update on ScheduleCalendar (parent of event)
Response
Returns a ScheduleEvent!
Arguments
| Name | Description |
|---|---|
event - ScheduleEventInput
|
Example
Query
mutation updateScheduleEvent($event: ScheduleEventInput) {
updateScheduleEvent(event: $event) {
name
createdAt
updatedAt
summary
description
startTime
endTime
timeZone
recurrence
recurringEventId
devices {
...DeviceFragment
}
deviceAction
deviceActionArguments
deviceActionTriggeredAt
notificationEmails
deviceActionCompletedAt
deviceActionState
notificationBeforeOffset
}
}
Variables
{"event": ScheduleEventInput}
Response
{
"data": {
"updateScheduleEvent": {
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"summary": "abc123",
"description": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"timeZone": "abc123",
"recurrence": ["xyz789"],
"recurringEventId": "abc123",
"devices": [Device],
"deviceAction": "xyz789",
"deviceActionArguments": ["abc123"],
"deviceActionTriggeredAt": "2007-12-03T10:15:30Z",
"notificationEmails": ["abc123"],
"deviceActionCompletedAt": "2007-12-03T10:15:30Z",
"deviceActionState": "UNSPECIFIED",
"notificationBeforeOffset": "P3Y6M4DT12H30M5S"
}
}
}
Subscriptions
bookings
Response
Returns a BookingEvent!
Arguments
| Name | Description |
|---|---|
deskId - ID!
|
Example
Query
subscription bookings($deskId: ID!) {
bookings(deskId: $deskId) {
added {
...BookingFragment
}
updated {
...BookingFragment
}
deleted {
...BookingFragment
}
}
}
Variables
{"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"bookings": {
"added": Booking,
"updated": Booking,
"deleted": Booking
}
}
}
deskUpdate
Example
Query
subscription deskUpdate($id: ID!) {
deskUpdate(id: $id) {
id
orgId
name
deskType
bookingCount
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
floor {
...FloorFragment
}
presenceDetection
available {
...AvailabilityFragment
}
timeZone
timeZoneOffset
timePresentation
settings {
...DeskBookingSettingsFragment
}
createdAt
updatedAt
license {
...LicenseFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deskUpdate": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"deskType": "HOT",
"bookingCount": 987,
"currentBooking": Booking,
"nextBooking": Booking,
"floor": Floor,
"presenceDetection": false,
"available": Availability,
"timeZone": "xyz789",
"timeZoneOffset": 987,
"timePresentation": "H24",
"settings": DeskBookingSettings,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License
}
}
}
deviceSpecificSettings
Description
Subscribes to updates to device specific settings for a device with the given device id
Response
Returns a DeviceSpecificSettings!
Arguments
| Name | Description |
|---|---|
deviceID - ID!
|
Example
Query
subscription deviceSpecificSettings($deviceID: ID!) {
deviceSpecificSettings(deviceID: $deviceID) {
id
deviceID
preset
data
dataVersion
createdAt
updatedAt
}
}
Variables
{"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deviceSpecificSettings": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "abc123",
"data": "abc123",
"dataVersion": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
deviceUpdate
Description
Subscribe to real-time device updates.
Example
Query
subscription deviceUpdate($id: ID!) {
deviceUpdate(id: $id) {
id
type {
...DeviceTypeFragment
}
serial
assignedFirmware {
...FirmwareFragment
}
latestFirmware {
...FirmwareFragment
}
nextFirmware {
...FirmwareFragment
}
firmwarePublicKey
firmwareVariant
channel {
...ChannelFragment
}
place {
...PlaceFragment
}
placeId
desk {
...DeskFragment
}
deskId
room {
...RoomFragment
}
roomId
status {
...DeviceStatusFragment
}
language
timezone
orgName
orgId
parent {
...DeviceFragment
}
children {
...DeviceFragment
}
activeHours {
...WeeklyOpenHoursFragment
}
createdAt
updatedAt
attributes {
...DeviceAttributesFragment
}
state
activeError {
...DeviceEventStatusFragment
}
activeDeviceErrors {
...DeviceEventFragment
}
interfaces {
...NetworkInterfaceFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"deviceUpdate": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "xyz789",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "abc123",
"firmwareVariant": "abc123",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "xyz789",
"timezone": "abc123",
"orgName": "xyz789",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
}
}
placeUpdate
Example
Query
subscription placeUpdate($id: ID!) {
placeUpdate(id: $id) {
currentBooking {
...BookingFragment
}
nextBooking {
...BookingFragment
}
id
name
parentPlaceId
placeTypeId
settings {
... on BuildingSettings {
...BuildingSettingsFragment
}
... on SiteSettings {
...SiteSettingsFragment
}
... on FloorSettings {
...FloorSettingsFragment
}
... on ZoneSettings {
...ZoneSettingsFragment
}
... on DeskSettings {
...DeskSettingsFragment
}
... on RoomSettings {
...RoomSettingsFragment
}
}
attributes {
... on BuildingAttributes {
...BuildingAttributesFragment
}
... on SiteAttributes {
...SiteAttributesFragment
}
... on FloorAttributes {
...FloorAttributesFragment
}
... on ParkingLotAttributes {
...ParkingLotAttributesFragment
}
... on ParkingSpaceAttributes {
...ParkingSpaceAttributesFragment
}
... on DeskAttributes {
...DeskAttributesFragment
}
... on RoomAttributes {
...RoomAttributesFragment
}
}
createdAt
updatedAt
deviceCount
plan {
...PlanFragment
}
fullName
hierarchy {
...PlaceSummaryFragment
}
hasChildren
media {
...MediaFragment
}
available {
...AvailabilityFragment
}
calendar {
...PlaceFeatureInstanceFragment
}
zoomInfo {
...ZoomPlaceInfoFragment
}
timeZoneOffset
owner {
...MembershipFragment
}
isDedicated
qrCodeString
schedulingSettings {
...SchedulingSettingsFragment
}
mergedSchedulingSettings {
...SchedulingSettingsFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"placeUpdate": {
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 987,
"plan": Plan,
"fullName": ["xyz789"],
"hierarchy": [PlaceSummary],
"hasChildren": false,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 123,
"owner": Membership,
"isDedicated": false,
"qrCodeString": "xyz789",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
}
}
roomBookings
Response
Returns a RoomBookingEvent!
Arguments
| Name | Description |
|---|---|
roomId - ID!
|
Example
Query
subscription roomBookings($roomId: ID!) {
roomBookings(roomId: $roomId) {
added {
...RoomBookingFragment
}
updated {
...RoomBookingFragment
}
deleted {
...RoomBookingFragment
}
}
}
Variables
{"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"roomBookings": {
"added": RoomBooking,
"updated": RoomBooking,
"deleted": RoomBooking
}
}
}
roomUpdate
Example
Query
subscription roomUpdate($id: ID!) {
roomUpdate(id: $id) {
id
orgId
floorId
floor {
...FloorFragment
}
name
email
capacity
roomType
resources
bookingSettings {
...RoomBookingSettingsFragment
}
currentBooking {
...RoomBookingFragment
}
nextBooking {
...RoomBookingFragment
}
available {
...AvailabilityFragment
}
timeZone
timeZoneOffset
timePresentation
deviceScreenTemplate
brokenEquipmentReportEmails
createdAt
updatedAt
license {
...LicenseFragment
}
media {
...MediaFragment
}
}
}
Variables
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Response
{
"data": {
"roomUpdate": {
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"floorId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"floor": Floor,
"name": "xyz789",
"email": "xyz789",
"capacity": 987,
"roomType": "xyz789",
"resources": ["ROOM_TEMPERATURE"],
"bookingSettings": RoomBookingSettings,
"currentBooking": RoomBooking,
"nextBooking": RoomBooking,
"available": Availability,
"timeZone": "xyz789",
"timeZoneOffset": 987,
"timePresentation": "H24",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": [
"xyz789"
],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"media": Media
}
}
}
Types
ActivateOverviewCodePayload
ActiveDeviceErrorCount
AddBookingInput
Description
Input for creating a place booking.
Fields marked as omittable support three distinct states:
- Field omitted: Preserves the existing value (no change)
- Field set to null: Clears the field (removes the value)
- Field set to a value: Updates to the new value
Fields
| Input Field | Description |
|---|---|
placeId - ID
|
ID of the place to book. |
userId - ID
|
User ID for the booking. Creates anonymous booking if omitted along with userEmail and idTag. |
userEmail - String
|
Email address for the booking user. Alternative to userId. |
idTag - String
|
RFID or NFC tag identifier for device check-in. |
startTime - DateTime!
|
Start time in RFC 3339 format. Can be up to 30 minutes in the past. |
endTime - DateTime!
|
End time in RFC 3339 format. Must be after startTime. |
checkedIn - DateTime
|
Pre-check-in timestamp. Typically omitted. |
focusMode - Boolean
|
Suppresses notifications and reminders during booking. Defaults to false. |
title - String
|
Booking title (omittable). |
isPrivate - Boolean
|
Hides booking details from other users. Defaults to false (omittable). |
Example
{
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userEmail": "abc123",
"idTag": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"focusMode": true,
"title": "xyz789",
"isPrivate": true
}
AddCalendarSourceInput
Fields
| Input Field | Description |
|---|---|
settings - SettingsInput!
|
Example
{"settings": SettingsInput}
AddChannelInput
AddDeviceCommandInput
AddDeviceSpecificSettingsInput
AddDeviceTypeInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
attributes - DeviceTypeAttributesInput
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"attributes": DeviceTypeAttributesInput
}
AddFacilityInput
AddFirmwareInput
Example
{
"deviceTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"version": "xyz789",
"url": "xyz789",
"publicKey": "abc123",
"variant": "abc123",
"channels": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
AddInvitationInput
AddInvitationsInput
Description
Input for bulk inviting multiple members to an organization in a single request. Maximum 50 emails per request.
Fields
| Input Field | Description |
|---|---|
emails - [String!]!
|
Email addresses to invite. |
roles - [Role!]!
|
Roles to assign to each invited member. |
Example
{"emails": ["xyz789"], "roles": ["OWNER"]}
AddInvitationsResult
Description
Result of a bulk invitation request.
Fields
| Field Name | Description |
|---|---|
invitations - [Invitation!]!
|
Invitations that were successfully created. Emails that were skipped are not included. |
Example
{"invitations": [Invitation]}
AddLicenseAssociation
Fields
| Input Field | Description |
|---|---|
licenseId - ID!
|
|
entityType - LicenseBoundEntityType!
|
|
entityId - ID!
|
Example
{
"licenseId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"entityType": "PLACE",
"entityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
AddLicenseInput
AddLicensePlace
AddLicenseTypeInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
entitySupport - [LicenseTypeEntitySupportInput!]
|
Features per entity type. Replaces placeFeatures and deviceFeatures. |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"entitySupport": [LicenseTypeEntitySupportInput]
}
AddLicensesInput
Fields
| Input Field | Description |
|---|---|
ids - [ID!]!
|
Example
{"ids": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]}
AddOrganizationMessageInput
Example
{
"organizations": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"type": "SUCCESS",
"content": "abc123",
"canBeClosed": false,
"showToAllOrganizations": false,
"showAt": "2007-12-03T10:15:30Z",
"hideAt": "2007-12-03T10:15:30Z"
}
AddOverviewInput
Fields
| Input Field | Description |
|---|---|
type - OverviewType!
|
|
mode - OverviewMode
|
|
orgId - String!
|
|
name - String!
|
|
alert - AlertInput
|
|
showDateTime - Boolean!
|
|
showLogo - Boolean!
|
|
darkMode - Boolean
|
|
logoFileId - ID
|
|
columnCount - Int!
|
|
tiles - [AddTileInput]
|
|
placeId - String
|
Example
{
"type": "TILES",
"mode": "MONITORING",
"orgId": "xyz789",
"name": "xyz789",
"alert": AlertInput,
"showDateTime": false,
"showLogo": true,
"darkMode": false,
"logoFileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"columnCount": 123,
"tiles": [AddTileInput],
"placeId": "xyz789"
}
AddPlaceFeatureInput
AddPlaceInput
Description
Input for creating a new place.
Fields marked as omittable support three distinct states:
- Field omitted: Preserves the existing value (no change)
- Field set to null: Clears the field (removes the value)
- Field set to a value: Updates to the new value
Fields
| Input Field | Description |
|---|---|
name - String!
|
Display name for the place. |
parentPlaceId - ID
|
Parent place ID for hierarchy. |
placeTypeId - ID!
|
Type of place. Determines which settings and attributes apply. |
settings - PlaceSettingsInput
|
Type-specific settings. |
attributes - PlaceAttributesInput
|
Type-specific attributes. |
mediaId - ID
|
Image or media file ID (omittable). |
ownerId - ID
|
Owner user ID. Creates dedicated place when set (omittable). |
Example
{
"name": "xyz789",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": PlaceSettingsInput,
"attributes": PlaceAttributesInput,
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"ownerId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
AddPlaceTypeInput
AddRoomBookingInput
Fields
| Input Field | Description |
|---|---|
userId - ID
|
If userId is omitted or null the booking is an anonymous booking. |
roomId - ID!
|
|
title - String!
|
|
startTime - DateTime!
|
|
endTime - DateTime!
|
|
attendees - [AttendeeInput!]
|
|
checkedIn - DateTime
|
checkedIn is not supported when creating space connect bookings.
|
isPrivate - Boolean
|
Example
{
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"title": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"attendees": [AttendeeInput],
"checkedIn": "2007-12-03T10:15:30Z",
"isPrivate": false
}
AddTileInput
Alert
AlertInput
AllFilesFilter
Description
Filter criteria for allFiles. Every field except orgId is optional.
Fields
| Input Field | Description |
|---|---|
orgId - ID!
|
|
query - String
|
Case-insensitive substring match on filename, after whitespace trim. Null or empty means no filter. Special characters (%, _, \) match literally. Values longer than 255 characters are rejected with INVALID_ARGUMENT. |
fileTypes - [FileTypeID!]
|
Restrict to files of these types. Null/empty = no restriction. |
uploadedBy - FileUploaderFilter
|
Restrict to files uploaded by this user or device. The referenced user or device must belong to orgId; otherwise the server returns INVALID_ARGUMENT. |
metadata - [FileMetadataEntryInput!]
|
Restrict to files whose metadata contains every supplied key/value pair (JSONB containment). Null/empty = no restriction. Duplicate keys are rejected with INVALID_ARGUMENT. |
Example
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"query": "abc123",
"fileTypes": ["LAUNCH_REPORT"],
"uploadedBy": FileUploaderFilter,
"metadata": [FileMetadataEntryInput]
}
AllFilesInput
Description
Input for allFiles. limit defaults to 50 and results in invalid argument error if provided with more than 200; offset defaults to 0.
Fields
| Input Field | Description |
|---|---|
filter - AllFilesFilter!
|
|
order - [FileOrder!]
|
|
limit - Int
|
|
offset - Int
|
Example
{
"filter": AllFilesFilter,
"order": [FileOrder],
"limit": 123,
"offset": 987
}
AppCommandPermissions
Fields
| Field Name | Description |
|---|---|
control - Permission!
|
|
controlRestricted - Permission!
|
Example
{
"control": Permission,
"controlRestricted": Permission
}
AppSettingsPermissions
Fields
| Field Name | Description |
|---|---|
settings - Permission!
|
|
settingsRestricted - Permission!
|
Example
{
"settings": Permission,
"settingsRestricted": Permission
}
AssignFirmwareFilter
Example
{
"deviceTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"devices": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"organizations": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"channels": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
Attendee
Fields
| Field Name | Description |
|---|---|
email - String!
|
|
responseStatus - AttendeeResponseStatus!
|
|
type - AttendeeType!
|
|
organizer - Boolean
|
|
name - String
|
Example
{
"email": "xyz789",
"responseStatus": "UNKNOWN",
"type": "UNKNOWN",
"organizer": true,
"name": "abc123"
}
AttendeeInput
Description
Input for adding an attendee to a room booking.
Fields
| Input Field | Description |
|---|---|
email - String!
|
Attendee email address. |
name - String
|
Display name. Derived from email if omitted. |
type - AttendeeType
|
Attendee type. |
Example
{
"email": "abc123",
"name": "xyz789",
"type": "UNKNOWN"
}
AttendeeResponseStatus
Values
| Enum Value | Description |
|---|---|
|
|
Response status unknown. |
|
|
Accepted the invitation. |
|
|
Declined the invitation. |
|
|
Tentatively accepted. |
|
|
Has not yet responded. |
Example
"UNKNOWN"
AttendeeType
Values
| Enum Value | Description |
|---|---|
|
|
Type not specified. |
|
|
Required attendee. |
|
|
Optional attendee. |
|
|
Equipment or resource. |
Example
"UNKNOWN"
AuthenticatePayload
Availability
AvailableFilter
Booking
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
startTime - DateTime!
|
|
endTime - DateTime!
|
|
checkedIn - DateTime
|
|
checkedOut - DateTime
|
|
canceled - DateTime
|
|
isWholeDay - Boolean
|
|
userDeleted - Boolean!
|
|
place - Place
|
|
user - User
|
|
skipAwayFromDeskReminder - Boolean!
|
|
skipLateArrivalReminder - Boolean!
|
|
focusMode - Boolean!
|
|
arrivedAt - DateTime
|
|
title - String!
|
|
attendees - [Attendee!]!
|
|
isPrivate - Boolean
|
|
isImmutable - Boolean
|
|
organizer - String!
|
|
desk - Desk
|
a booking can now be for any resource type, use resource instead |
resource - Resource
|
a booking can now be for any place type, use place instead |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"canceled": "2007-12-03T10:15:30Z",
"isWholeDay": true,
"userDeleted": false,
"place": Place,
"user": User,
"skipAwayFromDeskReminder": true,
"skipLateArrivalReminder": true,
"focusMode": true,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "xyz789",
"attendees": [Attendee],
"isPrivate": false,
"isImmutable": true,
"organizer": "abc123",
"desk": Desk,
"resource": Resource
}
BookingBookingsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
BookingEvent
BookingFilter
Fields
| Input Field | Description |
|---|---|
orgId - ID
|
|
placeFilter - BookingPlaceFilter
|
Filter the bookings by place information. |
timeWindow - TimeWindow
|
|
userId - ID
|
|
onlyActiveBookings - Boolean
|
onlyActiveBookings filters out canceled and checked out bookings (and bookings where the user has been deleted) |
iCalUID - BookingFilterICalUID
|
|
search - String
|
Checks if booking title, place type, place name, or booking owner includes the search term |
Example
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeFilter": BookingPlaceFilter,
"timeWindow": TimeWindow,
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"onlyActiveBookings": true,
"iCalUID": BookingFilterICalUID,
"search": "abc123"
}
BookingFilterICalUID
BookingOrder
Fields
| Input Field | Description |
|---|---|
field - BookingOrderField!
|
|
desc - Boolean!
|
Example
{"field": "ORGANIZATION_NAME", "desc": false}
BookingOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ORGANIZATION_NAME"
BookingPlaceFilter
BookingsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
bookings - [Booking!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"bookings": [Booking]
}
Boolean
Description
The Boolean scalar type represents true or false.
Building
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
address - String
|
|
timezone - String
|
|
language - String
|
|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
floors - [Floor!]!
|
|
openHours - WeeklyOpenHours!
|
|
overrideOpenHours - Boolean!
|
|
timePresentation - TimePresentation
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
unassignedPlanResources - Int!
|
Number of resources not assigned to a plan for this or any ascending place. |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"address": "abc123",
"timezone": "xyz789",
"language": "xyz789",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["xyz789"],
"floors": [Floor],
"openHours": WeeklyOpenHours,
"overrideOpenHours": false,
"timePresentation": "H24",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"unassignedPlanResources": 987
}
BuildingAttributes
BuildingAttributesInput
BuildingSettings
Fields
| Field Name | Description |
|---|---|
timezone - String
|
|
language - String
|
|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
openHours - WeeklyOpenHours
|
|
overrideOpenHours - Boolean
|
|
timePresentation - TimePresentation
|
|
deskBooking - DeskBookingSettings
|
|
roomBooking - RoomBookingSettings
|
Example
{
"timezone": "xyz789",
"language": "xyz789",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["xyz789"],
"openHours": WeeklyOpenHours,
"overrideOpenHours": true,
"timePresentation": "H24",
"deskBooking": DeskBookingSettings,
"roomBooking": RoomBookingSettings
}
BuildingSettingsInput
Fields
| Input Field | Description |
|---|---|
timezone - String
|
|
language - String
|
|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
openHours - WeeklyOpenHoursInput
|
|
overrideOpenHours - Boolean
|
|
timePresentation - TimePresentation
|
|
deskBooking - DeskBookingSettingsInput
|
|
roomBooking - RoomBookingSettingsInput
|
Example
{
"timezone": "xyz789",
"language": "xyz789",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"],
"openHours": WeeklyOpenHoursInput,
"overrideOpenHours": true,
"timePresentation": "H24",
"deskBooking": DeskBookingSettingsInput,
"roomBooking": RoomBookingSettingsInput
}
Calendar
Description
Calendar
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
remoteId - ID!
|
|
remoteData - String!
|
always empty, will be removed |
remoteSubId - String!
|
|
remoteSubExpiresAt - DateTime!
|
|
syncToken - String!
|
|
sourceId - ID!
|
|
label - String!
|
|
membershipId - ID!
|
|
resourceID - ID!
|
|
isResource - Boolean!
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "abc123",
"remoteSubId": "xyz789",
"remoteSubExpiresAt": "2007-12-03T10:15:30Z",
"syncToken": "abc123",
"sourceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"label": "xyz789",
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"resourceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"isResource": true
}
CalendarCalendareventsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
CalendarCalendarsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
CalendarCalendarsourcesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
|
count - Permission!
|
|
sync - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission,
"count": Permission,
"sync": Permission
}
CalendarColleaguesPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
create - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"get": Permission,
"create": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
CalendarEvent
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
calendarId - String!
|
|
timesSynced - Int!
|
|
remoteId - ID!
|
|
remoteData - String!
|
always empty, will be removed |
isRecurring - Boolean!
|
|
isWholeDay - Boolean!
|
|
sensitivity - CalendarEventSensitivity!
|
|
startTime - DateTime!
|
|
endTime - DateTime!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
attendees - [Attendee!]!
|
|
meetingUrl - String
|
|
creator - String!
|
|
iCalUID - String!
|
|
meetingProvider - MeetingProvider!
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"calendarId": "abc123",
"timesSynced": 123,
"remoteId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteData": "xyz789",
"isRecurring": true,
"isWholeDay": false,
"sensitivity": "PRIVATE",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attendees": [Attendee],
"meetingUrl": "abc123",
"creator": "abc123",
"iCalUID": "abc123",
"meetingProvider": "UNSPECIFIED"
}
CalendarEventOrder
Fields
| Input Field | Description |
|---|---|
field - CalendarEventOrderField!
|
|
desc - Boolean
|
Example
{"field": "START_TIME", "desc": false}
CalendarEventOrderField
Values
| Enum Value | Description |
|---|---|
|
|
Example
"START_TIME"
CalendarEventSensitivity
Description
Calendar Event
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"PRIVATE"
CalendarEventsConnection
Fields
| Field Name | Description |
|---|---|
events - [CalendarEvent!]!
|
|
nextPageToken - String
|
Example
{
"events": [CalendarEvent],
"nextPageToken": "xyz789"
}
CalendarEventsFilter
CalendarProvider
Description
Calendar Source
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"GOOGLE"
CalendarRegistrationStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"REGISTERED"
CalendarSettings
Fields
| Field Name | Description |
|---|---|
defaultAddMeetingLinksToEvents - Boolean!
|
Example
{"defaultAddMeetingLinksToEvents": false}
CalendarSettingsInput
Fields
| Input Field | Description |
|---|---|
defaultAddMeetingLinkstoEvents - Boolean
|
Example
{"defaultAddMeetingLinkstoEvents": true}
CalendarSource
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"orgId": "xyz789",
"settings": "abc123",
"provider": "GOOGLE",
"resourceAdmin": "xyz789",
"syncedAt": "2007-12-03T10:15:30Z",
"syncErrors": ["xyz789"]
}
CalendarSourcesConnection
Fields
| Field Name | Description |
|---|---|
sources - [CalendarSource!]!
|
|
nextPageToken - String
|
Example
{
"sources": [CalendarSource],
"nextPageToken": "xyz789"
}
CalendarType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"USER"
CalendarsConnection
Fields
| Field Name | Description |
|---|---|
calendars - [Calendar!]!
|
|
nextPageToken - String
|
Example
{
"calendars": [Calendar],
"nextPageToken": "abc123"
}
CalendarsFilter
Fields
| Input Field | Description |
|---|---|
type - CalendarType
|
|
registrationStatus - CalendarRegistrationStatus
|
|
search - String
|
Example
{
"type": "USER",
"registrationStatus": "REGISTERED",
"search": "abc123"
}
Channel
ChannelOrder
Fields
| Input Field | Description |
|---|---|
field - ChannelOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME", "desc": false}
ChannelOrderField
Values
| Enum Value | Description |
|---|---|
|
|
Example
"NAME"
ChannelsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
channels - [Channel!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"channels": [Channel]
}
Colleague
Example
{
"id": "abc123",
"email": "abc123",
"name": "abc123",
"orgId": "xyz789",
"membership": Membership,
"invitedAt": "2007-12-03T10:15:30Z",
"city": "abc123",
"countryCode": "xyz789",
"department": "xyz789",
"employeeType": "xyz789",
"providerCreatedAt": "2007-12-03T10:15:30Z"
}
ColleagueColleaguesPermissions
Fields
| Field Name | Description |
|---|---|
list - Permission!
|
Example
{"list": Permission}
ColleagueFacets
Fields
| Field Name | Description |
|---|---|
departments - [FacetValue!]!
|
|
cities - [FacetValue!]!
|
|
countryCodes - [FacetValue!]!
|
|
employeeTypes - [FacetValue!]!
|
Example
{
"departments": [FacetValue],
"cities": [FacetValue],
"countryCodes": [FacetValue],
"employeeTypes": [FacetValue]
}
ColleagueFilter
Fields
| Input Field | Description |
|---|---|
search - String
|
Checks if Colleague.name or Colleague.email contains the search term, or if Colleague.name is similar to the search term. |
isInvited - Boolean
|
When true, returns only colleagues that have been invited. When false, returns only colleagues that have not been invited. |
city - [String!]
|
|
countryCode - [String!]
|
|
department - [String!]
|
|
employeeType - [String!]
|
|
providerCreatedAt - DateRangeInput
|
Example
{
"search": "abc123",
"isInvited": true,
"city": ["abc123"],
"countryCode": ["abc123"],
"department": ["abc123"],
"employeeType": ["xyz789"],
"providerCreatedAt": DateRangeInput
}
ColleagueOrder
Fields
| Input Field | Description |
|---|---|
field - ColleagueOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME_SIMILARITY", "desc": true}
ColleagueOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"NAME_SIMILARITY"
ColleaguesConnection
Fields
| Field Name | Description |
|---|---|
colleagues - [Colleague!]!
|
|
nextPageToken - String
|
|
totalCount - Int!
|
Example
{
"colleagues": [Colleague],
"nextPageToken": "abc123",
"totalCount": 987
}
ComparisonOperator
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"LESS_EQUALS"
CompleteZoomSetupInput
CreateCalendarEventInput
Fields
| Input Field | Description |
|---|---|
name - String!
|
|
startTime - DateTime!
|
|
endTime - DateTime!
|
|
attendees - [AttendeeInput!]!
|
|
sensitivity - CalendarEventSensitivity
|
|
meetingProvider - MeetingProvider
|
Example
{
"name": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"attendees": [AttendeeInput],
"sensitivity": "PRIVATE",
"meetingProvider": "UNSPECIFIED"
}
CreateDevicePayload
CreateOrganizationInput
CreatePinInput
CreatePlanInput
DateRangeInput
DateTime
Description
Represent a date-time string at UTC in RFC 3339 format.
Where an RFC 3339 compliant date-time string has a time-zone other than UTC, it is shifted to UTC.
Example
"2007-12-03T10:15:30Z"
DateTimeFilter
Fields
| Input Field | Description |
|---|---|
dateTime - DateTime!
|
|
operator - ComparisonOperator!
|
Example
{
"dateTime": "2007-12-03T10:15:30Z",
"operator": "LESS_EQUALS"
}
DeleteCalendarEventResponse
Fields
| Field Name | Description |
|---|---|
id - String!
|
Example
{"id": "xyz789"}
DeleteCalendarSourceResponse
DeleteFileInput
DeleteFileResult
Fields
| Field Name | Description |
|---|---|
fileId - ID!
|
Example
{"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
Desk
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orgId - ID!
|
|
name - String!
|
|
deskType - DeskType!
|
will be removed, only kept for legacy device firmware |
bookingCount - Int!
|
|
currentBooking - Booking
|
The currently active booking, if any |
nextBooking - Booking
|
The next upcoming booking, if any |
floor - Floor
|
|
presenceDetection - Boolean!
|
If true, the presence detection sensor will be enabled on the device |
available - Availability
|
Contains the available timespan for this desk within the requested period. |
timeZone - String!
|
Time zone of this desk. The time zone is picked from the building with the organization default as fallback. |
timeZoneOffset - Int!
|
Time offset from UTC in seconds |
timePresentation - TimePresentation!
|
Time presentation used for this desk. The value is picked from the building with the organization default as fallback. |
settings - DeskBookingSettings!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
license - License
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"deskType": "HOT",
"bookingCount": 123,
"currentBooking": Booking,
"nextBooking": Booking,
"floor": Floor,
"presenceDetection": true,
"available": Availability,
"timeZone": "abc123",
"timeZoneOffset": 987,
"timePresentation": "H24",
"settings": DeskBookingSettings,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License
}
DeskAttributes
Fields
| Field Name | Description |
|---|---|
deskType - String
|
|
presenceDetection - Boolean
|
|
tags - [DeskTag!]!
|
Example
{
"deskType": "xyz789",
"presenceDetection": true,
"tags": ["EXTERNAL_MONITOR"]
}
DeskAttributesInput
Description
Attributes for desk places.
Fields
| Input Field | Description |
|---|---|
presenceDetection - Boolean
|
Enable presence detection for automatic check-in. |
tags - [DeskTag!]
|
Desk amenities and features (omittable). |
Example
{"presenceDetection": false, "tags": ["EXTERNAL_MONITOR"]}
DeskBookingSettings
Fields
| Field Name | Description |
|---|---|
initialDuration - Duration!
|
The initial/default booking duration |
durationLimit - Duration!
|
The max booking duration limit |
daysInAdvanceLimit - Int!
|
How many calendar days in advance you may place a booking |
daysInAdvanceLimitOffset - TimeOfDay!
|
Offset for daysInAdvanceLimit. |
autoCheckInOnPresence - Boolean!
|
If true, the desk device will automatically check-in a current booking on presence detection |
lateArrivalReminderDelay - Duration!
|
If the user has not showed up after this delay, a late-arrival notice is pushed to the user |
lateArrivalCancelDelay - Duration!
|
If the user has not showed up after this delay, the booking is canceled. |
absenceReminderDelay - Duration!
|
If the user has checked in, but has been absent from the desk for this duration, a notice is pushed to the user. |
requireIdentForBooking - Boolean!
|
If true, the desk device will require identification with RFID tag to allow the user to book the desk. |
requireIdentForCheckIn - Boolean!
|
If true, the user must identify with RFID tag to check in on the desk device |
requireIdentForUpdating - Boolean!
|
If true, the user must identify with RFID tag to extend or check-out a booking |
remoteCheckIn - Boolean!
|
If true, users are allowed to check-in remotely using the app |
qrCodeCheckIn - Boolean!
|
If true, user are allowed to check-in using qr code in the app. |
earlyCheckIn - Duration!
|
Period of time, before start of booking, check-in is allowed. |
privateOnly - Boolean!
|
If true, the booker of a booking is private for all bookings. |
showUserName - Boolean!
|
|
showQrForBooking - Boolean!
|
If true, show QR code on the device booking screen |
showQrForCheckIn - Boolean!
|
If true, show QR code on the device check-in screen |
showQrForUpdating - Boolean!
|
If true, show QR code on the device update/extend screen |
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 123,
"daysInAdvanceLimitOffset": TimeOfDay,
"autoCheckInOnPresence": false,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"absenceReminderDelay": "P3Y6M4DT12H30M5S",
"requireIdentForBooking": true,
"requireIdentForCheckIn": true,
"requireIdentForUpdating": true,
"remoteCheckIn": false,
"qrCodeCheckIn": false,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"privateOnly": false,
"showUserName": false,
"showQrForBooking": true,
"showQrForCheckIn": true,
"showQrForUpdating": false
}
DeskBookingSettingsInput
Description
Configuration for desk booking behavior and policies. Fields are omittable - omit to preserve existing values.
Note: autoCheckInOnPresence automatically checks users in when desk sensor detects presence. If desks don't support presence detection, enabling this has no effect. Note: lateArrivalCancelDelay should be longer than lateArrivalReminderDelay to give users time to respond to reminders.
Fields
| Input Field | Description |
|---|---|
initialDuration - Duration
|
|
durationLimit - Duration
|
|
daysInAdvanceLimit - Int
|
|
daysInAdvanceLimitOffset - TimeOfDay
|
|
autoCheckInOnPresence - Boolean
|
|
lateArrivalReminderDelay - Duration
|
|
lateArrivalCancelDelay - Duration
|
|
absenceReminderDelay - Duration
|
|
requireIdentForBooking - Boolean
|
|
requireIdentForCheckIn - Boolean
|
|
requireIdentForUpdating - Boolean
|
|
remoteCheckIn - Boolean
|
|
qrCodeCheckIn - Boolean
|
|
earlyCheckIn - Duration
|
|
showUserName - Boolean
|
|
showQrForBooking - Boolean
|
|
showQrForCheckIn - Boolean
|
|
showQrForUpdating - Boolean
|
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 987,
"daysInAdvanceLimitOffset": TimeOfDay,
"autoCheckInOnPresence": true,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"absenceReminderDelay": "P3Y6M4DT12H30M5S",
"requireIdentForBooking": true,
"requireIdentForCheckIn": false,
"requireIdentForUpdating": false,
"remoteCheckIn": false,
"qrCodeCheckIn": false,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"showUserName": true,
"showQrForBooking": false,
"showQrForCheckIn": true,
"showQrForUpdating": true
}
DeskSettings
Fields
| Field Name | Description |
|---|---|
timezone - String
|
Time zone of this desk. The time zone is picked from the building with the organization default as fallback. |
timePresentation - TimePresentation
|
Time presentation used for this desk. The value is picked from the building with the organization default as fallback. |
booking - DeskBookingSettings
|
Example
{
"timezone": "xyz789",
"timePresentation": "H24",
"booking": DeskBookingSettings
}
DeskSettingsInput
Fields
| Input Field | Description |
|---|---|
booking - DeskBookingSettingsInput
|
Example
{"booking": DeskBookingSettingsInput}
DeskStats
DeskTag
Values
| Enum Value | Description |
|---|---|
|
|
External monitor available. |
|
|
Dual monitor setup available. |
|
|
Power outlets accessible at desk. |
|
|
Wireless charging pad available. |
|
|
Height-adjustable sit/stand desk. |
|
|
Located in quiet zone with noise-cancelling panels. |
|
|
Dedicated video conferencing equipment available. |
Example
"EXTERNAL_MONITOR"
DeskType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"HOT"
Device
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Identifies a unique device in backend. Not related to the hardware ID. |
type - DeviceType!
|
|
serial - String
|
Evoko serial for the specific device |
assignedFirmware - Firmware
|
Contains meta data about the firmware assigned to this device. This should not be used by the device to know which firmware it should upgrade to. Instead, devices should use the nextFirmware field. |
latestFirmware - Firmware
|
Contains meta data about the latest firmware available to this device. This should not be used by the device to know which firmware it should upgrade to. Instead, devices should use the nextFirmware field. |
nextFirmware - Firmware
|
Contains the next firmware in the upgrade chain for this device. In the normal case this is the same as assignedFirmware, but when a device must do some intermediate upgrades before reaching the target version, this firmware will show the next firmware it can/should upgrade to depending on the extra information suppplied by the device This field is the firmware that the device SHOULD run which is either
|
firmwarePublicKey - String
|
The firmware public key last reported by the device via nextFirmware |
firmwareVariant - String
|
|
channel - Channel
|
The assigned firmware channel |
place - Place
|
|
placeId - ID
|
|
desk - Desk
|
The assigned desk |
deskId - ID
|
The assigned desk ID |
room - Room
|
The assigned room |
roomId - ID
|
The assigned room ID |
status - DeviceStatus
|
Current status as reported by the device |
language - String!
|
Language of the device. Falls back to organization default. |
timezone - String!
|
Timezone of the device. Falls back to organization default. |
orgName - String!
|
|
orgId - ID!
|
|
parent - Device
|
The parent of this device. |
children - [Device!]!
|
The children of this device. |
activeHours - WeeklyOpenHours!
|
Weekly schedule where the device is considered to be "active", i.e. the office is open and there is likely people using the device. |
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
attributes - DeviceAttributes
|
|
state - DeviceState!
|
|
activeError - DeviceEventStatus
|
The last reported active error from the device. there can be several active errors at the same time, use activeDeviceErrors
|
activeDeviceErrors - [DeviceEvent!]!
|
A full list of active errors reported by the device. |
interfaces - [NetworkInterface!]!
|
Network interfaces reported by the device. Authorization: device_devices_get on Device(id) |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": DeviceType,
"serial": "xyz789",
"assignedFirmware": Firmware,
"latestFirmware": Firmware,
"nextFirmware": Firmware,
"firmwarePublicKey": "abc123",
"firmwareVariant": "abc123",
"channel": Channel,
"place": Place,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"desk": Desk,
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"room": Room,
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": DeviceStatus,
"language": "xyz789",
"timezone": "abc123",
"orgName": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parent": Device,
"children": [Device],
"activeHours": WeeklyOpenHours,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": DeviceAttributes,
"state": "UNPROVISIONED",
"activeError": DeviceEventStatus,
"activeDeviceErrors": [DeviceEvent],
"interfaces": [NetworkInterface]
}
DeviceAttributes
Fields
| Field Name | Description |
|---|---|
productFamily - String!
|
|
productModel - String!
|
|
productRevision - String!
|
|
firmwareVersion - String!
|
|
serial - String!
|
|
description - String!
|
|
architecture - String!
|
|
supportedCommands - [DeviceCommand!]!
|
|
engineeringLogs - EngineeringLogsAttributes
|
|
launch - DeviceLaunchAttributes
|
Example
{
"productFamily": "abc123",
"productModel": "abc123",
"productRevision": "xyz789",
"firmwareVersion": "abc123",
"serial": "abc123",
"description": "xyz789",
"architecture": "abc123",
"supportedCommands": [DeviceCommand],
"engineeringLogs": EngineeringLogsAttributes,
"launch": DeviceLaunchAttributes
}
DeviceCommand
DeviceCommandInput
Fields
| Input Field | Description |
|---|---|
orgId - ID!
|
|
deviceId - ID!
|
|
command - String!
|
|
arguments - [String!]!
|
|
service - String!
|
Example
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"command": "xyz789",
"arguments": ["xyz789"],
"service": "abc123"
}
DeviceCommandResult
DeviceCountByState
Fields
| Field Name | Description |
|---|---|
state - DeviceState!
|
|
count - Int!
|
Example
{"state": "UNPROVISIONED", "count": 987}
DeviceDeviceeventsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
Example
{"create": Permission}
DeviceDevicesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
list - Permission!
|
|
assignFirmware - Permission!
|
|
delete - Permission!
|
|
statisticsGet - Permission!
|
|
signjwt - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"list": Permission,
"assignFirmware": Permission,
"delete": Permission,
"statisticsGet": Permission,
"signjwt": Permission
}
DeviceEvent
Fields
| Field Name | Description |
|---|---|
deviceId - ID!
|
|
orgId - ID!
|
|
eventType - DeviceEventType!
|
|
data - DeviceEventData!
|
|
createdAt - DateTime!
|
Example
{
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"eventType": "TELEMETRY",
"data": DeviceEventTelemetry,
"createdAt": "2007-12-03T10:15:30Z"
}
DeviceEventConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
deviceEvents - [DeviceEvent!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"deviceEvents": [DeviceEvent]
}
DeviceEventData
Types
| Union Types |
|---|
Example
DeviceEventTelemetry
DeviceEventFilter
Fields
| Input Field | Description |
|---|---|
eventTypes - [DeviceEventType!]
|
|
timeWindow - TimeWindow
|
Example
{"eventTypes": ["TELEMETRY"], "timeWindow": TimeWindow}
DeviceEventOrder
Fields
| Input Field | Description |
|---|---|
field - DeviceEventOrderField!
|
|
desc - Boolean!
|
Example
{"field": "CREATED_AT", "desc": true}
DeviceEventOrderField
Values
| Enum Value | Description |
|---|---|
|
|
Example
"CREATED_AT"
DeviceEventStatus
DeviceEventStatusInput
DeviceEventTelemetry
DeviceEventTelemetryInput
Description
Telemetry data for device events.
Example
{
"temperature": 987.65,
"uptime": "P3Y6M4DT12H30M5S",
"firmware": "abc123",
"presence": true,
"cpuUtilization": 123.45
}
DeviceEventType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"TELEMETRY"
DeviceFilter
Fields
| Input Field | Description |
|---|---|
organizations - [ID!]
|
|
channels - [ID!]
|
|
deviceTypeFilter - DevicesDeviceTypeFilter
|
|
placeFilter - DevicesPlaceFilter
|
|
states - [DeviceState!]
|
|
search - String
|
Matches search term against serial and desk.name. |
onlyWithErrors - Boolean
|
|
relationshipFilter - DeviceRelationshipFilter
|
Example
{
"organizations": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"channels": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"deviceTypeFilter": DevicesDeviceTypeFilter,
"placeFilter": DevicesPlaceFilter,
"states": ["UNPROVISIONED"],
"search": "abc123",
"onlyWithErrors": true,
"relationshipFilter": DeviceRelationshipFilter
}
DeviceInput
DeviceJwt
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"jwt": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
DeviceLaunchAttributes
Fields
| Field Name | Description |
|---|---|
launch - DeviceLaunchLaunchAttributes
|
Example
{"launch": DeviceLaunchLaunchAttributes}
DeviceLaunchLaunchAttributes
Example
{
"requestedAt": "2007-12-03T10:15:30Z",
"completedAt": "2007-12-03T10:15:30Z",
"shortUrl": "xyz789",
"longUrl": "xyz789",
"completedSuccessful": false
}
DeviceLocationMoveInput
DeviceOrder
Fields
| Input Field | Description |
|---|---|
field - DeviceOrderField!
|
|
desc - Boolean!
|
Example
{"field": "SERIAL", "desc": true}
DeviceOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"SERIAL"
DeviceRelationshipFilter
DeviceScreenTemplate
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"LargeResourceName"
DeviceSerialPermissions
Fields
| Field Name | Description |
|---|---|
delete - Permission!
|
Example
{"delete": Permission}
DeviceSpecificSettings
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceID": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"preset": "abc123",
"data": "abc123",
"dataVersion": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
DeviceState
Values
| Enum Value | Description |
|---|---|
|
|
Registered but not yet set up. |
|
|
Configured but not connected. |
|
|
Connected and operational. |
|
|
Temporarily disconnected. |
|
|
Not reporting within expected interval. The interval is configured per device type. |
Example
"UNPROVISIONED"
DeviceStatistics
Fields
| Field Name | Description |
|---|---|
cpuUtilization - [DeviceStatisticsDistribution!]
|
|
temperature - [DeviceStatisticsDistribution!]
|
|
errors - [DeviceStatisticsErrorSummary!]
|
|
missingDevices - Int!
|
Example
{
"cpuUtilization": [DeviceStatisticsDistribution],
"temperature": [DeviceStatisticsDistribution],
"errors": [DeviceStatisticsErrorSummary],
"missingDevices": 123
}
DeviceStatisticsDistribution
DeviceStatisticsErrorSummary
DeviceStatisticsFilter
Fields
| Input Field | Description |
|---|---|
deviceTypes - [ID!]
|
|
timeWindow - TimeWindow
|
Example
{
"deviceTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"timeWindow": TimeWindow
}
DeviceStats
Fields
| Field Name | Description |
|---|---|
total - Int!
|
Example
{"total": 987}
DeviceStatus
Fields
| Field Name | Description |
|---|---|
temperature - Float
|
Current temperature of the device in Celsius. |
uptime - Int
|
Uptime in seconds. |
firmware - String
|
Current firmware version as reported by the device (semver). |
timestamp - DateTime
|
Timestamp of the last status message received from device. |
presence - Boolean
|
Presence detected by the desk. |
cpuUtilization - Float
|
CPU utilization as percentage (0-100). |
Example
{
"temperature": 123.45,
"uptime": 123,
"firmware": "abc123",
"timestamp": "2007-12-03T10:15:30Z",
"presence": false,
"cpuUtilization": 123.45
}
DeviceStatusInput
DeviceType
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
attributes - DeviceTypeAttributes
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"attributes": DeviceTypeAttributes
}
DeviceTypeAdmin
Fields
| Field Name | Description |
|---|---|
hidden - Boolean!
|
Example
{"hidden": true}
DeviceTypeAdminInput
Fields
| Input Field | Description |
|---|---|
hidden - Boolean!
|
Example
{"hidden": false}
DeviceTypeAttributes
Fields
| Field Name | Description |
|---|---|
commands - [DeviceCommand!]
|
|
reportInterval - Duration!
|
The interval in seconds between telemetry reports from the device |
license - DeviceTypeLicense
|
|
admin - DeviceTypeAdmin
|
|
iconPath - String
|
Example
{
"commands": [DeviceCommand],
"reportInterval": "P3Y6M4DT12H30M5S",
"license": DeviceTypeLicense,
"admin": DeviceTypeAdmin,
"iconPath": "xyz789"
}
DeviceTypeAttributesInput
Fields
| Input Field | Description |
|---|---|
commands - [AddDeviceCommandInput!]
|
|
reportInterval - Int!
|
The interval in seconds between telemetry reports from the device |
license - DeviceTypeLicenseInput
|
|
admin - DeviceTypeAdminInput
|
|
iconPath - String
|
Example
{
"commands": [AddDeviceCommandInput],
"reportInterval": 123,
"license": DeviceTypeLicenseInput,
"admin": DeviceTypeAdminInput,
"iconPath": "xyz789"
}
DeviceTypeAutoLicense
Fields
| Field Name | Description |
|---|---|
licenseTypeId - String!
|
|
durationInMonths - Int!
|
|
autoAssociateEntityType - LicenseBoundEntityType
|
When a new device serial is registered, automatically associate the created license with this entity type. If null, no association is created automatically. |
associateWithPlace - Boolean!
|
Use autoAssociateEntityType |
Example
{
"licenseTypeId": "xyz789",
"durationInMonths": 987,
"autoAssociateEntityType": "PLACE",
"associateWithPlace": true
}
DeviceTypeAutoLicenseInput
Fields
| Input Field | Description |
|---|---|
licenseTypeId - String!
|
|
durationInMonths - Int!
|
|
autoAssociateEntityType - LicenseBoundEntityType
|
Example
{
"licenseTypeId": "abc123",
"durationInMonths": 123,
"autoAssociateEntityType": "PLACE"
}
DeviceTypeLicense
Fields
| Field Name | Description |
|---|---|
onNewSerial - [DeviceTypeAutoLicense!]
|
Example
{"onNewSerial": [DeviceTypeAutoLicense]}
DeviceTypeLicenseInput
Fields
| Input Field | Description |
|---|---|
onNewSerial - [DeviceTypeAutoLicenseInput!]
|
Example
{"onNewSerial": [DeviceTypeAutoLicenseInput]}
DeviceTypesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
list - Permission!
|
|
update - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"list": Permission,
"update": Permission
}
DevicecommandDevicePermissions
Fields
| Field Name | Description |
|---|---|
command - Permission!
|
Example
{"command": Permission}
DevicesConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
devices - [Device!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"devices": [Device]
}
DevicesDeviceTypeFilter
Fields
| Input Field | Description |
|---|---|
deviceTypes - [ID!]!
|
|
condition - FilterCondition!
|
Example
{
"deviceTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"condition": "INCLUDE"
}
DevicesPlaceFilter
Direction
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"NORTH"
DuplicateFileInput
Description
Input for duplicateFile.
Fields
| Input Field | Description |
|---|---|
fileId - ID!
|
|
orgId - ID!
|
|
filename - String
|
Optional override for the new file's filename. When omitted, the backend inserts " (copy)" before the extension (e.g. "report.pdf" becomes "report (copy).pdf") and increments on collision within the organization ("report (copy) 2.pdf", "report (copy) 3.pdf", ...). |
Example
{
"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filename": "xyz789"
}
DuplicateFileResult
Fields
| Field Name | Description |
|---|---|
file - File!
|
Example
{"file": File}
Duration
Description
Represent duration in seconds.
Example
"P3Y6M4DT12H30M5S"
EngineeringLogsAttributes
Fields
| Field Name | Description |
|---|---|
logs - EngineeringLogsLogsAttributes
|
Example
{"logs": EngineeringLogsLogsAttributes}
EngineeringLogsLogsAttributes
Example
{
"requestedAt": "2007-12-03T10:15:30Z",
"completedAt": "2007-12-03T10:15:30Z",
"url": "xyz789",
"completedSuccessful": false
}
FacetValue
Facility
FacilityFacilityPermissions
Fields
| Field Name | Description |
|---|---|
update - Permission!
|
|
create - Permission!
|
Example
{
"update": Permission,
"create": Permission
}
FeatureFlag
File
Description
A file stored in blob storage.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orgId - ID!
|
|
fileType - FileTypeID!
|
|
size - Int!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
status - FileStatus!
|
Lifecycle status of the file. PENDING means an upload URL has been issued but the upload has not yet been finalized; UPLOADED means the blob is in place. |
filename - String!
|
Caller-supplied filename, or the file ID if the upload did not specify one. Unique per organization. Used as the suggested download name on caller-named files. |
uploadedBy - FileUploader
|
Who originated the upload. Null if the uploader can no longer be resolved. |
metadata - [FileMetadataEntry!]!
|
Opaque key/value metadata supplied by the caller at upload time. Keys follow a <namespace>.<key> convention (e.g. vh.version) but the file service does not validate or interpret them. Entries are returned sorted by key for deterministic output. |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"fileType": "LAUNCH_REPORT",
"size": 987,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "PENDING",
"filename": "abc123",
"uploadedBy": User,
"metadata": [FileMetadataEntry]
}
FileDownloadUrl
Description
A URL for downloading a file. expiresAt is null for files in public containers (permanent URL), and non-null for files in private containers (time-limited SAS URL).
Example
{
"url": "abc123",
"expiresAt": "2007-12-03T10:15:30Z"
}
FileFilesPermissions
Fields
| Field Name | Description |
|---|---|
list - Permission!
|
|
replace - Permission!
|
|
duplicate - Permission!
|
|
download - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
Example
{
"list": Permission,
"replace": Permission,
"duplicate": Permission,
"download": Permission,
"update": Permission,
"delete": Permission
}
FileInput
FileMetadataEntry
FileMetadataEntryInput
FileOrder
Fields
| Input Field | Description |
|---|---|
field - FileOrderField!
|
|
desc - Boolean!
|
Example
{"field": "CREATED_AT", "desc": false}
FileOrderField
Description
Sortable fields on File. When order is omitted, results come back sorted by createdAt DESC; id ASC is always appended as a tiebreaker for stable pagination.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
FileSignedurlPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
Example
{"create": Permission}
FileStatus
Description
Lifecycle status of a file.
Values
| Enum Value | Description |
|---|---|
|
|
An upload URL has been issued but the upload has not been finalized yet. |
|
|
The file's blob is in place and ready to download. |
Example
"PENDING"
FileType
Description
Represents a file type definition used to categorize files in the system.
Fields
| Field Name | Description |
|---|---|
id - FileTypeID!
|
Unique identifier for the file type. |
fileType - String!
|
Human-readable name for the file type (e.g., "Launch Report"). |
Example
{
"id": "LAUNCH_REPORT",
"fileType": "abc123"
}
FileTypeID
Description
Enum of all valid file type identifiers. This is the source of truth — every value must have a corresponding entry in the static file type registry.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"LAUNCH_REPORT"
FileTypesPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
list - Permission!
|
Example
{
"get": Permission,
"list": Permission
}
FileUploader
FileUploaderFilter
Description
Filters files to those uploaded by a specific user or device.
Fields
| Input Field | Description |
|---|---|
kind - FileUploaderKind!
|
|
id - ID!
|
Example
{"kind": "USER", "id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
FileUploaderKind
Description
Discriminator for the FileUploaderFilter input.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"USER"
FilesConnection
FilterCondition
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"INCLUDE"
Firmware
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
deviceType - DeviceType!
|
|
version - String!
|
|
url - String!
|
|
publicKey - String
|
|
variant - String
|
|
channels - [Channel!]!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceType": DeviceType,
"version": "xyz789",
"url": "xyz789",
"publicKey": "xyz789",
"variant": "abc123",
"channels": [Channel],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
FirmwareChannelPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"delete": Permission,
"list": Permission
}
FirmwareFilter
Example
{
"deviceTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"channels": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"publicKey": "xyz789",
"variant": "abc123",
"search": "xyz789"
}
FirmwareFirmwarePermissions
Fields
| Field Name | Description |
|---|---|
upload - Permission!
|
|
download - Permission!
|
|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"upload": Permission,
"download": Permission,
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
FirmwareOrder
Fields
| Input Field | Description |
|---|---|
field - FirmwareOrderField!
|
|
desc - Boolean!
|
Example
{"field": "VERSION", "desc": true}
FirmwareOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"VERSION"
FirmwareURL
FirmwaresConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
firmwares - [Firmware!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"firmwares": [Firmware]
}
FlagsFlagsPermissions
Fields
| Field Name | Description |
|---|---|
set - Permission!
|
Example
{"set": Permission}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
Floor
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"floorplan": Floorplan,
"position": 123,
"building": Building,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"unassignedPlanResources": 123
}
FloorAttributes
Fields
| Field Name | Description |
|---|---|
position - Int
|
Example
{"position": 987}
FloorAttributesInput
Fields
| Input Field | Description |
|---|---|
position - Int
|
Example
{"position": 123}
FloorSettings
Fields
| Field Name | Description |
|---|---|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
Example
{
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["xyz789"]
}
FloorSettingsInput
Fields
| Input Field | Description |
|---|---|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
Example
{
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"]
}
Floorplan
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"data": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"unassignedResources": 123
}
GenerateFileReplaceUrlInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
GenerateFileUploadUrlInput
Fields
| Input Field | Description |
|---|---|
orgId - ID!
|
|
fileTypeId - FileTypeID!
|
|
filename - String
|
Optional caller-supplied filename used as the suggested download name (Content-Disposition). Must be unique per organization. When omitted, the generated file ID is used and no Content-Disposition override is applied on download. Honored only for file types served from private containers. For public-container types (e.g., |
metadata - [FileMetadataEntryInput!]
|
Opaque key/value metadata stored on the file row. Keys follow a <namespace>.<key> convention (e.g. vh.version) but the file service does not validate or interpret them. Duplicate keys are rejected with INVALID_ARGUMENT. |
Example
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"fileTypeId": "LAUNCH_REPORT",
"filename": "xyz789",
"metadata": [FileMetadataEntryInput]
}
GenerateFileUploadUrlResult
Fields
| Field Name | Description |
|---|---|
fileId - ID!
|
|
url - SignedUrl!
|
Example
{
"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"url": SignedUrl
}
GenerateFirmwareURLInput
Fields
| Input Field | Description |
|---|---|
filename - String!
|
|
model - String!
|
|
type - URLDirection!
|
Example
{
"filename": "xyz789",
"model": "abc123",
"type": "UPLOAD"
}
GetFeatureFlagInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
Example
{"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
GetFileDownloadUrlInput
GetFileDownloadUrlResponse
Fields
| Field Name | Description |
|---|---|
url - FileDownloadUrl!
|
Example
{"url": FileDownloadUrl}
GoogleInput
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"59fb1147-4713-4a12-a5a2-640c61c2ca67"
IDTag
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"tag": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
IDTagOrder
Fields
| Input Field | Description |
|---|---|
field - IDTagOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME", "desc": false}
IDTagOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"NAME"
IDTagsConnection
ImportIDTagsInput
Example
{
"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"dryRun": true,
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"format": "DECIMAL"
}
ImportIDTagsResult
Fields
| Field Name | Description |
|---|---|
summary - ImportIDTagsSummary!
|
Summary of the import process, including counts of total, imported, and failed tags |
reportUrl - SignedUrl
|
URL to download a report of the import process, including any errors for failed tags |
Example
{
"summary": ImportIDTagsSummary,
"reportUrl": SignedUrl
}
ImportIDTagsSummary
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
Invitation
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orgId - ID!
|
|
email - String!
|
|
expiresAt - DateTime!
|
|
organization - Organization
|
|
status - InvitationStatus!
|
|
membership - Membership!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"email": "xyz789",
"expiresAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"status": "PENDING",
"membership": Membership,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
InvitationFilter
Fields
| Input Field | Description |
|---|---|
search - String
|
Checks if email contains the search term. |
status - [InvitationStatus!]
|
Example
{"search": "abc123", "status": ["PENDING"]}
InvitationOrder
Fields
| Input Field | Description |
|---|---|
field - InvitationOrderField!
|
|
desc - Boolean!
|
Example
{"field": "EMAIL", "desc": false}
InvitationOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"EMAIL"
InvitationStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"PENDING"
InvitationsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
invitations - [Invitation!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"invitations": [Invitation]
}
License
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
refId - ID
|
|
count - Int!
|
|
duration - Int!
|
|
activatesAt - DateTime
|
|
expiresAt - DateTime
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
revokedAt - DateTime
|
|
organization - Organization
|
|
licenseTypeId - ID!
|
|
trial - Boolean!
|
|
state - LicenseState!
|
|
licenseType - LicenseType
|
|
associations - LicenseAssociationsConnection
|
License associations for this license, optionally filtered by entity type. Replaces the places(...) field. Returns null for trial licenses (trials have no committed associations), mirroring the deprecated places(...) field's behavior so consumers migrating between the two fields see identical results for trials. |
Arguments |
|
places - LicensePlacesConnection
|
Use associations(entityType: PLACE). Note: semantics differ. places returns Place objects including recursive descendants of bound places; associations(entityType: PLACE) returns direct LicenseAssociation rows only. If you need descendant places, resolve them explicitly via the Place graph. |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"refId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"count": 987,
"duration": 123,
"activatesAt": "2007-12-03T10:15:30Z",
"expiresAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"revokedAt": "2007-12-03T10:15:30Z",
"organization": Organization,
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"trial": false,
"state": "UNSPECIFIED",
"licenseType": LicenseType,
"associations": LicenseAssociationsConnection,
"places": LicensePlacesConnection
}
LicenseAssociation
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
license - License
|
|
boundEntityType - LicenseBoundEntityType
|
The type of entity this association is bound to. |
boundEntityId - ID
|
The ID of the entity this association is bound to. |
placeId - ID
|
Use boundEntityType and boundEntityId |
deviceId - ID
|
Use boundEntityType and boundEntityId |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"boundEntityType": "PLACE",
"boundEntityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"deviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
LicenseAssociationFilter
Fields
| Input Field | Description |
|---|---|
licenseId - ID
|
|
boundEntityType - LicenseBoundEntityType
|
Filter by entity type. Combine with boundEntityId to filter by a specific entity. |
boundEntityId - ID
|
Filter by entity ID. Should be combined with boundEntityType. |
Example
{
"licenseId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"boundEntityType": "PLACE",
"boundEntityId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
LicenseAssociationsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
licenseAssociations - [LicenseAssociation!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"licenseAssociations": [LicenseAssociation]
}
LicenseBoundEntityType
Description
The type of entity a license or license association is bound to.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PLACE"
LicenseFilter
Fields
| Input Field | Description |
|---|---|
expiresAt - TimeWindow
|
|
trial - Boolean
|
|
state - LicenseState
|
|
licenseTypes - [ID!]
|
|
excludeLicenseTypes - [ID!]
|
|
onlyAssignable - Boolean
|
|
assignableTo - LicenseBoundEntityType
|
Filter to licenses whose license type defines features for this entity type. Use when populating an assignment UI for a specific entity. |
search - String
|
Checks search term against id, organization.id, and refId |
Example
{
"expiresAt": TimeWindow,
"trial": true,
"state": "UNSPECIFIED",
"licenseTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"excludeLicenseTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"onlyAssignable": false,
"assignableTo": "PLACE",
"search": "abc123"
}
LicenseLicenseassociationPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
create - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"get": Permission,
"create": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
LicenseLicensesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
updatereseller - Permission!
|
|
revoke - Permission!
|
|
activate - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"updatereseller": Permission,
"revoke": Permission,
"activate": Permission,
"list": Permission
}
LicenseLicensetypesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
list - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
Example
{
"create": Permission,
"list": Permission,
"get": Permission,
"update": Permission,
"delete": Permission
}
LicenseOrder
Fields
| Input Field | Description |
|---|---|
field - LicenseOrderField!
|
|
desc - Boolean!
|
Example
{"field": "REF_ID", "desc": true}
LicenseOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"REF_ID"
LicensePlacesConnection
LicenseState
Values
| Enum Value | Description |
|---|---|
|
|
State unknown. |
|
|
Available but not assigned to an organization. |
|
|
Revoked and no longer usable. |
|
|
Validity period ended. |
|
|
Active and available for use. |
|
|
Assigned but not yet activated. |
|
|
Not currently active. |
Example
"UNSPECIFIED"
LicenseStats
LicenseSummary
LicenseSummaryFilter
Fields
| Input Field | Description |
|---|---|
deviceTypes - [ID!]
|
Example
{"deviceTypes": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]}
LicenseType
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
entitySupport - [LicenseTypeEntitySupport!]!
|
Features granted per entity type. Replaces placeFeatures and deviceFeatures. |
placeFeatures - [String!]
|
Use entitySupport filtered by entityType: PLACE |
deviceFeatures - [String!]
|
Use entitySupport filtered by entityType: DEVICE |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"entitySupport": [LicenseTypeEntitySupport],
"placeFeatures": ["xyz789"],
"deviceFeatures": ["abc123"]
}
LicenseTypeEntityState
Description
The license state for a specific license type on a licensed entity. Replaces PlaceLicenseTypeState.
Fields
| Field Name | Description |
|---|---|
licenseTypeId - ID!
|
|
state - LicensedEntityState!
|
|
startTime - DateTime
|
|
endTime - DateTime
|
|
licenseIds - [ID!]!
|
Example
{
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"state": "UNSPECIFIED",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"licenseIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
LicenseTypeEntitySupport
Description
Describes the features a license type grants for a specific entity type.
Fields
| Field Name | Description |
|---|---|
entityType - LicenseBoundEntityType!
|
The entity type these features apply to. |
features - [String!]!
|
Feature identifiers granted when this license type is active for the entity. |
Example
{
"entityType": "PLACE",
"features": ["abc123"]
}
LicenseTypeEntitySupportInput
Fields
| Input Field | Description |
|---|---|
entityType - LicenseBoundEntityType!
|
|
features - [String!]!
|
Example
{
"entityType": "PLACE",
"features": ["xyz789"]
}
LicenseTypeFilter
Fields
| Input Field | Description |
|---|---|
excludeIds - [ID!]
|
Example
{"excludeIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]}
LicenseTypesConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
licenseTypes - [LicenseType!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"licenseTypes": [LicenseType]
}
LicensedEntityState
Description
License state for a licensed entity. Replaces PlaceLicenseState. Values are entity-type agnostic.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"UNSPECIFIED"
LicensesConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
licenses - [License!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"licenses": [License]
}
ListScheduleDeviceActionsResponse
Fields
| Field Name | Description |
|---|---|
actions - [ScheduleDeviceAction!]!
|
Example
{"actions": [ScheduleDeviceAction]}
ListScheduleEventsFilter
Fields
| Input Field | Description |
|---|---|
singleEvents - Boolean
|
|
startTime - DateTimeFilter
|
Example
{"singleEvents": false, "startTime": DateTimeFilter}
ListScheduleEventsResponse
Fields
| Field Name | Description |
|---|---|
events - [ScheduleEvent!]!
|
|
nextPageToken - String!
|
Example
{
"events": [ScheduleEvent],
"nextPageToken": "abc123"
}
Media
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"originalFileName": "xyz789",
"mimeType": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"url": "xyz789"
}
MediaMediasPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
Example
{
"create": Permission,
"get": Permission
}
MeetingProvider
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Can be used to let the backend decide on which provider to use |
Example
"UNSPECIFIED"
Membership
Fields
| Field Name | Description |
|---|---|
hasCalendar - Boolean!
|
use field calendar instead, null means no calendar |
calendar - Calendar
|
|
id - ID!
|
|
userId - ID
|
|
orgId - ID!
|
|
user - User
|
|
organization - Organization
|
The organization the user is a member of. May be null if the user does not have access to the organization. |
invitation - Invitation
|
|
role - Role!
|
use roles instead |
roles - [Role!]!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
status - MembershipStatus!
|
|
pin - Pin
|
Example
{
"hasCalendar": true,
"calendar": Calendar,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"user": User,
"organization": Organization,
"invitation": Invitation,
"role": "OWNER",
"roles": ["OWNER"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"status": "REQUESTED",
"pin": Pin
}
MembershipFilter
Fields
| Input Field | Description |
|---|---|
excludeSuperAdmins - Boolean
|
Only return memberships that does not belong to super admins |
roles - [Role!]
|
Only return memberships with the specified roles |
search - String
|
Only returns memberships with matching search term. Currently only matches if the search term is contained in the users name or email. |
status - [MembershipStatus!]
|
Only returns memberships with matching status. |
invitationStatus - [InvitationStatus!]
|
Only returns memberships with matching invitation status. |
Example
{
"excludeSuperAdmins": false,
"roles": ["OWNER"],
"search": "abc123",
"status": ["REQUESTED"],
"invitationStatus": ["PENDING"]
}
MembershipOrder
Fields
| Input Field | Description |
|---|---|
field - MembershipOrderField!
|
|
desc - Boolean!
|
Example
{"field": "USER_NAME", "desc": true}
MembershipOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
If memberships invitations are requested in the same query, ordering will prioritize user email then membership invitation email |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"USER_NAME"
MembershipStats
Fields
| Field Name | Description |
|---|---|
total - Int!
|
Example
{"total": 123}
MembershipStatus
Values
| Enum Value | Description |
|---|---|
|
|
User requested to join. Pending admin approval. |
|
|
User invited. Pending acceptance. |
|
|
Membership active. |
|
|
Membership deactivated. |
Example
"REQUESTED"
MembershipsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
memberships - [Membership!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"memberships": [Membership]
}
MetricAggregator
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"SUM"
MetricDurationUnit
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"MINUTES"
MetricInterpolator
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"NONE"
MetricQueryBucketWidth
Fields
| Input Field | Description |
|---|---|
value - Int!
|
|
unit - MetricDurationUnit!
|
Example
{"value": 987, "unit": "MINUTES"}
MetricQueryInput
Fields
| Input Field | Description |
|---|---|
range - TimeWindow!
|
|
bucketWidth - MetricQueryBucketWidth!
|
|
metrics - [MetricQueryMetricInput!]!
|
|
timezone - String!
|
Example
{
"range": TimeWindow,
"bucketWidth": MetricQueryBucketWidth,
"metrics": [MetricQueryMetricInput],
"timezone": "abc123"
}
MetricQueryMetricInput
Fields
| Input Field | Description |
|---|---|
name - String!
|
|
label - String
|
|
aggregator - MetricAggregator!
|
|
interpolator - MetricInterpolator!
|
Example
{
"name": "xyz789",
"label": "abc123",
"aggregator": "SUM",
"interpolator": "NONE"
}
MetricValue
MetricVector
Fields
| Field Name | Description |
|---|---|
name - String!
|
|
label - String
|
|
values - [MetricValue!]!
|
Example
{
"name": "xyz789",
"label": "xyz789",
"values": [MetricValue]
}
MicrosoftInput
NatsAccount
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"jwt": "abc123",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"platformId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
NatsauthNatsaccountPermissions
Fields
| Field Name | Description |
|---|---|
publish - Permission!
|
Example
{"publish": Permission}
NetworkInterface
Fields
| Field Name | Description |
|---|---|
interface - String!
|
Network interface name (e.g., 'eth0', 'wlan0'). |
ipv4 - String
|
IPv4 address assigned to this interface. |
ipv6 - String
|
IPv6 address assigned to this interface. |
mac - String
|
MAC address of this interface. |
ssid - String
|
WiFi SSID (only present for wireless interfaces). |
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
Example
{
"interface": "xyz789",
"ipv4": "abc123",
"ipv6": "xyz789",
"mac": "xyz789",
"ssid": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
NetworkInterfaceInput
NotificationFcmtokenPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
OfflineReason
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"UNSPECIFIED"
OpenHours
Fields
| Field Name | Description |
|---|---|
from - TimeOfDay!
|
|
until - TimeOfDay!
|
|
closed - Boolean!
|
Example
{
"from": TimeOfDay,
"until": TimeOfDay,
"closed": true
}
OpenHoursInput
OrgApplication
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"COMMAND"
Organization
Fields
| Field Name | Description |
|---|---|
hasCalendar - Boolean!
|
|
id - ID!
|
|
name - String!
|
|
domain - String!
|
|
logoMediaId - String
|
|
logoUrl - String
|
|
bookingSettings - OrganizationBookingSettings!
|
|
deskBookingSettings - DeskBookingSettings!
|
|
roomBookingSettings - RoomBookingSettings!
|
|
parkingBookingSettings - ParkingBookingSettings!
|
|
calendarSettings - CalendarSettings!
|
|
whitelist - String
|
|
whitelistEnabled - Boolean!
|
|
language - String!
|
|
timezone - String!
|
|
deviceScreenTemplate - DeviceScreenTemplate!
|
|
brokenEquipmentReportEmails - [String!]
|
|
timePresentation - TimePresentation!
|
|
deskStats - DeskStats!
|
legacy, use placeStatistics query |
deviceStats - DeviceStats!
|
|
membershipStats - MembershipStats!
|
|
openHours - WeeklyOpenHours!
|
|
licenseStats - LicenseStats!
|
|
trial - [License!]!
|
|
ola - String
|
legacy, will be removed |
deviceErrorReportEmails - [String!]
|
|
deviceErrorReportWebhookUrl - String
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
type - OrganizationType!
|
|
schedulingSettings - SchedulingSettings
|
|
pin - Pin
|
Example
{
"hasCalendar": false,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"domain": "abc123",
"logoMediaId": "abc123",
"logoUrl": "abc123",
"bookingSettings": OrganizationBookingSettings,
"deskBookingSettings": DeskBookingSettings,
"roomBookingSettings": RoomBookingSettings,
"parkingBookingSettings": ParkingBookingSettings,
"calendarSettings": CalendarSettings,
"whitelist": "xyz789",
"whitelistEnabled": false,
"language": "abc123",
"timezone": "abc123",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"],
"timePresentation": "H24",
"deskStats": DeskStats,
"deviceStats": DeviceStats,
"membershipStats": MembershipStats,
"openHours": WeeklyOpenHours,
"licenseStats": LicenseStats,
"trial": [License],
"ola": "abc123",
"deviceErrorReportEmails": ["xyz789"],
"deviceErrorReportWebhookUrl": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"type": "SHARED",
"schedulingSettings": SchedulingSettings,
"pin": Pin
}
OrganizationBookingSettings
Fields
| Field Name | Description |
|---|---|
privateOnly - Boolean!
|
Example
{"privateOnly": true}
OrganizationBookingSettingsInput
Fields
| Input Field | Description |
|---|---|
privateOnly - Boolean
|
Example
{"privateOnly": false}
OrganizationFilter
Fields
| Input Field | Description |
|---|---|
search - String
|
|
onlyActiveTrial - Boolean
|
|
types - [OrganizationType!]
|
Filter by organization type. Defaults to [SHARED] if not provided. |
Example
{
"search": "xyz789",
"onlyActiveTrial": true,
"types": ["SHARED"]
}
OrganizationMembershipinvitationsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
OrganizationMembershipsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
|
joinrequest - Permission!
|
|
activate - Permission!
|
|
deactivate - Permission!
|
|
signalljwts - Permission!
|
|
signjwts - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission,
"joinrequest": Permission,
"activate": Permission,
"deactivate": Permission,
"signalljwts": Permission,
"signjwts": Permission
}
OrganizationMessage
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
organizations - [Organization!]!
|
|
type - OrganizationMessageType!
|
|
content - String!
|
|
canBeClosed - Boolean!
|
|
showToAllOrganizations - Boolean!
|
|
showAt - DateTime
|
|
hideAt - DateTime
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"organizations": [Organization],
"type": "SUCCESS",
"content": "xyz789",
"canBeClosed": true,
"showToAllOrganizations": true,
"showAt": "2007-12-03T10:15:30Z",
"hideAt": "2007-12-03T10:15:30Z"
}
OrganizationMessageFilter
Fields
| Input Field | Description |
|---|---|
orgId - ID
|
Example
{"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
OrganizationMessageOrder
Fields
| Input Field | Description |
|---|---|
field - OrganizationMessageOrderField!
|
|
desc - Boolean!
|
Example
{"field": "TYPE", "desc": false}
OrganizationMessageOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"TYPE"
OrganizationMessageType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"SUCCESS"
OrganizationMessagesConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
organizationMessages - [OrganizationMessage!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"organizationMessages": [OrganizationMessage]
}
OrganizationMessagesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
OrganizationOrder
Fields
| Input Field | Description |
|---|---|
field - OrganizationOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME", "desc": true}
OrganizationOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
legacy, will be removed |
|
|
|
|
|
Example
"NAME"
OrganizationOrganizationsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
OrganizationPermissionsInput
Fields
| Input Field | Description |
|---|---|
membershipId - ID!
|
Example
{"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
OrganizationType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"SHARED"
OrganizationZoomPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
update - Permission!
|
Example
{
"get": Permission,
"update": Permission
}
OrganizationsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
organizations - [Organization!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"organizations": [Organization]
}
Overview
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orgId - String!
|
|
type - OverviewType!
|
|
mode - OverviewMode!
|
|
name - String!
|
|
message - String
|
Use alert instead |
alert - Alert
|
|
showDateTime - Boolean!
|
|
showLogo - Boolean!
|
|
darkMode - Boolean!
|
|
columnCount - Int!
|
|
tiles - [Tile!]!
|
|
logoUrl - String
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
place - Place
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "abc123",
"type": "TILES",
"mode": "MONITORING",
"name": "xyz789",
"message": "xyz789",
"alert": Alert,
"showDateTime": false,
"showLogo": false,
"darkMode": true,
"columnCount": 987,
"tiles": [Tile],
"logoUrl": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"place": Place
}
OverviewAuthcodePermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
authenticate - Permission!
|
|
activate - Permission!
|
|
authorize - Permission!
|
Example
{
"create": Permission,
"authenticate": Permission,
"activate": Permission,
"authorize": Permission
}
OverviewCodePayload
Example
{
"deviceCode": "xyz789",
"userCode": "xyz789",
"expiresIn": "P3Y6M4DT12H30M5S",
"interval": "P3Y6M4DT12H30M5S",
"verificationUri": "xyz789",
"verificationUriComplete": "xyz789"
}
OverviewFilter
Fields
| Input Field | Description |
|---|---|
search - String
|
Checks if name contains the search term. |
Example
{"search": "xyz789"}
OverviewMode
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"MONITORING"
OverviewOrder
Fields
| Input Field | Description |
|---|---|
field - OverviewOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME", "desc": false}
OverviewOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NAME"
OverviewOverviewsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission
}
OverviewType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"TILES"
OverviewsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
overviews - [Overview!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"overviews": [Overview]
}
OwnerFilter
Example
{"ids": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"], "hasOwner": true}
PageInfo
ParkingBookingSettings
Fields
| Field Name | Description |
|---|---|
initialDuration - Duration!
|
The initial/default booking duration |
durationLimit - Duration!
|
The max booking duration limit |
daysInAdvanceLimit - Int!
|
How many calendar days in advance you may place a booking |
daysInAdvanceLimitOffset - TimeOfDay!
|
Offset for daysInAdvanceLimit. |
autoCheckInOnPresence - Boolean!
|
If true, the desk device will automatically check-in a current booking on presence detection |
lateArrivalReminderDelay - Duration!
|
If the user has not showed up after this delay, a late-arrival notice is pushed to the user |
lateArrivalCancelDelay - Duration!
|
If the user has not showed up after this delay, the booking is canceled. |
absenceReminderDelay - Duration!
|
If the user has checked in, but has been absent from the desk for this duration, a notice is pushed to the user. |
requireIdentForBooking - Boolean!
|
If true, the desk device will require identification with RFID tag to allow the user to book the desk. |
requireIdentForCheckIn - Boolean!
|
If true, the user must identify with RFID tag to check in on the desk device |
requireIdentForUpdating - Boolean!
|
If true, the user must identify with RFID tag to extend or check-out a booking |
remoteCheckIn - Boolean!
|
If true, users are allowed to check-in remotely using the app |
qrCodeCheckIn - Boolean!
|
If true, user are allowed to check-in using qr code in the app. |
earlyCheckIn - Duration!
|
Period of time, before start of booking, check-in is allowed. |
privateOnly - Boolean!
|
If true, the booker of a booking is private for all bookings. |
showUserName - Boolean!
|
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 123,
"daysInAdvanceLimitOffset": TimeOfDay,
"autoCheckInOnPresence": false,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"absenceReminderDelay": "P3Y6M4DT12H30M5S",
"requireIdentForBooking": false,
"requireIdentForCheckIn": false,
"requireIdentForUpdating": false,
"remoteCheckIn": false,
"qrCodeCheckIn": true,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"privateOnly": false,
"showUserName": true
}
ParkingBookingSettingsInput
Fields
| Input Field | Description |
|---|---|
initialDuration - Duration
|
|
durationLimit - Duration
|
|
daysInAdvanceLimit - Int
|
|
daysInAdvanceLimitOffset - TimeOfDay
|
|
autoCheckInOnPresence - Boolean
|
|
lateArrivalReminderDelay - Duration
|
|
lateArrivalCancelDelay - Duration
|
|
absenceReminderDelay - Duration
|
|
requireIdentForBooking - Boolean
|
|
requireIdentForCheckIn - Boolean
|
|
requireIdentForUpdating - Boolean
|
|
remoteCheckIn - Boolean
|
|
qrCodeCheckIn - Boolean
|
|
earlyCheckIn - Duration
|
|
showUserName - Boolean
|
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 987,
"daysInAdvanceLimitOffset": TimeOfDay,
"autoCheckInOnPresence": false,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"absenceReminderDelay": "P3Y6M4DT12H30M5S",
"requireIdentForBooking": true,
"requireIdentForCheckIn": true,
"requireIdentForUpdating": true,
"remoteCheckIn": true,
"qrCodeCheckIn": true,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"showUserName": true
}
ParkingLotAttributes
ParkingLotAttributesInput
ParkingSpaceAttributes
Fields
| Field Name | Description |
|---|---|
tags - [ParkingSpaceTag!]!
|
Example
{"tags": ["EV_CHARGING_STATION"]}
ParkingSpaceAttributesInput
Description
Attributes for parking spaces.
Fields
| Input Field | Description |
|---|---|
tags - [ParkingSpaceTag!]
|
Parking space features (omittable). |
Example
{"tags": ["EV_CHARGING_STATION"]}
ParkingSpaceTag
Values
| Enum Value | Description |
|---|---|
|
|
Electric vehicle charging station available. |
|
|
Standard power outlet available. |
|
|
Space suitable for vans and larger vehicles. |
|
|
Designated motorcycle parking. |
|
|
Bicycle parking space. |
|
|
Accessible parking space. |
|
|
Covered or weather-protected parking. |
Example
"EV_CHARGING_STATION"
Permission
Fields
| Field Name | Description |
|---|---|
granted - Boolean!
|
Example
{"granted": false}
PermissionSet
Fields
Example
{
"appCommand": AppCommandPermissions,
"appSettings": AppSettingsPermissions,
"flagsFlags": FlagsFlagsPermissions,
"userUsers": UserUsersPermissions,
"organizationOrganizations": OrganizationOrganizationsPermissions,
"organizationMemberships": OrganizationMembershipsPermissions,
"organizationMessages": OrganizationMessagesPermissions,
"resourceTypes": ResourceTypesPermissions,
"placeTypes": PlaceTypesPermissions,
"deviceTypes": DeviceTypesPermissions,
"deviceSerial": DeviceSerialPermissions,
"facilityFacility": FacilityFacilityPermissions,
"fileTypes": FileTypesPermissions,
"fileSignedurl": FileSignedurlPermissions,
"fileFiles": FileFilesPermissions,
"firmwareFirmware": FirmwareFirmwarePermissions,
"firmwareChannel": FirmwareChannelPermissions,
"organizationMembershipinvitations": OrganizationMembershipinvitationsPermissions,
"calendarCalendarsources": CalendarCalendarsourcesPermissions,
"calendarCalendars": CalendarCalendarsPermissions,
"calendarCalendarevents": CalendarCalendareventsPermissions,
"colleagueColleagues": ColleagueColleaguesPermissions,
"resourceResources": ResourceResourcesPermissions,
"placePlaces": PlacePlacesPermissions,
"bookingBookings": BookingBookingsPermissions,
"mediaMedias": MediaMediasPermissions,
"planPlans": PlanPlansPermissions,
"notificationFcmtoken": NotificationFcmtokenPermissions,
"licenseLicenses": LicenseLicensesPermissions,
"licenseLicensetypes": LicenseLicensetypesPermissions,
"licenseLicenseassociation": LicenseLicenseassociationPermissions,
"idtagIdtags": IdtagIdtagsPermissions,
"pinPins": PinPinsPermissions,
"deviceDevices": DeviceDevicesPermissions,
"deviceDeviceevents": DeviceDeviceeventsPermissions,
"overviewOverviews": OverviewOverviewsPermissions,
"overviewAuthcode": OverviewAuthcodePermissions,
"calendarColleagues": CalendarColleaguesPermissions,
"natsauthNatsaccount": NatsauthNatsaccountPermissions,
"devicecommandDevice": DevicecommandDevicePermissions,
"placePlacefeatures": PlacePlacefeaturesPermissions,
"placePlacefeatureinstances": PlacePlacefeatureinstancesPermissions,
"scheduleCalendar": ScheduleCalendarPermissions,
"scheduleEvent": ScheduleEventPermissions,
"scheduleEventdeviceaction": ScheduleEventdeviceactionPermissions,
"organizationZoom": OrganizationZoomPermissions,
"subscriptionSubscriptions": SubscriptionSubscriptionsPermissions,
"subscriptionLicenses": SubscriptionLicensesPermissions,
"subscriptionPaymentmethods": SubscriptionPaymentmethodsPermissions,
"subscriptionBuyingid": SubscriptionBuyingidPermissions,
"subscriptionBillingaddress": SubscriptionBillingaddressPermissions
}
Pin
PinPinsPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
Example
{
"create": Permission,
"get": Permission,
"update": Permission,
"delete": Permission
}
Place
Fields
| Field Name | Description |
|---|---|
currentBooking - Booking
|
The active booking for this place right now, if any. Returns null if the place is not currently booked. |
nextBooking - Booking
|
The next upcoming booking for this place. Returns null if there are no future bookings. |
id - ID!
|
|
name - String!
|
|
parentPlaceId - ID
|
|
placeTypeId - ID!
|
|
settings - PlaceSettings
|
|
attributes - PlaceAttributes
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
deviceCount - Int
|
|
plan - Plan
|
|
fullName - [String!]!
|
hierarchy field contains more information |
hierarchy - [PlaceSummary!]!
|
|
hasChildren - Boolean!
|
|
media - Media
|
|
available - Availability
|
Contains the available timespan for this place within the requested period. Note: this is always null if not requested with AvailableFilter using using allPlaces query. |
calendar - PlaceFeatureInstance
|
|
zoomInfo - ZoomPlaceInfo
|
Zoom connection info for this place. Returns null if the place has no Zoom connection. Note: only populated for Zoom-synced workspace places. |
timeZoneOffset - Int!
|
Time offset from UTC in seconds |
owner - Membership
|
|
isDedicated - Boolean!
|
|
qrCodeString - String
|
QR code string for this place. Currently represents the Zoom workspace QR code when the place has a Zoom connection; null otherwise. |
schedulingSettings - SchedulingSettings
|
Scheduling settings set directly on this place, before the hierarchy cascade is applied. Fields left to inherit from an ancestor are null. |
mergedSchedulingSettings - SchedulingSettings
|
Effective scheduling settings, resolved by cascading values down the place hierarchy. Use this to read the values that actually apply to the place. |
Example
{
"currentBooking": Booking,
"nextBooking": Booking,
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": BuildingSettings,
"attributes": BuildingAttributes,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"deviceCount": 987,
"plan": Plan,
"fullName": ["xyz789"],
"hierarchy": [PlaceSummary],
"hasChildren": true,
"media": Media,
"available": Availability,
"calendar": PlaceFeatureInstance,
"zoomInfo": ZoomPlaceInfo,
"timeZoneOffset": 987,
"owner": Membership,
"isDedicated": false,
"qrCodeString": "abc123",
"schedulingSettings": SchedulingSettings,
"mergedSchedulingSettings": SchedulingSettings
}
PlaceAttributes
Example
BuildingAttributes
PlaceAttributesInput
Description
Attributes for a place. Provide the type matching your place type.
Fields
| Input Field | Description |
|---|---|
BUILDING - BuildingAttributesInput
|
|
SITE - SiteAttributesInput
|
|
FLOOR - FloorAttributesInput
|
|
PARKING_LOT - ParkingLotAttributesInput
|
|
PARKING_SPACE - ParkingSpaceAttributesInput
|
|
DESK - DeskAttributesInput
|
|
ROOM - RoomAttributesInput
|
Example
{
"BUILDING": BuildingAttributesInput,
"SITE": SiteAttributesInput,
"FLOOR": FloorAttributesInput,
"PARKING_LOT": ParkingLotAttributesInput,
"PARKING_SPACE": ParkingSpaceAttributesInput,
"DESK": DeskAttributesInput,
"ROOM": RoomAttributesInput
}
PlaceBookingSummary
Fields
| Field Name | Description |
|---|---|
totalBookingCount - Int!
|
|
totalBookingSeconds - Int!
|
|
activeUserCount - Int!
|
|
totalUserCount - Int!
|
|
distribution - [PlaceDistribution!]
|
Example
{
"totalBookingCount": 123,
"totalBookingSeconds": 123,
"activeUserCount": 987,
"totalUserCount": 123,
"distribution": [PlaceDistribution]
}
PlaceDistribution
PlaceFeature
PlaceFeatureConnection
Fields
| Field Name | Description |
|---|---|
placeFeatures - [PlaceFeature!]!
|
|
totalCount - Int!
|
Example
{"placeFeatures": [PlaceFeature], "totalCount": 123}
PlaceFeatureInstance
Example
{
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"featureId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"enabled": false,
"disabled_reason": "abc123",
"attributes": PlaceFeatureInstanceCalendarAttributes
}
PlaceFeatureInstanceAttributes
Types
| Union Types |
|---|
Example
PlaceFeatureInstanceCalendarAttributes
PlaceFeatureInstanceAttributesInput
Fields
| Input Field | Description |
|---|---|
CALENDAR - PlaceFeatureInstanceCalendarAttributesInput
|
Example
{"CALENDAR": PlaceFeatureInstanceCalendarAttributesInput}
PlaceFeatureInstanceCalendarAttributes
Fields
| Field Name | Description |
|---|---|
remoteId - String
|
Example
{"remoteId": "xyz789"}
PlaceFeatureInstanceCalendarAttributesInput
Fields
| Input Field | Description |
|---|---|
remoteId - String
|
Example
{"remoteId": "abc123"}
PlaceFeatureInstanceConnection
Fields
| Field Name | Description |
|---|---|
placeFeatureInstances - [PlaceFeatureInstance!]!
|
|
totalCount - Int!
|
Example
{
"placeFeatureInstances": [PlaceFeatureInstance],
"totalCount": 987
}
PlaceFeatureInstanceFilter
PlaceFilter
Fields
| Input Field | Description |
|---|---|
placeTypeIds - [ID!]
|
|
search - String
|
Checks if name contains the search term. |
owner - OwnerFilter
|
|
parentPlaceIds - [ID!]
|
Northern lights only accepts a single parent place. |
recursive - Boolean
|
|
available - AvailableFilter
|
Filter result based on booking availability. If available is set with query allPlaces the result is first order by the greatest consecutive available seconds of the requested period, then ordered by user specified order (if any). |
enabledFeatures - [String!]
|
|
hasZoomConnection - Boolean
|
Filter to places that have (true) or do not have (false) a Zoom connection. |
Example
{
"placeTypeIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"search": "xyz789",
"owner": OwnerFilter,
"parentPlaceIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"recursive": false,
"available": AvailableFilter,
"enabledFeatures": ["abc123"],
"hasZoomConnection": true
}
PlaceLicenseState
Values
| Enum Value | Description |
|---|---|
|
|
State unknown. |
|
|
License revoked. |
|
|
License expired. |
|
|
License active. |
|
|
Assigned but not yet activated. |
|
|
No active license. |
|
|
License expires soon. |
|
|
No license assigned. |
Example
"UNSPECIFIED"
PlaceLicenseTypeState
Description
The license state for a license type
Fields
| Field Name | Description |
|---|---|
licenseTypeId - ID!
|
|
state - PlaceLicenseState!
|
|
startTime - DateTime
|
When the state begins. Note this represents when the current license state begins, and not the actual license start time. |
endTime - DateTime
|
When the state ends. Note this represents when the current license state ends, and not the actual license end time. |
licenseIds - [ID!]!
|
Example
{
"licenseTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"state": "UNSPECIFIED",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"licenseIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
PlaceOrder
Fields
| Input Field | Description |
|---|---|
field - PlaceOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME", "desc": true}
PlaceOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"NAME"
PlacePlacefeatureinstancesPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
list - Permission!
|
|
create - Permission!
|
|
delete - Permission!
|
|
update - Permission!
|
Example
{
"get": Permission,
"list": Permission,
"create": Permission,
"delete": Permission,
"update": Permission
}
PlacePlacefeaturesPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
list - Permission!
|
|
create - Permission!
|
|
delete - Permission!
|
|
update - Permission!
|
Example
{
"get": Permission,
"list": Permission,
"create": Permission,
"delete": Permission,
"update": Permission
}
PlacePlacesPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
|
create - Permission!
|
|
statisticsGet - Permission!
|
Example
{
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission,
"create": Permission,
"statisticsGet": Permission
}
PlaceSettings
Types
| Union Types |
|---|
Example
BuildingSettings
PlaceSettingsInput
Fields
| Input Field | Description |
|---|---|
BUILDING - BuildingSettingsInput
|
|
SITE - SiteSettingsInput
|
|
FLOOR - FloorSettingsInput
|
|
ZONE - ZoneSettingsInput
|
|
DESK - DeskSettingsInput
|
|
ROOM - RoomSettingsInput
|
Example
{
"BUILDING": BuildingSettingsInput,
"SITE": SiteSettingsInput,
"FLOOR": FloorSettingsInput,
"ZONE": ZoneSettingsInput,
"DESK": DeskSettingsInput,
"ROOM": RoomSettingsInput
}
PlaceStatistics
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"displayName": "abc123",
"placeTypeId": "xyz789",
"capacity": 123,
"bookingCount": 123,
"bookingSeconds": 123,
"notCheckedInCount": 123,
"occupiedCount": 123
}
PlaceStatisticsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
statistics - [PlaceStatistics!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 123,
"statistics": [PlaceStatistics]
}
PlaceStatisticsFilter
Fields
| Input Field | Description |
|---|---|
ParentPlaceIds - [ID!]
|
|
IsoDayOfWeek - Int
|
|
TimeWindow - TimeWindow!
|
|
PlaceTypeId - ID
|
|
recursive - Boolean!
|
Example
{
"ParentPlaceIds": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"IsoDayOfWeek": 987,
"TimeWindow": TimeWindow,
"PlaceTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"recursive": false
}
PlaceStatisticsOrder
Fields
| Input Field | Description |
|---|---|
field - PlaceStatisticsOrderField!
|
|
desc - Boolean!
|
Example
{"field": "PLACE_TYPE_ID", "desc": true}
PlaceStatisticsOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sorts by average booking duration (total booking seconds divided by booking count), not the summed total. |
Example
"PLACE_TYPE_ID"
PlaceSummary
PlaceType
PlaceTypesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"list": Permission
}
PlacesConnection
Plan
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"annotations": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
PlanPlansPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
get - Permission!
|
Example
{
"create": Permission,
"update": Permission,
"delete": Permission,
"get": Permission
}
Resource
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
place - Place
|
|
orgId - ID!
|
|
resourceTypeId - ID!
|
|
remoteId - String
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
attributes - ResourceAttributes!
|
|
settings - ResourceSettings!
|
|
unmergedSettings - ResourceSettings!
|
|
devices - [Device!]
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"place": Place,
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"resourceTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"remoteId": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"attributes": ResourceAttributes,
"settings": ResourceSettings,
"unmergedSettings": ResourceSettings,
"devices": [Device]
}
ResourceAttributes
Fields
| Field Name | Description |
|---|---|
desk - DeskAttributes
|
|
room - RoomAttributes
|
Example
{
"desk": DeskAttributes,
"room": RoomAttributes
}
ResourceBookingSettings
Types
| Union Types |
|---|
Example
RoomBookingSettings
ResourceResourcesPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
list - Permission!
|
|
create - Permission!
|
|
statisticsGet - Permission!
|
Example
{
"get": Permission,
"update": Permission,
"delete": Permission,
"list": Permission,
"create": Permission,
"statisticsGet": Permission
}
ResourceSettings
Fields
| Field Name | Description |
|---|---|
timeZone - String!
|
|
timePresentation - TimePresentation!
|
|
booking - ResourceBookingSettings!
|
|
deviceScreenTemplate - DeviceScreenTemplate!
|
Example
{
"timeZone": "abc123",
"timePresentation": "H24",
"booking": RoomBookingSettings,
"deviceScreenTemplate": "LargeResourceName"
}
ResourceTypesPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
list - Permission!
|
Example
{
"create": Permission,
"list": Permission
}
Role
Values
| Enum Value | Description |
|---|---|
|
|
Organization owner with full access to all features and license management. |
|
|
Administrator who can manage members, places, devices, bookings, and organization settings. |
|
|
Legacy desk management role. Deprecated - use ORG_ADMIN instead. |
|
|
Standard user who can create bookings. |
|
|
Can send commands to devices. |
|
|
Can manage device commands and settings. |
|
|
Read-only access to device status. |
|
|
Full subscription management: purchase, deploy, transfer, delete, manage billing. |
|
|
Payment method management, create subscriptions, add licenses. Cannot deploy/transfer/delete. |
|
|
Read-only access to subscription and billing information. |
Example
"OWNER"
Room
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orgId - ID!
|
|
floorId - ID!
|
|
floor - Floor
|
|
name - String!
|
|
email - String
|
|
capacity - Int!
|
|
roomType - String
|
|
resources - [RoomResource!]!
|
|
bookingSettings - RoomBookingSettings!
|
|
currentBooking - RoomBooking
|
The currently active booking, if any |
nextBooking - RoomBooking
|
The next upcoming booking, if any |
available - Availability
|
Contains the available timespan for this room within the requested period. Note: this is always null if not requested with AvailableFilter, e.g. using allRooms query. |
timeZone - String!
|
Time zone of this room. The time zone is picked from the building with the organization default as fallback. |
timeZoneOffset - Int!
|
Time offset from UTC in seconds |
timePresentation - TimePresentation!
|
Time presentation used for this room. The value is picked from the building with the organization default as fallback. |
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
license - License
|
|
media - Media
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"floorId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"floor": Floor,
"name": "xyz789",
"email": "xyz789",
"capacity": 987,
"roomType": "abc123",
"resources": ["ROOM_TEMPERATURE"],
"bookingSettings": RoomBookingSettings,
"currentBooking": RoomBooking,
"nextBooking": RoomBooking,
"available": Availability,
"timeZone": "abc123",
"timeZoneOffset": 123,
"timePresentation": "H24",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["xyz789"],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"license": License,
"media": Media
}
RoomAttributes
Fields
| Field Name | Description |
|---|---|
capacity - Int
|
|
tags - [String!]!
|
Example
{"capacity": 123, "tags": ["xyz789"]}
RoomAttributesInput
RoomBooking
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
bookedBy - String!
|
|
user - User
|
|
room - Room!
|
|
timeZone - String
|
|
title - String!
|
|
startTime - DateTime!
|
|
endTime - DateTime!
|
|
teamsMeeting - Boolean
|
|
attendees - [Attendee!]!
|
|
recurring - String
|
|
endRecurringDate - DateTime
|
|
isPrivate - Boolean
|
|
isImmutable - Boolean
|
|
canceled - DateTime
|
|
checkedIn - DateTime
|
|
checkedOut - DateTime
|
|
isWholeDay - Boolean
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"bookedBy": "abc123",
"user": User,
"room": Room,
"timeZone": "xyz789",
"title": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"teamsMeeting": false,
"attendees": [Attendee],
"recurring": "abc123",
"endRecurringDate": "2007-12-03T10:15:30Z",
"isPrivate": false,
"isImmutable": true,
"canceled": "2007-12-03T10:15:30Z",
"checkedIn": "2007-12-03T10:15:30Z",
"checkedOut": "2007-12-03T10:15:30Z",
"isWholeDay": false
}
RoomBookingEvent
Fields
| Field Name | Description |
|---|---|
added - RoomBooking
|
|
updated - RoomBooking
|
|
deleted - RoomBooking
|
Example
{
"added": RoomBooking,
"updated": RoomBooking,
"deleted": RoomBooking
}
RoomBookingFilter
Fields
| Input Field | Description |
|---|---|
orgId - ID
|
|
roomId - ID
|
|
buildingId - ID
|
|
timeWindow - TimeWindow
|
|
userId - ID
|
|
onlyActiveBookings - Boolean
|
|
iCalUID - BookingFilterICalUID
|
Example
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"buildingId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"timeWindow": TimeWindow,
"userId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"onlyActiveBookings": false,
"iCalUID": BookingFilterICalUID
}
RoomBookingOrder
Fields
| Input Field | Description |
|---|---|
field - RoomBookingOrderField!
|
|
desc - Boolean!
|
Example
{"field": "ORGANIZATION_NAME", "desc": true}
RoomBookingOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ORGANIZATION_NAME"
RoomBookingSettings
Fields
| Field Name | Description |
|---|---|
durationLimit - Duration!
|
|
bookingWindowStarts - TimeOfDay!
|
|
bookingWindowEnds - TimeOfDay!
|
|
daysInAdvanceLimit - Int!
|
How many calendar days in advance you may place a booking |
initialDuration - Duration!
|
The initial/default booking duration |
remoteCheckIn - Boolean!
|
If true, users are allowed to check-in remotely using the app |
qrCodeCheckIn - Boolean!
|
If true, user are allowed to check-in using qr code in the app. |
earlyCheckIn - Duration!
|
Period of time, before start of booking, check-in is allowed. |
privateOnly - Boolean!
|
If true, the booker of a booking is private for all bookings. |
requireIdentForBooking - Boolean!
|
If true, the room device will require identification with RFID tag to allow the user to book the desk. |
requireIdentForCheckIn - Boolean!
|
If true, the user must identify with RFID tag to check in on the room device |
requireIdentForUpdating - Boolean!
|
If true, the user must identify with RFID tag to extend or check-out a booking |
autoCheckInOnPresence - Boolean!
|
If true, the desk device will automatically check-in a current booking on presence detection desk specific setting, will be removed for rooms |
lateArrivalReminderDelay - Duration!
|
If the user has not showed up after this delay, a late-arrival notice is pushed to the user |
lateArrivalCancelDelay - Duration!
|
If the user has not showed up after this delay, the booking is canceled. |
dimDown - Boolean!
|
|
screenBrightness - ScreenBrightness!
|
|
checkInDisabled - Boolean!
|
If true, no check in is required once a meeting is booked, and users will be automatically checked in with the early check in offset. If false, users are required to check in to a meeting to keep the meeting. |
showQrForBooking - Boolean!
|
If true, show QR code on the device booking screen |
showQrForCheckIn - Boolean!
|
If true, show QR code on the device check-in screen |
showQrForUpdating - Boolean!
|
If true, show QR code on the device update/extend screen |
Example
{
"durationLimit": "P3Y6M4DT12H30M5S",
"bookingWindowStarts": TimeOfDay,
"bookingWindowEnds": TimeOfDay,
"daysInAdvanceLimit": 987,
"initialDuration": "P3Y6M4DT12H30M5S",
"remoteCheckIn": false,
"qrCodeCheckIn": true,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"privateOnly": true,
"requireIdentForBooking": true,
"requireIdentForCheckIn": true,
"requireIdentForUpdating": true,
"autoCheckInOnPresence": false,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"dimDown": true,
"screenBrightness": "LOW",
"checkInDisabled": false,
"showQrForBooking": true,
"showQrForCheckIn": false,
"showQrForUpdating": true
}
RoomBookingSettingsInput
Fields
| Input Field | Description |
|---|---|
initialDuration - Duration
|
|
durationLimit - Duration
|
|
bookingWindowStarts - TimeOfDay
|
|
bookingWindowEnds - TimeOfDay
|
|
remoteCheckIn - Boolean
|
|
qrCodeCheckIn - Boolean
|
|
earlyCheckIn - Duration
|
|
daysInAdvanceLimit - Int
|
|
requireIdentForBooking - Boolean
|
|
requireIdentForCheckIn - Boolean
|
|
requireIdentForUpdating - Boolean
|
|
lateArrivalReminderDelay - Duration
|
|
lateArrivalCancelDelay - Duration
|
|
dimDown - Boolean
|
|
screenBrightness - ScreenBrightness
|
|
checkInDisabled - Boolean
|
|
showQrForBooking - Boolean
|
|
showQrForCheckIn - Boolean
|
|
showQrForUpdating - Boolean
|
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"bookingWindowStarts": TimeOfDay,
"bookingWindowEnds": TimeOfDay,
"remoteCheckIn": false,
"qrCodeCheckIn": false,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 123,
"requireIdentForBooking": false,
"requireIdentForCheckIn": true,
"requireIdentForUpdating": true,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"dimDown": true,
"screenBrightness": "LOW",
"checkInDisabled": false,
"showQrForBooking": true,
"showQrForCheckIn": true,
"showQrForUpdating": false
}
RoomBookingsConnection
Fields
| Field Name | Description |
|---|---|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
|
bookings - [RoomBooking!]!
|
Example
{
"pageInfo": PageInfo,
"totalCount": 987,
"bookings": [RoomBooking]
}
RoomResource
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ROOM_TEMPERATURE"
RoomSettings
Fields
| Field Name | Description |
|---|---|
timezone - String
|
Time zone of this room. The time zone is picked from the building with the organization default as fallback. |
timePresentation - TimePresentation
|
Time presentation used for this room. The value is picked from the building with the organization default as fallback. |
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
booking - RoomBookingSettings
|
Example
{
"timezone": "abc123",
"timePresentation": "H24",
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"],
"booking": RoomBookingSettings
}
RoomSettingsInput
Fields
| Input Field | Description |
|---|---|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
booking - RoomBookingSettingsInput
|
Example
{
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"],
"booking": RoomBookingSettingsInput
}
ScheduleCalendar
Example
{
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"summary": "abc123",
"description": "abc123",
"timeZone": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
ScheduleCalendarPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
list - Permission!
|
|
create - Permission!
|
|
delete - Permission!
|
|
update - Permission!
|
Example
{
"get": Permission,
"list": Permission,
"create": Permission,
"delete": Permission,
"update": Permission
}
ScheduleDeviceAction
Example
{
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"action": "abc123",
"arguments": ["xyz789"],
"state": "UNSPECIFIED",
"error": "xyz789"
}
ScheduleDeviceActionState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"UNSPECIFIED"
ScheduleEvent
Fields
| Field Name | Description |
|---|---|
name - ID!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
summary - String
|
|
description - String
|
|
startTime - DateTime!
|
|
endTime - DateTime!
|
|
timeZone - String
|
|
recurrence - [String!]
|
|
recurringEventId - String
|
|
devices - [Device!]
|
Only "minimal" device fields supported. |
deviceAction - String
|
|
deviceActionArguments - [String!]
|
|
deviceActionTriggeredAt - DateTime
|
|
notificationEmails - [String!]
|
|
deviceActionCompletedAt - DateTime
|
|
deviceActionState - ScheduleEventActionState
|
|
notificationBeforeOffset - Duration
|
Example
{
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"summary": "xyz789",
"description": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"timeZone": "abc123",
"recurrence": ["abc123"],
"recurringEventId": "abc123",
"devices": [Device],
"deviceAction": "abc123",
"deviceActionArguments": ["xyz789"],
"deviceActionTriggeredAt": "2007-12-03T10:15:30Z",
"notificationEmails": ["abc123"],
"deviceActionCompletedAt": "2007-12-03T10:15:30Z",
"deviceActionState": "UNSPECIFIED",
"notificationBeforeOffset": "P3Y6M4DT12H30M5S"
}
ScheduleEventActionState
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"UNSPECIFIED"
ScheduleEventInput
Fields
| Input Field | Description |
|---|---|
name - ID
|
|
summary - String
|
|
description - String
|
|
startTime - DateTime
|
|
endTime - DateTime
|
|
timeZone - String
|
|
recurrence - [String!]
|
|
recurringEventId - String
|
|
devices - [String!]
|
Array of device names, format: organizations/{orgId}/devices/{deviceId}. The device must be in the same organization as the event. |
deviceAction - String
|
|
deviceActionArguments - [String!]
|
|
notificationEmails - [String!]
|
|
notificationBeforeOffset - Duration
|
Duration offset before the event start time to be notified. |
Example
{
"name": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"summary": "xyz789",
"description": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"timeZone": "abc123",
"recurrence": ["xyz789"],
"recurringEventId": "abc123",
"devices": ["abc123"],
"deviceAction": "abc123",
"deviceActionArguments": ["abc123"],
"notificationEmails": ["xyz789"],
"notificationBeforeOffset": "P3Y6M4DT12H30M5S"
}
ScheduleEventPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
list - Permission!
|
|
create - Permission!
|
|
delete - Permission!
|
|
update - Permission!
|
Example
{
"get": Permission,
"list": Permission,
"create": Permission,
"delete": Permission,
"update": Permission
}
ScheduleEventdeviceactionPermissions
Fields
| Field Name | Description |
|---|---|
list - Permission!
|
Example
{"list": Permission}
ScheduleEventsOrder
Fields
| Input Field | Description |
|---|---|
field - ScheduleEventsOrderField!
|
|
desc - Boolean!
|
Example
{"field": "START_TIME", "desc": true}
ScheduleEventsOrderField
Values
| Enum Value | Description |
|---|---|
|
|
Example
"START_TIME"
SchedulingConfiguration
Description
Booking behaviour for a single resource type (room, desk or parking).
Fields
| Field Name | Description |
|---|---|
initialDuration - Duration
|
|
durationLimit - Duration
|
|
daysInAdvanceLimit - Int
|
|
daysInAdvanceLimitOffset - Duration
|
|
remoteCheckIn - Boolean
|
|
qrCodeCheckIn - Boolean
|
|
earlyCheckIn - Duration
|
|
autoCheckInOnPresence - Boolean
|
|
lateArrivalReminderDelay - Duration
|
|
lateArrivalCancelDelay - Duration
|
|
absenceReminderDelay - Duration
|
|
requireIdentForBooking - Boolean
|
|
requireIdentForCheckIn - Boolean
|
|
requireIdentForUpdating - Boolean
|
|
privateOnly - Boolean
|
|
showUserName - Boolean
|
|
showQrForBooking - Boolean
|
|
showQrForCheckIn - Boolean
|
|
showQrForUpdating - Boolean
|
|
bookingWindowStarts - TimeOfDay
|
|
bookingWindowEnds - TimeOfDay
|
|
dimDown - Boolean
|
|
screenBrightness - ScreenBrightness
|
|
checkInDisabled - Boolean
|
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 987,
"daysInAdvanceLimitOffset": "P3Y6M4DT12H30M5S",
"remoteCheckIn": true,
"qrCodeCheckIn": true,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"autoCheckInOnPresence": false,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"absenceReminderDelay": "P3Y6M4DT12H30M5S",
"requireIdentForBooking": false,
"requireIdentForCheckIn": false,
"requireIdentForUpdating": false,
"privateOnly": true,
"showUserName": false,
"showQrForBooking": false,
"showQrForCheckIn": false,
"showQrForUpdating": true,
"bookingWindowStarts": TimeOfDay,
"bookingWindowEnds": TimeOfDay,
"dimDown": false,
"screenBrightness": "LOW",
"checkInDisabled": false
}
SchedulingConfigurationInput
Fields
| Input Field | Description |
|---|---|
initialDuration - Duration
|
|
durationLimit - Duration
|
|
daysInAdvanceLimit - Int
|
|
daysInAdvanceLimitOffset - Duration
|
|
remoteCheckIn - Boolean
|
|
qrCodeCheckIn - Boolean
|
|
earlyCheckIn - Duration
|
|
autoCheckInOnPresence - Boolean
|
|
lateArrivalReminderDelay - Duration
|
|
lateArrivalCancelDelay - Duration
|
|
absenceReminderDelay - Duration
|
|
requireIdentForBooking - Boolean
|
|
requireIdentForCheckIn - Boolean
|
|
requireIdentForUpdating - Boolean
|
|
privateOnly - Boolean
|
|
showUserName - Boolean
|
|
showQrForBooking - Boolean
|
|
showQrForCheckIn - Boolean
|
|
showQrForUpdating - Boolean
|
|
bookingWindowStarts - TimeOfDay
|
|
bookingWindowEnds - TimeOfDay
|
|
dimDown - Boolean
|
|
screenBrightness - ScreenBrightness
|
|
checkInDisabled - Boolean
|
Example
{
"initialDuration": "P3Y6M4DT12H30M5S",
"durationLimit": "P3Y6M4DT12H30M5S",
"daysInAdvanceLimit": 123,
"daysInAdvanceLimitOffset": "P3Y6M4DT12H30M5S",
"remoteCheckIn": true,
"qrCodeCheckIn": false,
"earlyCheckIn": "P3Y6M4DT12H30M5S",
"autoCheckInOnPresence": true,
"lateArrivalReminderDelay": "P3Y6M4DT12H30M5S",
"lateArrivalCancelDelay": "P3Y6M4DT12H30M5S",
"absenceReminderDelay": "P3Y6M4DT12H30M5S",
"requireIdentForBooking": true,
"requireIdentForCheckIn": false,
"requireIdentForUpdating": true,
"privateOnly": false,
"showUserName": true,
"showQrForBooking": false,
"showQrForCheckIn": true,
"showQrForUpdating": true,
"bookingWindowStarts": TimeOfDay,
"bookingWindowEnds": TimeOfDay,
"dimDown": true,
"screenBrightness": "LOW",
"checkInDisabled": true
}
SchedulingProfiles
Description
Per-resource-type booking configuration.
Fields
| Field Name | Description |
|---|---|
room - SchedulingConfiguration
|
|
desk - SchedulingConfiguration
|
|
parking - SchedulingConfiguration
|
Example
{
"room": SchedulingConfiguration,
"desk": SchedulingConfiguration,
"parking": SchedulingConfiguration
}
SchedulingProfilesInput
Fields
| Input Field | Description |
|---|---|
room - SchedulingConfigurationInput
|
|
desk - SchedulingConfigurationInput
|
|
parking - SchedulingConfigurationInput
|
Example
{
"room": SchedulingConfigurationInput,
"desk": SchedulingConfigurationInput,
"parking": SchedulingConfigurationInput
}
SchedulingSettings
Description
Scheduling settings for organization and locations. CSS-like data resolution parent -> child.
Fields
| Field Name | Description |
|---|---|
timezone - String
|
|
language - String
|
|
timePresentation - TimePresentation
|
|
openHours - WeeklyOpenHours
|
|
privateBookingsOnly - Boolean
|
|
whitelist - String
|
|
whitelistEnabled - Boolean
|
|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
deviceErrorReportWebhookUrl - String
|
|
deviceErrorReportEmails - [String!]
|
|
logoMediaId - ID
|
|
profiles - SchedulingProfiles
|
Example
{
"timezone": "abc123",
"language": "xyz789",
"timePresentation": "H24",
"openHours": WeeklyOpenHours,
"privateBookingsOnly": true,
"whitelist": "xyz789",
"whitelistEnabled": true,
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"],
"deviceErrorReportWebhookUrl": "abc123",
"deviceErrorReportEmails": ["xyz789"],
"logoMediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"profiles": SchedulingProfiles
}
SchedulingSettingsInput
Description
Input for scheduling settings. Values written here are the organization's/place's own settings before the hierarchy cascade.
Fields
| Input Field | Description |
|---|---|
timezone - String
|
|
language - String
|
|
timePresentation - TimePresentation
|
|
openHours - WeeklyOpenHoursInput
|
|
privateBookingsOnly - Boolean
|
|
whitelist - String
|
|
whitelistEnabled - Boolean
|
|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
deviceErrorReportWebhookUrl - String
|
|
deviceErrorReportEmails - [String!]
|
|
logoMediaId - ID
|
|
profiles - SchedulingProfilesInput
|
Example
{
"timezone": "xyz789",
"language": "abc123",
"timePresentation": "H24",
"openHours": WeeklyOpenHoursInput,
"privateBookingsOnly": false,
"whitelist": "xyz789",
"whitelistEnabled": false,
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["abc123"],
"deviceErrorReportWebhookUrl": "xyz789",
"deviceErrorReportEmails": ["xyz789"],
"logoMediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"profiles": SchedulingProfilesInput
}
ScreenBrightness
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"LOW"
SearchToken
SetFeatureFlagInput
SettingsInput
Fields
| Input Field | Description |
|---|---|
google - GoogleInput
|
|
microsoft - MicrosoftInput
|
Example
{
"google": GoogleInput,
"microsoft": MicrosoftInput
}
SignDeviceJwtInput
SignMembershipJwtInput
Description
Input for signing a membership JWT for NATS authentication.
Fields
| Input Field | Description |
|---|---|
orgId - ID!
|
Organization ID |
membershipId - ID!
|
Membership ID to sign JWT for |
applications - [OrgApplication!]
|
Applications to grant NATS subject access for. bwp.info.> is always included. Each entry grants access to its corresponding subject space based on the caller's permissions. |
publicKey - ID!
|
User's NATS public key for JWT authentication |
Example
{
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"membershipId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"applications": ["COMMAND"],
"publicKey": "59fb1147-4713-4a12-a5a2-640c61c2ca67"
}
SignMembershipJwtResponse
Fields
| Field Name | Description |
|---|---|
jwt - String!
|
Example
{"jwt": "abc123"}
SignedUrl
SiteAttributes
Fields
| Field Name | Description |
|---|---|
address - String
|
Example
{"address": "xyz789"}
SiteAttributesInput
Fields
| Input Field | Description |
|---|---|
address - String
|
Example
{"address": "abc123"}
SiteSettings
Fields
| Field Name | Description |
|---|---|
timezone - String
|
|
openHours - WeeklyOpenHours
|
Example
{
"timezone": "xyz789",
"openHours": WeeklyOpenHours
}
SiteSettingsInput
Fields
| Input Field | Description |
|---|---|
timezone - String
|
|
openHours - WeeklyOpenHoursInput
|
Example
{
"timezone": "xyz789",
"openHours": WeeklyOpenHoursInput
}
StartSyncOrgSourcesResponse
Fields
| Field Name | Description |
|---|---|
started - Boolean!
|
Example
{"started": false}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
Subject
Types
| Union Types |
|---|
Example
Overview
SubscriptionBillingaddressPermissions
Fields
| Field Name | Description |
|---|---|
update - Permission!
|
Example
{"update": Permission}
SubscriptionBuyingidPermissions
Fields
| Field Name | Description |
|---|---|
configure - Permission!
|
Example
{"configure": Permission}
SubscriptionLicensesPermissions
Fields
| Field Name | Description |
|---|---|
add - Permission!
|
Example
{"add": Permission}
SubscriptionPaymentmethodsPermissions
Fields
| Field Name | Description |
|---|---|
manage - Permission!
|
Example
{"manage": Permission}
SubscriptionSubscriptionsPermissions
Fields
| Field Name | Description |
|---|---|
get - Permission!
|
|
create - Permission!
|
|
delete - Permission!
|
|
deploy - Permission!
|
|
revoke - Permission!
|
|
transfer - Permission!
|
Example
{
"get": Permission,
"create": Permission,
"delete": Permission,
"deploy": Permission,
"revoke": Permission,
"transfer": Permission
}
SyncLogEntry
Description
A single log entry from an integration sync operation.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
logLevel - SyncLogLevel!
|
|
message - String!
|
|
syncPeriod - DateTime
|
Groups entries from one sync run. Null for one-off events (e.g. connect/disconnect). |
createdAt - DateTime!
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"logLevel": "INFO",
"message": "xyz789",
"syncPeriod": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
SyncLogLevel
Description
Severity level for integration sync log entries.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"INFO"
TagFormat
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"DECIMAL"
Tile
Description
This represents a tile for an overview screen
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": "BLANK",
"directionIndicator": "NORTH",
"place": Place,
"hideBookingInformation": true
}
TileType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"BLANK"
TimeOfDay
Description
Represent time of day as offset in seconds since midnight.
Example
TimeOfDay
TimePresentation
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"H24"
TimeWindow
URLDirection
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"UPLOAD"
UpdateBookingInput
Description
Input for modifying an existing booking.
Fields
| Input Field | Description |
|---|---|
focusMode - Boolean
|
Enable or disable focus mode. |
placeId - ID
|
Change the booked place. |
startTime - DateTime
|
Change the start time. Can be in the past. |
endTime - DateTime
|
Change the end time. Must be after startTime. |
skipLateArrivalReminder - Boolean
|
Suppress the late arrival reminder. |
skipAwayFromDeskReminder - Boolean
|
Suppress the away-from-desk reminder. |
arrivedAt - DateTime
|
Timestamp when user arrived. |
title - String
|
Booking title (omittable). |
isPrivate - Boolean
|
Privacy setting (omittable). |
Example
{
"focusMode": false,
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"skipLateArrivalReminder": true,
"skipAwayFromDeskReminder": true,
"arrivedAt": "2007-12-03T10:15:30Z",
"title": "xyz789",
"isPrivate": false
}
UpdateCalendarEventInput
Description
TODO: Make attendees nullable Requires changing the protobuf definition of CalendarEvents to include a wrapper for the slice since it cannot detect differences between empty slices and nil https://stackoverflow.com/questions/21631428/protobuf-net-deserializes-empty-collection-to-null-when-the-collection-is-a-prop#answer-21632160
Fields
| Input Field | Description |
|---|---|
name - String
|
|
startTime - DateTime
|
|
endTime - DateTime
|
|
attendees - [AttendeeInput!]!
|
|
sensitivity - CalendarEventSensitivity
|
|
meetingProvider - MeetingProvider
|
Example
{
"name": "abc123",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"attendees": [AttendeeInput],
"sensitivity": "PRIVATE",
"meetingProvider": "UNSPECIFIED"
}
UpdateCalendarSourceInput
Fields
| Input Field | Description |
|---|---|
settings - SettingsInput
|
Example
{"settings": SettingsInput}
UpdateDeviceInput
Description
Input for updating device configuration.
Fields marked as omittable support three distinct states:
- Field omitted: Preserves the existing value (no change)
- Field set to null: Clears the field (removes the value)
- Field set to a value: Updates to the new value
Fields
| Input Field | Description |
|---|---|
serial - String
|
Device serial number. |
deskId - ID
|
Move device to a different place. |
roomId - ID
|
|
channelId - ID
|
Firmware channel assignment (omittable). |
parentDeviceId - ID
|
The device ID of the parent this device belongs to (omittable). |
interfaces - [NetworkInterfaceInput!]
|
The device's full set of network interfaces. The provided list replaces whatever is stored: any existing interface whose name is not in the list is deleted. An empty list clears all interfaces for the device. |
Example
{
"serial": "xyz789",
"deskId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"channelId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"parentDeviceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"interfaces": [NetworkInterfaceInput]
}
UpdateDeviceSpecificSettingsInput
UpdateDeviceTypeInput
Fields
| Input Field | Description |
|---|---|
id - ID!
|
|
name - String
|
|
attributes - DeviceTypeAttributesInput
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "xyz789",
"attributes": DeviceTypeAttributesInput
}
UpdateFacilityInput
Description
Input for updating facility properties.
Fields marked as omittable support three distinct states:
- Field omitted: Preserves the existing value (no change)
- Field set to null: Clears the field (removes the value)
- Field set to a value: Updates to the new value
Example
{
"name": "abc123",
"category": "xyz789",
"iconPath": "xyz789"
}
UpdateFileInput
Description
Input for updateFile. Only filename is currently mutable. The file's organization is resolved server-side from id, and the authorization check runs against that org.
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"filename": "xyz789"
}
UpdateFileMetadataInput
Description
Input for updateFileMetadata. Applies a partial patch to an existing file's metadata without re-uploading the blob: deleteKeys are removed first, then metadata entries are merged in (incoming values win for duplicate keys). Same per-entry/key/value limits as the upload path. Both metadata and deleteKeys may be empty (no-op write). Duplicate keys within metadata are rejected with INVALID_ARGUMENT.
Fields
| Input Field | Description |
|---|---|
fileId - ID!
|
|
orgId - ID!
|
|
metadata - [FileMetadataEntryInput!]
|
|
deleteKeys - [String!]
|
Example
{
"fileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"metadata": [FileMetadataEntryInput],
"deleteKeys": ["abc123"]
}
UpdateFileMetadataResult
Fields
| Field Name | Description |
|---|---|
file - File!
|
Example
{"file": File}
UpdateFirmwareInput
Example
{
"deviceTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"version": "xyz789",
"url": "abc123",
"publicKey": "xyz789",
"variant": "abc123",
"channels": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"]
}
UpdateInvitationInput
UpdateLicenseInput
UpdateLicenseTypeInput
Fields
| Input Field | Description |
|---|---|
name - String
|
|
entitySupport - [LicenseTypeEntitySupportInput!]
|
Replaces the full entity support definition. All entity types not listed will have their features cleared. Omit to leave entity support unchanged. |
Example
{
"name": "xyz789",
"entitySupport": [LicenseTypeEntitySupportInput]
}
UpdateMembershipInput
Description
Input for updating membership properties.
Fields marked as omittable support three distinct states:
- Field omitted: Preserves the existing value (no change)
- Field set to null: Clears the field (removes the value)
- Field set to a value: Updates to the new value
Fields
| Input Field | Description |
|---|---|
roles - [Role!]
|
List of roles to assign to the membership. Replaces existing roles. (omittable) |
Example
{"roles": ["OWNER"]}
UpdateOrganizationInput
Fields
| Input Field | Description |
|---|---|
logoMediaId - String
|
|
whitelist - String
|
|
whitelistEnabled - Boolean
|
|
language - String
|
|
timezone - String
|
|
timePresentation - TimePresentation
|
|
name - String
|
|
domain - String
|
|
bookingSettings - OrganizationBookingSettingsInput
|
|
calendarSettings - CalendarSettingsInput
|
|
deskBookingSettings - DeskBookingSettingsInput
|
|
roomBookingSettings - RoomBookingSettingsInput
|
|
parkingBookingSettings - ParkingBookingSettingsInput
|
|
openHours - WeeklyOpenHoursInput
|
|
deviceScreenTemplate - DeviceScreenTemplate
|
|
brokenEquipmentReportEmails - [String!]
|
|
deviceErrorReportEmails - [String!]
|
|
deviceErrorReportWebhookUrl - String
|
|
schedulingSettings - SchedulingSettingsInput
|
Example
{
"logoMediaId": "abc123",
"whitelist": "abc123",
"whitelistEnabled": true,
"language": "abc123",
"timezone": "abc123",
"timePresentation": "H24",
"name": "abc123",
"domain": "abc123",
"bookingSettings": OrganizationBookingSettingsInput,
"calendarSettings": CalendarSettingsInput,
"deskBookingSettings": DeskBookingSettingsInput,
"roomBookingSettings": RoomBookingSettingsInput,
"parkingBookingSettings": ParkingBookingSettingsInput,
"openHours": WeeklyOpenHoursInput,
"deviceScreenTemplate": "LargeResourceName",
"brokenEquipmentReportEmails": ["xyz789"],
"deviceErrorReportEmails": ["abc123"],
"deviceErrorReportWebhookUrl": "xyz789",
"schedulingSettings": SchedulingSettingsInput
}
UpdateOrganizationMessageInput
Example
{
"organizations": ["59fb1147-4713-4a12-a5a2-640c61c2ca67"],
"type": "SUCCESS",
"content": "abc123",
"canBeClosed": true,
"showToAllOrganizations": true,
"showAt": "2007-12-03T10:15:30Z",
"hideAt": "2007-12-03T10:15:30Z"
}
UpdateOverviewInput
Fields
| Input Field | Description |
|---|---|
type - OverviewType
|
|
mode - OverviewMode
|
|
name - String
|
|
alert - AlertInput
|
|
showDateTime - Boolean
|
|
showLogo - Boolean
|
|
darkMode - Boolean
|
|
logoFileId - ID
|
|
columnCount - Int
|
|
tiles - [UpdateTileInput]
|
|
placeId - String
|
Example
{
"type": "TILES",
"mode": "MONITORING",
"name": "xyz789",
"alert": AlertInput,
"showDateTime": false,
"showLogo": true,
"darkMode": false,
"logoFileId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"columnCount": 987,
"tiles": [UpdateTileInput],
"placeId": "abc123"
}
UpdatePinInput
Fields
| Input Field | Description |
|---|---|
code - String
|
Example
{"code": "xyz789"}
UpdatePlaceFeatureInput
Fields
| Input Field | Description |
|---|---|
enabled - Boolean
|
Example
{"enabled": false}
UpdatePlaceFeatureInstanceInput
Fields
| Input Field | Description |
|---|---|
attributes - PlaceFeatureInstanceAttributesInput
|
Example
{"attributes": PlaceFeatureInstanceAttributesInput}
UpdatePlaceInput
Description
Input for updating an existing place.
Fields
| Input Field | Description |
|---|---|
name - String
|
New display name. |
parentPlaceId - ID
|
Change the parent place. May affect inherited settings. |
placeTypeId - ID!
|
Place type. |
settings - PlaceSettingsInput
|
Type-specific settings. |
attributes - PlaceAttributesInput
|
Type-specific attributes. |
mediaId - ID
|
Place image (omittable). |
ownerId - ID
|
Owner user ID. Marks place as dedicated. Set to null to undedicate (omittable). |
schedulingSettings - SchedulingSettingsInput
|
Scheduling settings to set directly on this place, before the hierarchy cascade is applied. Omit to leave existing settings unchanged; set to null to clear all place-level settings; set to a value to overwrite (omittable). |
Example
{
"name": "xyz789",
"parentPlaceId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"placeTypeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"settings": PlaceSettingsInput,
"attributes": PlaceAttributesInput,
"mediaId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"ownerId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"schedulingSettings": SchedulingSettingsInput
}
UpdatePlanInput
UpdateRoomBookingInput
Example
{
"roomId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"title": "xyz789",
"startTime": "2007-12-03T10:15:30Z",
"endTime": "2007-12-03T10:15:30Z",
"attendees": [AttendeeInput],
"isPrivate": true
}
UpdateTileInput
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"type": "BLANK",
"directionIndicator": "NORTH",
"placeId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"hideBookingInformation": true
}
UpdateUserInput
Description
Input for updating user profile information.
Fields marked as omittable support three distinct states:
- Field omitted: Preserves the existing value (no change)
- Field set to null: Clears the field (removes the value)
- Field set to a value: Updates to the new value
Example
{
"firstName": "xyz789",
"lastName": "abc123"
}
User
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
firstName - String
|
|
lastName - String
|
|
email - String!
|
|
eula - String
|
legacy, will be removed |
verified - Boolean!
|
|
memberships - [Membership!]!
|
|
invitations - [Invitation!]!
|
|
Arguments
|
|
superAdmin - Boolean!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"name": "abc123",
"firstName": "abc123",
"lastName": "xyz789",
"email": "xyz789",
"eula": "abc123",
"verified": false,
"memberships": [Membership],
"invitations": [Invitation],
"superAdmin": false,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
UserFilter
Fields
| Input Field | Description |
|---|---|
search - String
|
Only returns users where name or email contains the search term. |
Example
{"search": "abc123"}
UserOrder
Fields
| Input Field | Description |
|---|---|
field - UserOrderField!
|
|
desc - Boolean!
|
Example
{"field": "NAME", "desc": false}
UserOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
legacy, will be removed |
|
|
|
|
|
|
|
|
|
|
|
Example
"NAME"
UserUsersPermissions
Fields
| Field Name | Description |
|---|---|
create - Permission!
|
|
convertServiceAccount - Permission!
|
|
get - Permission!
|
|
list - Permission!
|
|
update - Permission!
|
|
delete - Permission!
|
|
authenticate - Permission!
|
|
verifyEmail - Permission!
|
|
resendEmailVerification - Permission!
|
Example
{
"create": Permission,
"convertServiceAccount": Permission,
"get": Permission,
"list": Permission,
"update": Permission,
"delete": Permission,
"authenticate": Permission,
"verifyEmail": Permission,
"resendEmailVerification": Permission
}
UsersConnection
WeeklyOpenHours
Fields
| Field Name | Description |
|---|---|
mon - OpenHours!
|
|
tue - OpenHours!
|
|
wed - OpenHours!
|
|
thu - OpenHours!
|
|
fri - OpenHours!
|
|
sat - OpenHours!
|
|
sun - OpenHours!
|
Example
{
"mon": OpenHours,
"tue": OpenHours,
"wed": OpenHours,
"thu": OpenHours,
"fri": OpenHours,
"sat": OpenHours,
"sun": OpenHours
}
WeeklyOpenHoursInput
Fields
| Input Field | Description |
|---|---|
mon - OpenHoursInput
|
|
tue - OpenHoursInput
|
|
wed - OpenHoursInput
|
|
thu - OpenHoursInput
|
|
fri - OpenHoursInput
|
|
sat - OpenHoursInput
|
|
sun - OpenHoursInput
|
Example
{
"mon": OpenHoursInput,
"tue": OpenHoursInput,
"wed": OpenHoursInput,
"thu": OpenHoursInput,
"fri": OpenHoursInput,
"sat": OpenHoursInput,
"sun": OpenHoursInput
}
ZoneSettings
Fields
| Field Name | Description |
|---|---|
brokenEquipmentReportEmails - [String!]
|
Example
{"brokenEquipmentReportEmails": ["xyz789"]}
ZoneSettingsInput
Fields
| Input Field | Description |
|---|---|
brokenEquipmentReportEmails - [String!]
|
Example
{"brokenEquipmentReportEmails": ["abc123"]}
ZoomConnection
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orgId - ID!
|
|
zoomAccountId - String!
|
|
connectedAt - DateTime!
|
|
connectedByUserId - ID
|
|
status - ZoomConnectionStatus!
|
|
statusMessage - String
|
|
statusUpdatedAt - DateTime
|
|
installId - String
|
Pending installation ID for an in-progress re-authentication |
reauthLink - String!
|
OAuth authorize URL for re-authentication |
syncLog - [SyncLogEntry!]!
|
Latest 30 integration log entries for this Zoom connection. |
managedPlacesCount - Int!
|
Number of places managed via Zoom for this organization. |
linkedDevicesCount - Int!
|
Number of devices linked to Zoom for this organization (a row in zoom_devices, irrespective of lifecycle state). |
Example
{
"id": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"orgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"zoomAccountId": "abc123",
"connectedAt": "2007-12-03T10:15:30Z",
"connectedByUserId": "59fb1147-4713-4a12-a5a2-640c61c2ca67",
"status": "ACTIVE",
"statusMessage": "abc123",
"statusUpdatedAt": "2007-12-03T10:15:30Z",
"installId": "xyz789",
"reauthLink": "xyz789",
"syncLog": [SyncLogEntry],
"managedPlacesCount": 987,
"linkedDevicesCount": 123
}
ZoomConnectionStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACTIVE"
ZoomDisconnectResult
Description
Result of disconnect operation
Example
{
"success": false,
"placesAffected": 123,
"licensesDecoupled": 987,
"message": "abc123"
}
ZoomInstallLockStatus
Description
Lock status of a pending Zoom installation.
A Zoom account is permanently bound to the first Evoko org it connects to. The web picker uses this to disable orgs that aren't the locked org and to surface a clear error when the locked org is not in the user's memberships.
Example
{"locked": true, "lockedOrgId": "59fb1147-4713-4a12-a5a2-640c61c2ca67"}
ZoomPlaceInfo
ZoomPurgeResult
ZoomSyncStarted
Description
Acknowledgement that a Zoom workspace sync has been queued.
The sync runs asynchronously on the zoom service. Clients should poll zoomConnection.syncLog to observe progress and the final result. Auth failures (re-authorization required) and Zoom API errors are surfaced via the integration log, not via this mutation's response.
Example
{
"accepted": false,
"startedAt": "2007-12-03T10:15:30Z"
}