Public API
  1. Scheduling
Public API
  • Welcome to the deskbird Public API
  • Users
    • Lists company users
      GET
    • Lists single company user
      GET
  • Bookings
    • Lists company bookings
      GET
    • Creates a new resource booking
      POST
    • Gets a single company booking
      GET
    • Updates an existing booking
      PATCH
    • Cancels a booking
      PATCH
    • Checks in to a booking
      PATCH
    • Releases a booking early
      PATCH
  • Groups
    • Lists company user groups
      GET
    • Lists single company user group
      GET
  • Resources
    • Gets a resource by ID
      GET
    • Lists company resources
      GET
  • Offices
    • Lists company offices
      GET
    • Checks a user into an office
      POST
  • Scheduling
    • Lists company scheduling statuses
      GET
    • Deletes scheduling statuses by IDs
      DELETE
    • Adds new scheduling statuses for a user
      POST
  • Scheduling Options
    • Lists company scheduling options
      GET
  • Rooms
    • Lists company rooms
      GET
    • Gets a single room
      GET
    • Lists room bookings
      GET
    • Creates a room booking
      POST
    • Gets a single room booking
      GET
    • Updates a room booking
      PATCH
    • Checks in to a room booking
      PATCH
    • Cancels a room booking
      PATCH
  • Schemas
    • BookingStatus
    • Provider
    • ResourceType
    • GuestEmbeddedResponse
    • UserStatus
    • ResourceEmbeddedResponse
    • UserIncludeOptions
    • UserEmbeddedResponse
    • BookingResponse
    • PaginatedBookingResponse
    • AddressResponse
    • OfficeResponse
    • BookingHistoryResponse
    • ResourceResponse
    • EnvelopedOfficeResponse
    • PaginatedResourceResponse
    • CheckUserIntoOfficeBody
    • CreateBookingGuestDto
    • CreateBookingDto
    • UpdateBookingDto
    • CheckInDto
    • OpeningHourResponse
    • OpeningHoursResponse
    • SharedResourceAccessInfoResponse
    • DedicatedResourceAccessInfoResponse
    • SchedulingOutput
    • UserStatusInput
    • AddUserStatusesInput
    • SchedulingOptionOutput
    • AttendeeResponse
    • RoomBookingResponse
    • PaginatedRoomBookingResponse
    • RoomBookingDetailedResponse
    • AttendeeDto
    • RoomResponse
    • PaginatedRoomResponse
    • CreateRoomBookingDto
    • UpdateRoomBookingDto
  1. Scheduling

Adds new scheduling statuses for a user

POST
/scheduling/user/{userId}
Creates one or more new scheduling statuses for a specified user. Each status requires a day (YYYY-MM-DD format), option ID, and duration (full_day, morning, or afternoon). For half-day durations (morning or afternoon), the SCHEDULING_HALF_DAY feature must be enabled for the company. Optionally supports office ID for office-related statuses. Returns the created scheduling statuses with complete details including user information, option details, and office information if applicable.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Path Params

Header Params

Body Params application/jsonRequired

Example
{
    "scheduling": [
        {
            "day": "2025-01-01",
            "optionId": "485945d8-5cd3-44fc-b703-59a5ffc32472",
            "officeId": "123",
            "duration": "full_day"
        }
    ]
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://connect.deskbird.com/scheduling/user/' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "scheduling": [
        {
            "day": "2025-01-01",
            "optionId": "485945d8-5cd3-44fc-b703-59a5ffc32472",
            "officeId": "123",
            "duration": "full_day"
        }
    ]
}'

Responses

🟢200OK
application/json
Scheduling statuses created successfully for the user
Body

Example
{
    "data": [
        {
            "id": "85ee92da-0324-4709-8f1f-7976f258d750",
            "day": "2025-07-16",
            "userId": "e083a5b7-7a5d-46c7-9b16-a040d8ac503b",
            "optionId": "ea629eef-e694-460c-8541-b811c96379b5",
            "officeId": "123",
            "externalStatus": false,
            "externalStatusId": null,
            "externalCalendarEventId": null,
            "duration": "full_day",
            "anonymized": false,
            "user": {
                "id": "e083a5b7-7a5d-46c7-9b16-a040d8ac503b",
                "firstName": "John",
                "lastName": "Smith",
                "email": "john.smith@example.com"
            },
            "option": {
                "id": "ea629eef-e694-460c-8541-b811c96379b5",
                "name": "Office",
                "type": "office",
                "color": "#916BFF",
                "order": 1,
                "isPrimary": true,
                "isActive": true,
                "policyRule": "office"
            },
            "office": {
                "id": "123",
                "name": "Paris HQ",
                "address": {
                    "street": "Av. Gustave Eiffel",
                    "streetNo": "75007",
                    "postalCode": "75056",
                    "city": "Paris",
                    "country": "France",
                    "countryCode": "FR",
                    "latitude": 48.858157,
                    "longitude": 2.2922362,
                    "radius": 100,
                    "timeZone": "Europe/Paris"
                }
            }
        }
    ]
}
🟠403Created
🟠404Forbidden
Previous
Deletes scheduling statuses by IDs
Next
Lists company scheduling options
Built with