Add members Early access

Read as Markdown

Early access program

This is in our early access program where we closely support organizations in their usage.

To have this enabled for your organization contact support@cronofy.com or your account manager.

Description #

Adds people to a Managed Organizational Unit, or updates them if they’ve already been added with the same directory_user_id.

When the customer connects their calendars through a service account, as with Enterprise Connect, people you add become members automatically.

Otherwise each person connects their own calendars, as with Individual Connect. Send them their operation_urls.onboarding_url, and they become a member of the Organizational Unit once they’ve connected. Until then, their status is pending.

Authentication is with the access token for the Managed Organizational Unit, returned when you provision it. The Organizational Unit must be managed by your application.

URL format #

{data_center_url}/v1/organizational_unit_directory_users

Example Request #

POST /v1/organizational_unit_directory_users HTTP/1.1
Host: {data_center_url}
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json; charset=utf-8

{
  "directory_users": [
    {
      "directory_user_id": "user-1001",
      "email": "doc@example.com",
      "name": "Doc Brown"
    },
    {
      "directory_user_id": "user-1002",
      "email": "marty@example.com",
      "name": "Marty McFly"
    }
  ]
}

Example Response #

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "directory_users": [
    {
      "directory_user_id": "user-1001",
      "email": "doc@example.com",
      "name": "Doc Brown",
      "status": "member",
      "operation_urls": {
        "onboarding_url": "https://..."
      }
    },
    {
      "directory_user_id": "user-1002",
      "email": "marty@example.com",
      "name": "Marty McFly",
      "status": "pending",
      "operation_urls": {
        "onboarding_url": "https://..."
      }
    }
  ]
}

Request Parameters #

data_center_url Required

The URL for the data center you want to communicate with. Possible choices are:

  • api-au.cronofy.com - πŸ‡¦πŸ‡Ί Australia
  • api-ca.cronofy.com - πŸ‡¨πŸ‡¦ Canada
  • api-de.cronofy.com - πŸ‡©πŸ‡ͺ Germany
  • api-sg.cronofy.com - πŸ‡ΈπŸ‡¬ Singapore
  • api-uk.cronofy.com - πŸ‡¬πŸ‡§ United Kingdom
  • api.cronofy.com - πŸ‡ΊπŸ‡Έ United States

Find out more about Cronofy's data centers.

directory_users Required  #

The people to add or update Array. Must contain at least one person, and each directory_user_id can appear only once.

directory_users.directory_user_id Required  #

Your application’s identifier for the person, such as their user ID in your system String.

Adding a person again with the same directory_user_id updates their details.

directory_users.email Required  #

The person’s email address String.

directory_users.name Optional  #

The person’s name String.

Left unchanged when omitted.

Response Parameters #

directory_users.directory_user_id  #

Your application’s identifier for the person String.

directory_users.email  #

The person’s email address String.

directory_users.name  #

The person’s name, or null if none has been given String.

directory_users.status  #

Whether the person has joined the Organizational Unit String:

  • pending: they haven’t yet connected their calendars.
  • member: they’re a member of the Organizational Unit, either through the customer’s service account or by connecting their own calendars.

directory_users.operation_urls.onboarding_url  #

A link for the person to connect their own calendars, for customers who don’t connect through a service account String.

Each link is valid for 48 hours. Add the person again to get a new one.

Error responses #

401 Unauthorized #

The request was refused as the provided authentication credentials were not recognized.

When an OAuth refresh_token is available then it should be used to request a replacement access token before the request is retried.

403 Forbidden #

The request was refused as the access token doesn’t grant the organizational_unit_scheduling scope.

422 Unprocessable #

The request was unable to be processed due to it containing invalid parameters, or the Organizational Unit isn’t managed by your application.