Skip to main content
POST
/
api
/
spaces
/
coworkermsofficecalendars
Create CoworkerMsOfficeCalendar
curl --request POST \
  --url https://spaces.nexudus.com/api/spaces/coworkermsofficecalendars \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "ResourceId": 123,
  "Name": "<string>",
  "SubscriptionId": "<string>",
  "CalendarId": "<string>",
  "SubscriptionExpireDate": "<string>"
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
A CoworkerMsOfficeCalendar record represents a Microsoft Office 365 Calendar account connected to a customer’s Nexudus account. These records are created automatically when a customer connects their Office 365 Calendar from the Members Portal or the Nexudus app. Once connected, customers can book resources at a location directly from their Office 365 Calendar. Each record stores the Microsoft Graph push-notification subscription details (SubscriptionId, SubscriptionExpireDate) used to keep the calendar in sync. For more information, see the Office 365 Calendar (Customer) help article.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the CoworkerMsOfficeCalendar-Create role.

Request Body

Required Fields

ResourceId
integer
required
ID of the Nexudus resource (room or desk) used as the Microsoft Graph push-notification watch target for this connection.
Name
string
required
Display name of the connected Office 365 Calendar.
SubscriptionId
string
required
Microsoft Graph push-notification subscription ID used to receive calendar change notifications.
CalendarId
string
required
Microsoft Graph calendar ID of the customer’s connected Office 365 calendar.
SubscriptionExpireDate
string
required
Date and time when the Microsoft Graph push-notification subscription expires and must be renewed.

Optional Fields

CoworkerId
integer
ID of the customer who connected their Office 365 Calendar.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/spaces/coworkermsofficecalendars" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ResourceId": 0,
    "Name": "",
    "SubscriptionId": "",
    "CalendarId": "",
    "SubscriptionExpireDate": "2025-01-15T10:30:00Z"
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the coworkermsofficecalendar was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "CoworkerMsOfficeCalendar was successfully created.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}