DeskBee API (1.1)

Download OpenAPI specification:Download

Welcome to Deskbee's technical documentation

📢 This documentation is under construction, but you will find most of the information you need to help improve and simplify the Deskbee experience.

Introduction

Deskbee provides a REST API so you can integrate or automate actions.

The communication base address is api.deskbee.io, always accompanied by the secure protocol https://. API versions are grouped by directory, suffixed to base address (https://api.deskbee.io/v1.1).

📢 We can provide an environment for internal testing and development tests. Just contact help@deskbee.co

Parameters

The API supports two methods for sending parameters

QueryString

curl --request POST 'https://api.deskbee.io/v1.1/oauth/token' \
--data-raw 'grant_type=client_credentials&client_id=942ff....e4e23676e'

JSON

curl --request POST 'https://api.deskbee.io/v1.1/oauth/token' \
--header   'Content-Type: application/json' \
--data-raw '{
    "grant_type" : "client_credentials",
    "client_id' :"",
    "client_secret' : "",
    "scope" : ""
}'

Pagination

Some requests made in the API will return a list of information, this information will not be returned in a single response, this is because some responses may have a lot of information, so these requests are paginated.

The Deskbee API uses paging by cursor, in this paging a key parameter is used.

The client receives a variable named cursor along with the response. This cursor is a pointer that points to a specific item that needs to be sent with a request. The server then uses the cursor to fetch the other set of items.

Cursor-based paging is more complex and is preferred when dealing with a real-time dataset.

Below is an example of a cursor-paged JSON response:

Request / Response

Description of the parameters that can be sent in the Deskbee API pagination

Parameters Description
limit Number of individual objects that are returned on each page. max: 250
curl -i -X GET 'https://api.deskbee.io/v1.1/users?limit=1' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>'

Description of the parameters received in the Deskbee API pagination

Parameters Description
links.next Url that tells which page to request next. If not displayed, this will be the last page
links.prev Url that reports the previous data page. If not displayed, this is the first page
{
  "data": [{
    ...
  }, {
    ...
  }, {
    ...
  }],
  "links": {
    "prev": "https://api.deskbee.io/v1.1/users?cursor=eyJuYW1lIjoiS3VyaXJpbiIsIl9wb2ludHNUb05leHRJdGVtcyI6ZmFsc2V9",
    "next": "https://api.deskbee.io/v1.1/users?cursor=eyJuYW1lIjoiS3VyaXJpbiIsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0"
  },
  "meta": {
    "path": "https://api.deskbee.io/v1.1/users",
    "per_page": "2"
  }
}

Response

All responses are returned in valid JSON format.

Dates are returned in ISO8601 format.

{
  // ...
  "created_at": "2020-01-01T12:00:00Z",
  "updated_at": "2020-01-01T13:00:00Z",
  // ...
}

Each response returns an appropriate HTTP code as specified https://datatracker.ietf.org/doc/html/rfc7231#section-6

Successful Returns

Codes Message Description
200 OK Successful request for a GET, DELETE or PUT that completed synchronously
201 Created Successful request for a POST, PUT
202 Accepted Request accepted for a POST, PUT, DELETE, or PATCH that will be processed asynchronously
204 No Content Request successfully carried out, however, there is no content to return
{
    "data": {
        "uuid": "68b0327b-e0f9-40e2-a81c-15fb0d981ede",
        "name": "Grupo Teste",
        "is_checkin_home_office": false,
        "created_at": "2021-09-23T14:28:36-03:00",
        "updated_at": "2021-09-23T14:28:36-03:00"
    }
}

Error Returns

In the event of returning an error, HTTP Status Code different from 2xx for example, a structured and consistent error will be generated in the body of the response.

Field Type Description
error Int Error code, same as the code returned in the HTTP Status (machine-readable)
id String Identifier of the occurred error (machine-readable)
message String User-friendly message explaining the error, human-readable.
errors String[] Error parameters, listing the errors reported in the request.
{
  "error": 422
  "id": "unprocessable_entity",
  "message": "The given data failed to pass validation.",
  "errors": {
    "email": ["The email field is required."],
    "name": ["The name field is required."]
  }
}

Error Codes

Errors returned by the Deskbee API

Code Message ID Description
400 Bad Request unexpected_value The sent data is invalid or non-existent
400 Bad Request oauth_escope Invalid OAuth Authentication Scope
401 Unauthorized unauthenticated Not authorized to access this method
401 Unauthorized oauth_server Error in access credentials to generate JWT token
401 Unauthorized oauth_unauthorized Authorization error in OAuth authentication
404 Not Found not_found Endpoint not found or non-existent
422 Unprocessable Entity unprocessable_entity Your request contains invalid parameters
507 Insufficient Storage query_error Unable to store your data
429 Too Many Requests request_limit You have exceeded the consumption limit, try again later
500 Internal Server Error internal_error Something went wrong with the Server, report the problem

Creating Application

To begin integration with Deskbee's API, it is necessary to create a ClientApi in the Deskbee Panel.

📢 Only users with Admin and Master Profile permissions have access to the integrations menu

  1. Access the Deskbee Panel, Integrations > ClientApi and click on New Client
  2. Enter a name that will be used to identify the application and choose what it will have access to.
  3. After successfully creating the application, click on the data visualization icon.
  4. The Client ID, Client Secret and Scopes will be displayed. These are the 3 pieces of data needed to create an Authentication Token (OAuth2).

📢 ATTENTION

For compliance, choose only the scopes that the application needs to use

ClientCredentialsJWT

Security Scheme Type: HTTP
HTTP Authorization Scheme: bearer
Bearer format: JWT

Authentication

Obtain JWT Token

To authenticate in the Deskbee API, we use the client_credential OAuth flow.

📢 The client credentials flow is a server-to-server flow. There is no user authentication involved in the process

This flow is useful for systems that need to perform API operations when no user is present. These can be night operations or other operations involving contact between two applications / systems.

The Flow consists of:

  1. Make a POST request to the OAuth server OAuth server issues Access Token Use this Access Token for API consumption
  2. OAuth issues the Access Token
  3. Use this Access Token for API consumption
Request Body schema: application/json
required
grant_type
string
client_id
string
client_secret
string
scope
string

Responses

Request samples

Content type
application/json
{
  • "grant_type": "client_credentials",
  • "client_id": "943e47a1.....afc40e491",
  • "client_secret": "7gWtVs9P.....PEyjRVqz05QdyB",
  • "scope": "organization.show organization.upsert integration.checkin booking.show organization.remove"
}

Response samples

Content type
application/json
{
  • "access_token": "eyJ...yqU",
  • "token_type": "Bearer",
  • "expires_in": "3600"
}

Buildings

Everything about your Buildings

Get building

Returns a single building

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the building to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List all buildings

Returns a list of buildings

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchBuildingParams)
Example: search='place_type:workspace;is_active:false'

Search filters. Use semicolon-separated key:value pairs.

user_scope
string <uuid>
Example: user_scope=123e4567-e89b-12d3-a456-426614174000

Scope-based filter, filtering buildings only by the user's uuid according to the spatial restrictions configured in the deskbee panel.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Floors

Everything about your Floors

Get floor

Returns a single floor

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the floor to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List all floors

Returns a list of floors

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchFloorParams)
Example: search='place_type:workspace;is_active:false'

Search filters. Use semicolon-separated key:value pairs.

user_scope
string <uuid>
Example: user_scope=123e4567-e89b-12d3-a456-426614174000

Scope-based filter, filtering buildings only by the user's uuid according to the spatial * restrictions configured in the deskbee panel.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Parkings

Everything about your parkings

Get parking

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string <uuid>

UUID of the parking

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List all parkings

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchFloorParams)
Example: search='place_type:workspace;is_active:false'

Search filters. Use semicolon-separated key:value pairs.

object (ResponseFilterVacancies)
Example: response_filter=date:2024/01/01;start_hour:06:00;end_hour:11:00

Filter response. Use semicolon-separated key:value pairs.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Places

Get place

Returns a single place

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the place to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List all places

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchPlaceParams)
Example: search='place_type:workspace'

Search filters. Use semicolon-separated key:value pairs.

user_scope
string <uuid>
Example: user_scope=123e4567-e89b-12d3-a456-426614174000

Scope-based filter, filtering buildings only by the user's uuid according to the spatial * restrictions configured in the deskbee panel.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Cost Center

Returns data from cost centers

List cost centers

Returns list of cost centers

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchCostCenterParams)
Example: search='name:developer'

Search filters. Use semicolon-separated key:value pairs.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create cost center

Add a cost center

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
name
required
string

name of the cost center

code
required
string

code of the cost center

description
string

description or a note about the cost center

Responses

Request samples

Content type
application/json
{
  • "name": "Commodities",
  • "code": "1900623",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get cost center

Returns a single cost center

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the cost center to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Edit cost center

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the cost center

Request Body schema: application/json
required
name
required
string

name of the cost center

code
required
string

code of the cost center

description
string

description or a note about the cost center

Responses

Request samples

Content type
application/json
{
  • "name": "Commodities",
  • "code": "1900623",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Remove cost center

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the cost center

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Users

Returns data from users

List users

Returns list of users

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchUserApiClient)
Example: search='email:eq:[email protected];is_squad:false'

Search filters. Use semicolon-separated key:value pairs.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create user

Add a user

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
name
string

Name of the user

email
string <email>

Unique email address of the user

is_send_mail
boolean

Flag to indicate if mail should be sent

enrollment
string

The enrollment number used to associate Deskbee users with other platforms. This serves as a unique identifier for integration purposes.

squad_uuid
string <uuid>

Unique identifier of the squad

status
boolean

Indicates the user's status. When true, the user is active; when false, the user is deactivated and cannot log in to Deskbee.

object

Free-form object for user documents, used exclusively for integrations with access control and guest pass systems. Any information can be included as key-value pairs.

tags
Array of strings <uuid> [ items <uuid > ]

List of UUIDs representing user tags.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "[email protected]",
  • "is_send_mail": true,
  • "enrollment": "ENROLL12345",
  • "squad_uuid": "addd4fbe-876a-4d8c-833d-e952be1b0f18",
  • "status": true,
  • "documents": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get user

Returns a single user

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the user to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Edit user

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

User UUID

Request Body schema: application/json
required
name
string

Name of the user

email
string <email>

Unique email address of the user

is_send_mail
boolean

Flag to indicate if mail should be sent

enrollment
string

The enrollment number used to associate Deskbee users with other platforms. This serves as a unique identifier for integration purposes.

squad_uuid
string <uuid>

Unique identifier of the squad

status
boolean

Indicates the user's status. When true, the user is active; when false, the user is deactivated and cannot log in to Deskbee.

object

Free-form object for user documents, used exclusively for integrations with access control and guest pass systems. Any information can be included as key-value pairs.

tags
Array of strings <uuid> [ items <uuid > ]

List of UUIDs representing user tags.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "[email protected]",
  • "is_send_mail": true,
  • "enrollment": "ENROLL12345",
  • "squad_uuid": "addd4fbe-876a-4d8c-833d-e952be1b0f18",
  • "status": true,
  • "documents": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Remove user

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

User UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Add users to groups

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
squads
Array of strings <uuid> [ items <uuid > ]

List of squad UUIDs.

users
Array of strings <uuid> [ items <uuid > ]

List of user UUIDs.

Responses

Request samples

Content type
application/json
{
  • "squads": [
    ],
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "data": ""
}

Remove users to groups

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
squads
Array of strings <uuid> [ items <uuid > ]

List of squad UUIDs.

users
Array of strings <uuid> [ items <uuid > ]

List of user UUIDs.

Responses

Request samples

Content type
application/json
{
  • "squads": [
    ],
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "data": ""
}

List Users Tags

List the user tags

Authorizations:
ClientCredentialsJWT

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create users Tags

Submits data to create a user tag

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
name
string

Unique name for the user tag.

access
string
Enum: "public" "private"

Access level for the user tag, must be either 'public' or 'private'.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "access": "public"
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Squads

Returns data from squads

Get squad

Returns a single squad

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

UUID of the squad to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Edit squad

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Squad UUID

Request Body schema: application/json
required
name
required
string

group name

Responses

Request samples

Content type
application/json
{
  • "name": "Commodities"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Remove squad

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Squad UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List squads

Returns list of squads

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchSquadParams)
Example: search='name:developer'

Search filters. Use semicolon-separated key:value pairs.

user_scope
string <uuid>
Example: user_scope=123e4567-e89b-12d3-a456-426614174000

Scope-based filter, filtering buildings only by the user's uuid according to the spatial restrictions configured in the deskbee panel.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create squad

Add a squad

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
name
required
string

group name

Responses

Request samples

Content type
application/json
{
  • "name": "Commodities"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Spatial Restrictions

Returns a list of squads along with their spatial restrictions, including blocks by area such as floor, building, sector, or site.s

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchSquadParams)
Example: search='name:developer'

Search filters. Use semicolon-separated key:value pairs.

user_scope
string <uuid>
Example: user_scope=123e4567-e89b-12d3-a456-426614174000

Scope-based filter, filtering buildings only by the user's uuid according to the spatial restrictions configured in the deskbee panel.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

GuestPass

Returns list of third-party invitations and external guests

List GuestPass Invitations

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchGuestPass)
Example: search='search=period:2024/01/01,2024/01/30;state=active'

Search filters. Use semicolon-separated key:value pairs.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Update Guest Pass Status

Updates the status of a guest pass to 'Passed' (status id = 4) and sends email notifications to the host and a designated concierge or receptionist.

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

User UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Bookings

Bookings Details

Fetches detailed information about a specific reservation and its associated check-in data using the reservation's unique identifier (UUID).

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Booking UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Bookings

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchBooking)
Example: search='search=period:2024/01/01,2024/01/30;state=reserved'

Search filters. Use semicolon-separated key:value pairs.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create Booking

Creates a new booking. If 'place_uuid' is not provided, 'floor_uuid' must be specified, and the system will select the first available place on the floor that the 'person_uuid' has access to.

📢 ATTENTION

Currently, only reservations for workstations are supported.

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
user_uuid
required
string <uuid>

Required UUID of the person making the booking.

date
required
string <date>

Required date of the booking in 'Y/m/d' format.

start_hour
required
string <time>

Required start hour of the booking in 'H:i' format.

end_hour
required
string <time>

Required end hour of the booking in 'H:i' format.

place_uuid
string <uuid>

Optional UUID of the place for the booking.

floor_uuid
string <uuid>

Required UUID of the floor for the booking if place_uuid is not provided.

is_send_email
boolean

Indicates whether an email with the reservation details should be sent to the person.

Responses

Request samples

Content type
application/json
{
  • "user_uuid": "7c4d2d7d-8620-4fb3-967a-4a621082cf1f",
  • "date": "2024/01/30",
  • "start_hour": "08:00",
  • "end_hour": "15:00",
  • "place_uuid": "a1998e5c-7d53-454f-ac7a-ce908acc5631",
  • "floor_uuid": "fb41c11a-b256-4172-9281-a04f78acbcef",
  • "is_send_email": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Checkin

Check-ins participants

Returns a list of all check-ins associated with a specific booking, including check-ins by both the host and participants (if participant check-ins are enabled in the Deskbee Panel).

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Booking UUID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Check In Booking

This endpoint performs a check-in for an active reservation identified by the reservation uuid.

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Booking UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Check Out Booking

This endpoint performs a checkout for a specified reservation, freeing up the reserved space.

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Booking UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Cancel an Active Booking

Cancels an active reservation that has not yet had a check-in. This frees up the reserved space.

Authorizations:
ClientCredentialsJWT
path Parameters
uuid
required
string

Booking UUID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Tickets

Everything about your Tickets

Get ticket

Get ticket event details by UUID.

path Parameters
uuid
required
string <uuid>

UUID of the ticket event

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List all events

Returns a list of tickets

Authorizations:
ClientCredentialsJWT
query Parameters
object (SearchTicketParams)
Example: search=search=status:closed;period:2023/03/01,2023/03/29;type:operational

Search filters. Use semicolon-separated key:value pairs.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Personal Badge

Create Personal Badge

Generates a customizable QR code for access control and IoT interactions through Deskbee integration with other systems.

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
identifier_type
string

Type of the identifier. For example, 'email'.

identifier
string

The actual identifier value. For example, an email address.

code
string <uuid>

Unique code associated with the identifier.

Responses

Request samples

Content type
application/json
{
  • "identifier_type": "string",
  • "identifier": "[email protected]",
  • "code": "f5d62b05-370e-48be-a755-8675ca146431"
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Checkin Automation

The Check-in Automation is a form of integration in which a device sends an event to Deskbee, indicating the Device Code that identifies the location of the person and the person's identifier. With this information, Deskbee locates reservations made by this user in the building structure linked to the device that sent the event, thereby performing the person's automated check-in.

To implement this automation, it is necessary to develop a call to the Deskbee API whenever there is any interaction with the Turnstile / Device. For this purpose, you should contact the company that provides your Access Control to carry out this implementation.

In the Deskbee Panel, navigate to Integrations > Automation and click on 'Checkin / Checkout Automation'.

📢 Contact your Access Control provider to carry out this implementation.

Automate Check-in

Receives the entry device code and a person's identifier (enrollment number or document number), searches for reservations for the specified building and person, and performs check-in or check-out for the found reservations.

Authorizations:
ClientCredentialsJWT
Request Body schema: application/json
required
Array
device
string

Identifier of the entry device.

person
string

Code identifying the person, which can be an enrollment number or a document identifier..

date
string <date-time>

ISO 8601 formatted date and time when the event was generated.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": {
    }
}

Webhook

Webhook Integration: Detailed documentation on the configuration and validation of webhooks.

Configuration in Deskbee Panel: Access as Admin or Master to set up the WebHook.

📢 Security and Requirements: The client's URL must be HTTPS.

Retries

In case of failure (e.g., the client returns an HTTP Status other than 200), up to 5 additional attempts are made. The interval between attempts progressively increases to a maximum of 100,000 seconds (~27 hours).

Webhook Validation

The client should validate the origin of the POST by verifying the HMAC-SHA1 of the request body against the X-Hub-Signature header.

Validation Examples

EXPECTED_SIGNATURE=`cat {conteudo do payload} | openssl dgst -sha1 -hmac "{webhook integration key}"`
SIGNATURE={signature}
if [ "$SIGNATURE"="$EXPECTED_SIGNATURE" ]; then
 echo "Subscription Valid, received by Deskbee"
fi
import { createHmac } from 'crypto'
const signature = createHmac('sha1', {webhook integration key}).update({conteudo do payload}).digest('hex')
if (equals(signature, {signature})) {
 console.log('Subscription Valid, received by Deskbee')
}

Events

Bookings

This webhook is triggered when a booking is created, updated, or deleted. It sends a payload with detailed information about the booking event.

Request Body schema: application/json
required
subscription_id
string <uuid>

Webhook subscription ID.

transaction_id
string <uuid>

Unique transaction ID for the event.

account
string

Account code associated with the event.

send_at
string <date-time>

Date and time of the event.

event
string

Event type for booking.

object

Details of the booking action.

object

Additional detailed information about the booking.

Responses

Request samples

Content type
application/json
{
  • "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
  • "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
  • "account": "string",
  • "send_at": "2019-08-24T14:15:22Z",
  • "event": "booking",
  • "resource": {
    },
  • "included": {
    }
}

Guest Check-in

This webhook is triggered when a participant of a meeting performs a check-in, but only if participant check-in is enabled in the Deskbee Panel under meeting room settings. It sends detailed information about the check-in and the associated booking.

Request Body schema: application/json
required
subscription_id
string <uuid>

Webhook subscription ID.

transaction_id
string <uuid>

Unique transaction ID for the event.

account
string

Account code associated with the event.

send_at
string <date-time>

Date and time of the event.

event
string

Event type for guest check-in.

object

Details of the booking action.

object

Additional information related to the booking and the guest check-in event.

Responses

Request samples

Content type
application/json
{
  • "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
  • "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
  • "account": "string",
  • "send_at": "2019-08-24T14:15:22Z",
  • "event": "guest_checkin",
  • "resource": {
    },
  • "included": {
    }
}

Check-in / Check-out

This webhook is triggered when a check-in or check-out is performed, sending details about the booking and the check-in/check-out action.

Request Body schema: application/json
required
subscription_id
string <uuid>

Webhook subscription ID.

transaction_id
string <uuid>

Unique transaction ID for the event.

account
string

Account code associated with the event.

send_at
string <date-time>

Date and time of the event.

event
string

Event type for check-in or check-out.

object

Details of the check-in/check-out action.

object

Additional information about the booking and check-in/check-out.

Responses

Request samples

Content type
application/json
{
  • "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
  • "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
  • "account": "string",
  • "send_at": "2019-08-24T14:15:22Z",
  • "event": "checkin",
  • "resource": {
    },
  • "included": {
    }
}

Locker Open

This webhook is triggered when a locker is opened, either due to check-in/check-out or when the 'open locker' button is pressed in the app. It sends a payload with the details of the action and the related booking.

Request Body schema: application/json
required
subscription_id
string <uuid>

Webhook subscription ID.

transaction_id
string <uuid>

Unique transaction ID for the event.

account
string

Account code associated with the event.

send_at
string <date-time>

Date and time of the event.

event
string

Event type, in this case, locker.

object

Details of the locker action.

object

Additional information about the locker.

Responses

Request samples

Content type
application/json
{
  • "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
  • "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
  • "account": "string",
  • "send_at": "2019-08-24T14:15:22Z",
  • "event": "locker",
  • "resource": {
    },
  • "included": {
    }
}

Squads

This endpoint is triggered to send data when a group event occurs in Deskbee. Events may include the creation, update, or deletion of a group. The webhook URL and event types are configured by the client in the Deskbee Panel. When a corresponding event is triggered, the webhook sends this payload containing details of the subscription, transaction, account, time of sending, event type, and group resource information.

Request Body schema: application/json
required

Webhook event payload for group events.

subscription_id
string <uuid>

The webhook subscription ID.

transaction_id
string <uuid>

Unique ID for the webhook event transaction.

account
string

Account associated with the event.

send_at
string <date-time>

The date and time when the event is sent.

event
string

The identifier of the webhook event.

object

Details of the group resource involved in the event.

Responses

Request samples

Content type
application/json
{
  • "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
  • "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
  • "account": "string",
  • "send_at": "2019-08-24T14:15:22Z",
  • "event": "squad",
  • "resource": {
    }
}

Users

This webhook is triggered when a user is created, updated, or deleted. It sends a payload with details of the action and the affected user.

Request Body schema: application/json
required
subscription_id
string <uuid>

The webhook subscription ID.

transaction_id
string <uuid>

Unique transaction ID for the event.

account
string

Account code associated with the event.

send_at
string <date-time>

Date and time of the event.

event
string

Event type, in this case, user.

object

Details of the user action.

object

Additional information about the user.

Responses

Request samples

Content type
application/json
{
  • "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
  • "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482",
  • "account": "string",
  • "send_at": "2019-08-24T14:15:22Z",
  • "event": "user",
  • "resource": {
    },
  • "included": {
    }
}

Integrations

Documentation for integrating Deskbee with third-party systems such as SSO, Slack, Calendars, and others.

For detailed guidance and configuration instructions, please visit Deskbee Integrations Documentation.

This section covers various aspects of connecting Deskbee with external services, providing seamless integration to enhance functionality and user experience.

📢 If you have any questions or require assistance, please feel free to contact our support team at help@deskbee.co.