Bluejeans

Primetime API Documentation

API Docs

[Base URL: http://pt-api-ga.bluejeans.com]

This document represents the BlueJeans Primetime Application Program Interface (API). This API is currently considered to be private and will only be supported externally under written agreement.

Technology Overview

The Blue Jeans API is a JSON REST service that communicates over HTTPS.

  • JSON: JavaScript Object Notation
  • REST: Representational State Transfer
  • HTTPS: Hypertext Transfer Protocol (secure)

Authentication API Try it out!

An application is provisioned within the BlueJeans Enterprise Admin interface. When provisioning an app, a client key and secret are provided, which is then used to obtain an access token, via the BlueJeans Authentication API. Each API request that is sent to BlueJeans Primetime by client application requires an access token, which is obtained through the BlueJeans Authentication API. Currently, There are two methods (grant types) for obtaining an access token, which follow the OAuth2.0 specification. The access level that is associated with each access token is referred to as the scope.

  • User Application Grant – User level resources are authenticated using this type of grant type.
  • Enterprise Application Grant – Enterprise level resources are authenticated using this type of grant type.

Scheduling Service Try it out!

The following scheduling functionality is made available with the Blue Jeans Primetime API. Each API request requires the passing of a valid token.

  • List upcoming scheduled events by user
  • Schedule event
  • Get event
  • Update event
  • Cancel event
  • List upcoming scheduled events for an enterprise

Instance Service Try it out!

The Instance service provides details about past instances of the events:

  • List past event instances of a user
  • List past event instance of an enterprise

Event Details Service Try it out!

The Event Details service provides more details about an Event instance

  • List participants for an event instance

Registration Service Try it out!

The Registration service provides more details about User Registrations for an Event

  • Get all user registrations for an Event in csv format
  • Get all user registrations for an Event in json, in paginated way

Webhook Service Try it out!

The Webhook service provides functionality for webhook messages during a Live Event

  • User can configure webhook settings after scheduling an Event and Webhooks can be configured for Event's State(PREP_EVENT, IN_EVENT etc) and Attendee's Info(JOIN, LEFT etc)
  • Webhook messages will be sent during a Live Event

Tutorials on this can be obtained here

REST Service Details

This section describes the low-level implementation details for the Blue Jeans Primetime API

  • API Host Name: All API interaction should be through http://pt-api-ga.bluejeans.com.
  • Request, Response Entity: All data passed to and from the API are sent in JSON format.
  • Valid HTTP status codes are used to specify errors.

Detailed error responses are not yet supported. If you are getting an error 500 for a particular API request, please contact us.

All API requests require the passing of a time-based access token. Request URI: POST /api/security/v1/oauth/accesstoken

Client Key and Secret Generation

Enterprise Admin should create the app level secret on the BlueJeans Events ‘Admin’ page. Admin should provide the app name on this page as input and they will be shown an app key and secret that can be used later for token generation as explained above. This is a one-time activity.

The following steps will guide you through the process.

  • Log into your Blue Jeans account
  • Navigate to the Admin console
  • Enable Enterprise App Provisioning

Blue Jeans personnel must enable enterprise-level APIs for you. You will know if you have this capability enabled if you see a tab called “OAuth Access” in ‘EVENTS’ section on admin interface.

If you do not see this tab in the main Enterprise Admin screen, please contact support@bluejeans.com and request that to be enabled.

  • Choose the Oauth Access tab
  • Click the Add New App button
  • Fill in your app information and save it
  • Click the info icon (far right) for your app to get your App Secret
  • Copy your App Key and App Secret

User-App Access Token

This grant type is used by an application, which needs to access user level API resources. Client ID and Secret along with a valid email associated with Blue Jeans account are passed as an input.

Request Body Schema:

        {
         "grant_type": {String} (Set to "user_app") required,
         "properties": {
           "client_id": {String} (AppKey value) required,
           "client_secret": {String} (App Secret value) required
           "user_email": {String} (User email registered with BJN) required  
          }
        }
      

Response Body Schema:

        {
           "access_token": {String} ,
           "expires_in": {Number} ,
           "userId": {Number} ,
           "enterpriseId": {Number} 
        }
      

Enterprise-App Access Token

This grant type is used by an application, which needs to access enterprise level API resources. Client ID and Secret are passed as an input.

Request Body Schema:

        {
           "grant_type": {String} (Set to "enterprise_app") required,
           "properties": {
             "client_id":{String} (AppKey value) required,
             "client_secret": {String} (App Secret value) required
           }
        }
      

Response Body Schema:

        {
           "access_token": {String} ,
           "expires_in": {Number} ,
           "enterpriseId": {Number} 
        }
      

Get User App Token

Please follow these HTTP attributes to generate user app token.

URL: http://pt-api-ga.bluejeans.com/api/security/v1/oauth/accesstoken
Method: POST
Headers:  
    Content-type: application/json, 
    Accept: application/json
Request Body: 
    {
     "grant_type": "user_app",
     "properties": {
       "client_id": "3f966b05-c396-437b-ae78-3367931755f8",
       "client_secret": "cnNRuWrQTmipKjqb",
       "user_email": "firstname.lastname@bluejeans.com"
      }
    }
Response status code: 200
Response Body: 
    {
       "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJncmFudF90eXBlIjoidXNlcl9hcH
       AiLCJpc3MiOiJQcmltZXRpbWUiLCJlbnRlcnByaXNlSWQiOjE0LCJ1c2VyUm9sZSI6Il
       VTRVJfQVBQIiwiZXhwIjoxNDcxMDg4MTU2LCJ1c2VySWQiOjg1LCJpYXQiOjE0NzEwMD
       E3NTZ9.Nti7--9mzyM4fDiQjLlS8Y7kCylQDfTiiNv18RuYDs0Ffc-4hAU-la6hNZCUv
       HJaQHMTlVqzz_Ip2nL8upnC-Q",
       "expires_in": 86400,
       "userId": 8598989
       "enterpriseId": 14454
    }
          

The userId present in the response, represents user's identity in Bluejeans Primetime APIs. It will be used in user centric APIs e.g. create, edit, delete and get events.

The enterpriseId present in the response, represents user's enterprise in Bluejeans Primetime APIs. It will be used in enterprise centric APIs e.g. get enterprise's upcoming events, past events etc.

The access_token present in the response is the user app token. It will be used as an Authorization Bearer token for Primetime APIs.

Get Enterprise App Token

Please follow these HTTP attributes to generate enterprise app token.

URL: http://pt-api-ga.bluejeans.com/api/security/v1/oauth/accesstoken
Method: POST
Headers: 
    Content-type: application/json
    Accept: application/json
Request Body:
    {
     "grant_type": "enterprise_app",
     "properties": {
       "client_id": "3f966b05-c396-437b-ae78-3367931755f8",
       "client_secret": "cnNRuWrQTmipKjqb"
      }
    }
Response status code: 200
Response Body:
    {
       "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJncmFudF90eXBlIjoidXNlcl9hcH
       AiLCJpc3MiOiJQcmltZXRpbWUiLCJlbnRlcnByaXNlSWQiOjE0LCJ1c2VyUm9sZSI6Il
       VTRVJfQVBQIiwiZXhwIjoxNDcxMDg4MTU2LCJ1c2VySWQiOjg1LCJpYXQiOjE0NzEwMD
       E3NTZ9.Nti7--9mzyM4fDiQjLlS8Y7kCylQDfTiiNv18RuYDs0Ffc-4hAU-la6hNZCUv
       HJaQHMTlVqzz_Ip2nL8upnC-Q",
       "expires_in": 86400,
       "enterpriseId": 14454
    }
      

The enterpriseId present in the response, represents user's enterprise in Bluejeans Primetime APIs. It will be used in enterprise centric APIs e.g. get enterprise's upcoming events, past events etc.

The access_token present in the response is the enterprise app token. It will be used as an Authorization Bearer token for Primetime APIs.

Create Event

Please follow these HTTP attributes to create an Event.

URL: http://pt-api-ga.bluejeans.com/api/scheduling/v1/users/{userId}/events
Method: POST
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    {
     "title": "My First Bluejeans Event",
     "start": 1471008436069,
     "end": 1471008836069,
     "description": "My First Bluejeans Event - Demo",
     "timezone":"Asia/Kolkata",
     "restricted":false,
     "requireEmail":true,
     "enableAutoRecord":true,
     "enablePSTN":false,
     "enableChat":true,
     "enableAttendeeRoster":true,
     "enableQnA":true,
     "enableQnAAnonymous":true,
     "enableWaterMark":false,
     "enableIntroOutro":true,
     "recurrencePattern":
      {
            "recurrenceType":"DAILY",
            "endDate":null,
            "recurrenceCount":"6",
            "frequency":"1",
            "daysOfWeekMask":0,
            "dayOfMonth":0,
            "weekOfMonth":"NONE"
      },
     "panelists":[],
     "moderators":[],
     "attendees":[],
     "panelistMessage":"",
     "moderatorMessage":"",
     "attendeeMessage":"",
     "customIntroOutro":false
    }
Response status code: 201
Response Body:
    {
       "id":"662" 
    }
      

The userId in the path parameter, is the value present in Get user app token API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

Edit Event

Please follow these HTTP attributes to update an Event.

URL: http://pt-api-ga.bluejeans.com/api/scheduling/v1/users/{userId}/events/{eventId}
Method: PUT
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    {
     "title": "My First Bluejeans Event - Demo",
     "enableChat":false,
     "enableQnA":false
    }
Response status code: 204
Response Body:
    No Response
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

Get Event

Please follow these HTTP attributes to get an Event.

URL: http://pt-api-ga.bluejeans.com/api/scheduling/v1/users/{userId}/events/{eventId}
Method: GET
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    NA
Response status code: 200
Response Body:
{
  "id": "662",
  "title": "My First Bluejeans Event - Demo",
  "description": "My First Bluejeans Event - Demo",
  "organizerId": 8598989,
  "organizerEnterpriseId": 14454,
  "start": 1471008436069,
  "end": 1471008836069,
  "timezone": "Asia\/Kolkata",
  "created": 1471004950000,
  "lastModified": 1471008146000,
  "moderatorMessage": "",
  "panelistMessage": "",
  "restricted": false,
  "meetingNumericId": "972524947",
  "status": "NOT_STARTED",
  "requireRegistration": false,
  "attendeeMessage": "",
  "enableAutoRecord": true,
  "enterpriseOnly": false,
  "enableOnPrem": false,
  "enablePSTN": false,
  "recordingsAvailable": false,
  "participantPasscode": "7263",
  "attendeeMeetingNumericId": "915093734",
  "attendeeMeetingPasscode": "1503",
  "moderatorUrl": "denimuser.meetme.bluejeans.com\/a2m\/live-event\/ne41666",
  "panelistUrl": "denimuser.meetme.bluejeans.com\/a2m\/live-event\/aw00974",
  "attendeeUrl": "denimuser.meetme.bluejeans.com\/a2m\/live-event\/em53530",
  "moderators": [
  ],
  "panelists": [
  ],
  "attendees": [
  ],
  "recurrencePattern": {
    "recurrenceType": "DAILY",
    "endDate": null,
    "weekOfMonth": "NONE",
    "recurrenceCount": 6,
    "frequency": 1,
    "daysOfWeekMask": 0,
    "dayOfMonth": 0
  },
  "recurrenceEnd": 1471440836000,
  "recurrenceEndNever": false,
  "recurrenceStart": 1471008600000,
  "enableChat": false,
  "enableAttendeeRoster": true,
  "enableQnA": true,
  "enableWaterMark": false,
  "activeAttendeeCount": 0,
  "dialInNumbers": {
    "alternate": "+49 69 255 11432",
    "us": "+1 (408) 317-9253",
    "us_tollfree": "+1 (855) 203-2730"
  },
  "subscriptionId": "18988",
  "planId": "124445",
  "billingType": "FREETRIAL",
  "billingEditable": true,
  "requireEmail": true,
  "enableQnAAnonymous": true,
  "enableIntroOutro": true,
  "customIntroOutro": false
}
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

Delete Event

Please follow these HTTP attributes to delete an Event.

URL: http://pt-api-ga.bluejeans.com/api/scheduling/v1/users/{userId}/events/{eventId}
Method: DELETE
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    NA
Response status code: 204
Response Body:
    No Response
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

Register Webhook for Event's State

Please follow these HTTP attributes to register Webhook for an Event's State.

URL: http://pt-api-ga.bluejeans.com/api/webhook/v1/users/{userId}/events/{eventId}
Method: POST
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    {
  "type":["EVENT_STATE"],
  "method":"POST",
  "headers": {
    "Content-Type":"application,
    "custom header key": "custom header value",
    .
    .
  },
  "url":"{Webhook Url to which webhook messages will be sent}"
}
Response status code: 204
Response Body:
    No Response
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

The method type in Request Body represents Http Method type. Currently POST and PUT are supported for sending Webhook messages

Webhook message payload:

When Event is not yet Started :
{
  "eventId": "{eventId}",
  "instanceId": "{instanceId}",
  "type": "EVENT_STATE",
  "info": {
    "state": "NOT_STARTED"
  }
}


When Event is started but not yet broadcasted :
{
  "eventId": "{eventId}",
  "instanceId": "{instanceId}",
  "type": "EVENT_STATE",
  "info": {
    "state": "PREP_EVENT"
  }
}


When Event is started and broadcasted :
{
  "eventId": "{eventId}",
  "instanceId": "{instanceId}",
  "type": "EVENT_STATE",
  "info": {
    "state": "IN_EVENT"
  }
}
      

Please follow these HTTP attributes to remove Webhook configurations for Event's State.

URL: http://pt-api-ga.bluejeans.com/api/webhook/v1/users/{userId}/events/{eventId}/type/EVENT_STATE
Method: DELETE
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    NA
Response status code: 204
Response Body:
    No Response
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

Register Webhook for Attendee's Info

Please follow these HTTP attributes to register Webhook for an Attendee's Info during Live Event.

URL: http://pt-api-ga.bluejeans.com/api/webhook/v1/users/{userId}/events/{eventId}
Method: POST
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    {
  "type":["ATTENDEE_INFO"],
  "method":"POST",
  "headers": {
    "Content-Type":"application,
    "custom header key": "custom header value",
    .
    .
  },
  "url":"{Webhook Url to which webhook messages will be sent}"
}
Response status code: 204
Response Body:
    No Response
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

The method type in Request Body represents Http Method type. Currently POST and PUT are supported for sending Webhook messages

"type":["ATTENDEE_INFO","EVENT_STATE"] can be provided if you want to have same webhook configuration for these Webhook Types

Webhook message payload:

Attendee Join :

{
  "eventId": "{eventId}",
  "instanceId": "{instanceId}",
  "type": "ATTENDEE_INFO",
  "info": {
    "endpointGuid": "{endpointGuid}",
    "endpointType": "{browser / pstn etc}",
    "infoType": "JOIN",
    "joinTime": 1532010737903,
    "name": "{Attendee's name}",
    "email": "{Attendee's email, if any}"
  }
}

Attendee Left :

{
  "eventId": "{eventId}",
  "instanceId": "{instanceId}",
  "type": "ATTENDEE_INFO",
  "info": {
    "endpointGuid": "{endpointGuid}",
    "endpointType": "{browser / pstn etc}",
    "infoType": "LEFT",
    "joinTime": 1532010793767,
    "leaveTime": 1532010816194,
    "name": "{Attendee's name}",
    "email": "{Attendee's email, if any}"
  }
}
      

Please follow these HTTP attributes to remove Webhook configurations for Event's State.

URL: http://pt-api-ga.bluejeans.com/api/webhook/v1/users/{userId}/events/{eventId}/type/ATTENDEE_INFO
Method: DELETE
Headers: 
    Content-type: application/json
    Accept: application/json
    Authorization: Bearer "access_token_value"
Request Body:
    NA
Response status code: 204
Response Body:
    No Response
      

The userId in the path parameter, is the value present in Get user app token API response.

The eventId present in the path parameter, is the value present in Create event API response.

The access_token_value present in the request body, is the value present in Get user app token API response.

Changelog

Release Date: 16 Sep 2022

  • [Added] Upfront access to the API Playground
  • [Added] Base url details

Release Date: 21 Oct 2022

  • [Added] "Try it out" button for Authentication

Release Date: 30 Oct 2022

  • [Changed] API host to [Base URL: http://pt-api-ga.bluejeans.com]